CheckOpenGLX11()
CheckOpenGLESX11()
CheckWayland()
+ CheckTizen()
CheckVivante()
+ CheckKMSDRM()
+ endif()
+
+ if(UNIX)
+ file(GLOB CORE_UNIX_SOURCES ${SDL2_SOURCE_DIR}/src/core/unix/*.c)
+ set(SOURCE_FILES ${SOURCE_FILES} ${CORE_UNIX_SOURCES})
endif()
if(LINUX)
endif()
CheckPTHREAD()
+elseif(TIZEN)
+ if(SDL_VIDEO)
+ add_definitions(-D_EFL_BETA_API_SUPPORT)
+ if(VIDEO_VULKAN)
+ set(SDL_VIDEO_VULKAN 1)
+ set(HAVE_VIDEO_VULKAN TRUE)
+ set(SDL_CFLAGS "${SDL_CFLAGS} -I/usr/include")
+ endif()
+ endif()
endif()
+ if(VIDEO_VULKAN)
+ set(SDL_VIDEO_VULKAN 1)
+ endif()
+
# Dummies
# configure.in does it differently:
# if not have X
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-- <ItemGroup Label="ProjectConfigurations">
-- <ProjectConfiguration Include="Debug|Win32">
-- <Configuration>Debug</Configuration>
-- <Platform>Win32</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Debug|ARM">
-- <Configuration>Debug</Configuration>
-- <Platform>ARM</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|Win32">
-- <Configuration>Release</Configuration>
-- <Platform>Win32</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|ARM">
-- <Configuration>Release</Configuration>
-- <Platform>ARM</Platform>
-- </ProjectConfiguration>
-- </ItemGroup>
-- <PropertyGroup Label="Globals">
-- <ProjectGuid>{33048af1-031a-4ce6-b61e-fad2db832e9e}</ProjectGuid>
-- <RootNamespace>SDL</RootNamespace>
-- <DefaultLanguage>en-US</DefaultLanguage>
-- <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
-- <ProjectName>SDL2-WinPhone80</ProjectName>
-- </PropertyGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <UseDebugLibraries>true</UseDebugLibraries>
-- <PlatformToolset>v110_wp80</PlatformToolset>
-- <IgnoreImportLibrary>false</IgnoreImportLibrary>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <UseDebugLibraries>true</UseDebugLibraries>
-- <PlatformToolset>v110_wp80</PlatformToolset>
-- <IgnoreImportLibrary>false</IgnoreImportLibrary>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <UseDebugLibraries>false</UseDebugLibraries>
-- <WholeProgramOptimization>true</WholeProgramOptimization>
-- <PlatformToolset>v110_wp80</PlatformToolset>
-- <IgnoreImportLibrary>false</IgnoreImportLibrary>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <UseDebugLibraries>false</UseDebugLibraries>
-- <WholeProgramOptimization>true</WholeProgramOptimization>
-- <PlatformToolset>v110_wp80</PlatformToolset>
-- <IgnoreImportLibrary>false</IgnoreImportLibrary>
-- </PropertyGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-- <ImportGroup Label="PropertySheets">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- </ImportGroup>
-- <PropertyGroup Label="UserMacros" />
-- <PropertyGroup>
-- <GenerateManifest>false</GenerateManifest>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
-- <TargetName>SDL2</TargetName>
-- <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
-- <TargetName>SDL2</TargetName>
-- <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-- <TargetName>SDL2</TargetName>
-- <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-- <TargetName>SDL2</TargetName>
-- <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-- </PropertyGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-- <ClCompile>
-- <PreprocessorDefinitions>_USRDLL;UNICODE;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <PrecompiledHeader>NotUsing</PrecompiledHeader>
-- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
-- <CompileAsWinRT>false</CompileAsWinRT>
-- <AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
-- <AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
-- <MinimalRebuild>false</MinimalRebuild>
-- </ClCompile>
-- <Link>
-- <SubSystem>Console</SubSystem>
-- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
-- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <AdditionalDependencies>DXGI.lib;d3d11.lib;xaudio2.lib;WindowsPhoneCore.lib;RuntimeObject.lib;PhoneAppModelHost.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-- <ClCompile>
-- <PreprocessorDefinitions>_USRDLL;UNICODE;SDL_BUILDING_WINRT=1;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <PrecompiledHeader>NotUsing</PrecompiledHeader>
-- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
-- <CompileAsWinRT>false</CompileAsWinRT>
-- <AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
-- <AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
-- </ClCompile>
-- <Link>
-- <SubSystem>Console</SubSystem>
-- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
-- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <AdditionalDependencies>DXGI.lib;d3d11.lib;xaudio2.lib;WindowsPhoneCore.lib;RuntimeObject.lib;PhoneAppModelHost.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
-- <ClCompile>
-- <PreprocessorDefinitions>_USRDLL;UNICODE;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <PrecompiledHeader>NotUsing</PrecompiledHeader>
-- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
-- <CompileAsWinRT>false</CompileAsWinRT>
-- <AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
-- <AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
-- <MinimalRebuild>false</MinimalRebuild>
-- </ClCompile>
-- <Link>
-- <SubSystem>Console</SubSystem>
-- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
-- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <AdditionalDependencies>DXGI.lib;d3d11.lib;xaudio2.lib;WindowsPhoneCore.lib;RuntimeObject.lib;PhoneAppModelHost.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
-- <ClCompile>
-- <PreprocessorDefinitions>_USRDLL;UNICODE;SDL_BUILDING_WINRT=1;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- <PrecompiledHeader>NotUsing</PrecompiledHeader>
-- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
-- <CompileAsWinRT>false</CompileAsWinRT>
-- <AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
-- <AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
-- </ClCompile>
-- <Link>
-- <SubSystem>Console</SubSystem>
-- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
-- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
-- <GenerateDebugInformation>true</GenerateDebugInformation>
-- <AdditionalDependencies>DXGI.lib;d3d11.lib;xaudio2.lib;WindowsPhoneCore.lib;RuntimeObject.lib;PhoneAppModelHost.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemGroup>
-- <Reference Include="Windows">
-- <IsWinMDFile>true</IsWinMDFile>
-- </Reference>
-- <Reference Include="platform.winmd">
-- <IsWinMDFile>true</IsWinMDFile>
-- <Private>false</Private>
-- </Reference>
-- </ItemGroup>
-- <ItemGroup>
-- <ClInclude Include="..\..\include\begin_code.h" />
-- <ClInclude Include="..\..\include\close_code.h" />
-- <ClInclude Include="..\..\include\SDL.h" />
-- <ClInclude Include="..\..\include\SDL_assert.h" />
-- <ClInclude Include="..\..\include\SDL_atomic.h" />
-- <ClInclude Include="..\..\include\SDL_audio.h" />
-- <ClInclude Include="..\..\include\SDL_blendmode.h" />
-- <ClInclude Include="..\..\include\SDL_clipboard.h" />
-- <ClInclude Include="..\..\include\SDL_config.h" />
-- <ClInclude Include="..\..\include\SDL_config_minimal.h" />
-- <ClInclude Include="..\..\include\SDL_config_winrt.h" />
-- <ClInclude Include="..\..\include\SDL_copying.h" />
-- <ClInclude Include="..\..\include\SDL_cpuinfo.h" />
-- <ClInclude Include="..\..\include\SDL_endian.h" />
-- <ClInclude Include="..\..\include\SDL_error.h" />
-- <ClInclude Include="..\..\include\SDL_events.h" />
-- <ClInclude Include="..\..\include\SDL_filesystem.h" />
-- <ClInclude Include="..\..\include\SDL_haptic.h" />
-- <ClInclude Include="..\..\include\SDL_hints.h" />
-- <ClInclude Include="..\..\include\SDL_input.h" />
-- <ClInclude Include="..\..\include\SDL_joystick.h" />
-- <ClInclude Include="..\..\include\SDL_keyboard.h" />
-- <ClInclude Include="..\..\include\SDL_keycode.h" />
-- <ClInclude Include="..\..\include\SDL_loadso.h" />
-- <ClInclude Include="..\..\include\SDL_log.h" />
-- <ClInclude Include="..\..\include\SDL_main.h" />
-- <ClInclude Include="..\..\include\SDL_mouse.h" />
-- <ClInclude Include="..\..\include\SDL_mutex.h" />
-- <ClInclude Include="..\..\include\SDL_name.h" />
-- <ClInclude Include="..\..\include\SDL_pixels.h" />
-- <ClInclude Include="..\..\include\SDL_platform.h" />
-- <ClInclude Include="..\..\include\SDL_power.h" />
-- <ClInclude Include="..\..\include\SDL_quit.h" />
-- <ClInclude Include="..\..\include\SDL_rect.h" />
-- <ClInclude Include="..\..\include\SDL_render.h" />
-- <ClInclude Include="..\..\include\SDL_revision.h" />
-- <ClInclude Include="..\..\include\SDL_rwops.h" />
-- <ClInclude Include="..\..\include\SDL_scancode.h" />
-- <ClInclude Include="..\..\include\SDL_shape.h" />
-- <ClInclude Include="..\..\include\SDL_stdinc.h" />
-- <ClInclude Include="..\..\include\SDL_surface.h" />
-- <ClInclude Include="..\..\include\SDL_system.h" />
-- <ClInclude Include="..\..\include\SDL_syswm.h" />
-- <ClInclude Include="..\..\include\SDL_thread.h" />
-- <ClInclude Include="..\..\include\SDL_timer.h" />
-- <ClInclude Include="..\..\include\SDL_touch.h" />
-- <ClInclude Include="..\..\include\SDL_types.h" />
-- <ClInclude Include="..\..\include\SDL_version.h" />
-- <ClInclude Include="..\..\include\SDL_video.h" />
-- <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
-- <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
-- <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
-- <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
-- <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
-- <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
-- <ClInclude Include="..\..\src\audio\SDL_wave.h" />
-- <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
-- <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_common.h" />
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.h" />
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_xaml.h" />
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi.h" />
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi_overrides.h" />
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi_procs.h" />
-- <ClInclude Include="..\..\src\events\blank_cursor.h" />
-- <ClInclude Include="..\..\src\events\default_cursor.h" />
-- <ClInclude Include="..\..\src\events\SDL_clipboardevents_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_dropevents_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_events_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_keyboard_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_mouse_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_sysevents.h" />
-- <ClInclude Include="..\..\src\events\SDL_touch_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_windowevents_c.h" />
-- <ClInclude Include="..\..\src\haptic\SDL_haptic_c.h" />
-- <ClInclude Include="..\..\src\haptic\SDL_syshaptic.h" />
-- <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h" />
-- <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h" />
-- <ClInclude Include="..\..\src\joystick\windows\SDL_xinputjoystick_c.h" />
-- <ClInclude Include="..\..\src\render\direct3d11\SDL_render_winrt.h" />
-- <ClInclude Include="..\..\src\render\mmx.h" />
-- <ClInclude Include="..\..\src\render\opengles2\SDL_gles2funcs.h" />
-- <ClInclude Include="..\..\src\render\opengles2\SDL_shaders_gles2.h" />
-- <ClInclude Include="..\..\src\render\SDL_d3dmath.h" />
-- <ClInclude Include="..\..\src\render\SDL_sysrender.h" />
-- <ClInclude Include="..\..\src\render\SDL_yuv_sw_c.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_blendline.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_draw.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_drawline.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_drawpoint.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_render_sw_c.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_rotate.h" />
-- <ClInclude Include="..\..\src\SDL_assert_c.h" />
-- <ClInclude Include="..\..\src\SDL_error_c.h" />
-- <ClInclude Include="..\..\src\SDL_fatal.h" />
-- <ClInclude Include="..\..\src\SDL_hints_c.h" />
-- <ClInclude Include="..\..\src\thread\SDL_systhread.h" />
-- <ClInclude Include="..\..\src\thread\SDL_thread_c.h" />
-- <ClInclude Include="..\..\src\thread\stdcpp\SDL_sysmutex_c.h" />
-- <ClInclude Include="..\..\src\thread\stdcpp\SDL_systhread_c.h" />
-- <ClInclude Include="..\..\src\timer\SDL_timer_c.h" />
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullevents_c.h" />
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullframebuffer_c.h" />
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullvideo.h" />
-- <ClInclude Include="..\..\src\video\SDL_blit.h" />
-- <ClInclude Include="..\..\src\video\SDL_blit_auto.h" />
-- <ClInclude Include="..\..\src\video\SDL_blit_copy.h" />
-- <ClInclude Include="..\..\src\video\SDL_blit_slow.h" />
-- <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
-- <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
-- <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
-- <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
-- <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
-- <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
-- </ItemGroup>
-- <ItemGroup>
-- <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
-- <ClCompile Include="..\..\src\atomic\SDL_spinlock.c" />
-- <ClCompile Include="..\..\src\audio\disk\SDL_diskaudio.c" />
-- <ClCompile Include="..\..\src\audio\dummy\SDL_dummyaudio.c" />
-- <ClCompile Include="..\..\src\audio\SDL_audio.c" />
-- <ClCompile Include="..\..\src\audio\SDL_audiocvt.c" />
-- <ClCompile Include="..\..\src\audio\SDL_audiodev.c" />
-- <ClCompile Include="..\..\src\audio\SDL_audiotypecvt.c" />
-- <ClCompile Include="..\..\src\audio\SDL_mixer.c" />
-- <ClCompile Include="..\..\src\audio\SDL_wave.c" />
-- <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2.c" />
-- <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\windows\SDL_windows.c" />
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_common.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_xaml.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\cpuinfo\SDL_cpuinfo.c" />
-- <ClCompile Include="..\..\src\dynapi\SDL_dynapi.c" />
-- <ClCompile Include="..\..\src\events\SDL_clipboardevents.c" />
-- <ClCompile Include="..\..\src\events\SDL_dropevents.c" />
-- <ClCompile Include="..\..\src\events\SDL_events.c" />
-- <ClCompile Include="..\..\src\events\SDL_gesture.c" />
-- <ClCompile Include="..\..\src\events\SDL_keyboard.c" />
-- <ClCompile Include="..\..\src\events\SDL_mouse.c" />
-- <ClCompile Include="..\..\src\events\SDL_quit.c" />
-- <ClCompile Include="..\..\src\events\SDL_touch.c" />
-- <ClCompile Include="..\..\src\events\SDL_windowevents.c" />
-- <ClCompile Include="..\..\src\filesystem\winrt\SDL_sysfilesystem.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\file\SDL_rwops.c" />
-- <ClCompile Include="..\..\src\haptic\dummy\SDL_syshaptic.c" />
-- <ClCompile Include="..\..\src\haptic\SDL_haptic.c" />
-- <ClCompile Include="..\..\src\joystick\dummy\SDL_sysjoystick.c" />
-- <ClCompile Include="..\..\src\joystick\SDL_gamecontroller.c" />
-- <ClCompile Include="..\..\src\joystick\SDL_joystick.c" />
-- <ClCompile Include="..\..\src\joystick\windows\SDL_xinputjoystick.c" />
-- <ClCompile Include="..\..\src\loadso\windows\SDL_sysloadso.c" />
-- <ClCompile Include="..\..\src\power\SDL_power.c" />
-- <ClCompile Include="..\..\src\power\winrt\SDL_syspower.cpp" />
-- <ClCompile Include="..\..\src\render\direct3d11\SDL_render_d3d11.c" />
-- <ClCompile Include="..\..\src\render\direct3d11\SDL_render_winrt.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\opengles2\SDL_render_gles2.c" />
-- <ClCompile Include="..\..\src\render\opengles2\SDL_shaders_gles2.c" />
-- <ClCompile Include="..\..\src\render\SDL_d3dmath.c" />
-- <ClCompile Include="..\..\src\render\SDL_render.c" />
-- <ClCompile Include="..\..\src\render\SDL_yuv_mmx.c" />
-- <ClCompile Include="..\..\src\render\SDL_yuv_sw.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_blendfillrect.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_blendline.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_blendpoint.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_drawline.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_drawpoint.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_render_sw.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_rotate.c" />
-- <ClCompile Include="..\..\src\SDL.c" />
-- <ClCompile Include="..\..\src\SDL_assert.c" />
-- <ClCompile Include="..\..\src\SDL_error.c" />
-- <ClCompile Include="..\..\src\SDL_hints.c" />
-- <ClCompile Include="..\..\src\SDL_log.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_getenv.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_iconv.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_malloc.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_qsort.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_stdlib.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_string.c" />
-- <ClCompile Include="..\..\src\thread\generic\SDL_syssem.c" />
-- <ClCompile Include="..\..\src\thread\SDL_thread.c" />
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_syscond.cpp" />
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_sysmutex.cpp" />
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_systhread.cpp" />
-- <ClCompile Include="..\..\src\timer\SDL_timer.c" />
-- <ClCompile Include="..\..\src\timer\windows\SDL_systimer.c" />
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullevents.c" />
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullframebuffer.c" />
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullvideo.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_0.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_1.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_A.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_auto.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_copy.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_N.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_slow.c" />
-- <ClCompile Include="..\..\src\video\SDL_bmp.c" />
-- <ClCompile Include="..\..\src\video\SDL_clipboard.c" />
-- <ClCompile Include="..\..\src\video\SDL_egl.c" />
-- <ClCompile Include="..\..\src\video\SDL_fillrect.c" />
-- <ClCompile Include="..\..\src\video\SDL_pixels.c" />
-- <ClCompile Include="..\..\src\video\SDL_rect.c" />
-- <ClCompile Include="..\..\src\video\SDL_RLEaccel.c" />
-- <ClCompile Include="..\..\src\video\SDL_shape.c" />
-- <ClCompile Include="..\..\src\video\SDL_stretch.c" />
-- <ClCompile Include="..\..\src\video\SDL_surface.c" />
-- <ClCompile Include="..\..\src\video\SDL_video.c" />
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtevents.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtmessagebox.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtmouse.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtopengles.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtpointerinput.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtvideo.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- </ClCompile>
-- </ItemGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-- <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsPhone\v$(TargetPlatformVersion)\Microsoft.Cpp.WindowsPhone.$(TargetPlatformVersion).targets" />
-- <ImportGroup Label="ExtensionTargets">
-- </ImportGroup>
--</Project>
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-- <ItemGroup>
-- <Filter Include="Header Files">
-- <UniqueIdentifier>{02b21b9a-45a7-41ee-a8a6-e45d14aa28da}</UniqueIdentifier>
-- </Filter>
-- <Filter Include="Source Files">
-- <UniqueIdentifier>{abc3a7e6-f955-4cb5-8340-fae0f653e9c1}</UniqueIdentifier>
-- </Filter>
-- </ItemGroup>
-- <ItemGroup>
-- <ClInclude Include="..\..\include\begin_code.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\close_code.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_assert.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_atomic.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_audio.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_blendmode.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_clipboard.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_config.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_config_minimal.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_copying.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_cpuinfo.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_endian.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_error.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_events.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_haptic.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_hints.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_input.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_joystick.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_keyboard.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_keycode.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_loadso.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_log.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_main.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_mouse.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_mutex.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_name.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_pixels.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_platform.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_power.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_quit.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_rect.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_render.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_revision.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_rwops.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_scancode.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_shape.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_stdinc.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_surface.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_system.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_syswm.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_thread.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_timer.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_touch.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_types.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_version.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_video.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\SDL_audiomem.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\SDL_audio_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\SDL_sysaudio.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\SDL_wave.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\core\windows\SDL_windows.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\blank_cursor.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\default_cursor.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_clipboardevents_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_dropevents_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_events_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_keyboard_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_mouse_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_sysevents.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_touch_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_windowevents_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\haptic\SDL_haptic_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\haptic\SDL_syshaptic.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\mmx.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\SDL_sysrender.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\SDL_yuv_sw_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_blendline.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_draw.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_drawline.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_drawpoint.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_render_sw_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_rotate.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\SDL_assert_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\SDL_error_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\SDL_fatal.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\SDL_hints_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\thread\SDL_systhread.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\thread\SDL_thread_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\thread\stdcpp\SDL_sysmutex_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\thread\stdcpp\SDL_systhread_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\timer\SDL_timer_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullevents_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullframebuffer_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullvideo.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_blit.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_blit_auto.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_blit_copy.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_blit_slow.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_pixels_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_rect_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_shape_internals.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_sysvideo.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_config_winrt.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_xaml.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_common.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_filesystem.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\SDL_d3dmath.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi_overrides.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi_procs.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\direct3d11\SDL_render_winrt.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\joystick\windows\SDL_xinputjoystick_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\opengles2\SDL_gles2funcs.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\opengles2\SDL_shaders_gles2.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_egl_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- </ItemGroup>
-- <ItemGroup>
-- <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\atomic\SDL_spinlock.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\disk\SDL_diskaudio.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\dummy\SDL_dummyaudio.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_audio.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_audiocvt.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_audiodev.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_audiotypecvt.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_mixer.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_wave.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\windows\SDL_windows.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\cpuinfo\SDL_cpuinfo.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_clipboardevents.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_dropevents.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_events.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_gesture.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_keyboard.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_mouse.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_quit.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_touch.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_windowevents.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\file\SDL_rwops.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\haptic\dummy\SDL_syshaptic.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\haptic\SDL_haptic.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\joystick\dummy\SDL_sysjoystick.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\joystick\SDL_joystick.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\loadso\windows\SDL_sysloadso.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\SDL_render.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\SDL_yuv_mmx.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\SDL_yuv_sw.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_blendfillrect.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_blendline.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_blendpoint.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_drawline.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_drawpoint.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_render_sw.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_rotate.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\SDL.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\SDL_assert.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\SDL_error.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\SDL_hints.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\SDL_log.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_getenv.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_iconv.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_qsort.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_stdlib.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_string.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\thread\generic\SDL_syssem.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\thread\SDL_thread.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_syscond.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_sysmutex.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_systhread.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\timer\SDL_timer.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\timer\windows\SDL_systimer.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullevents.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullframebuffer.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullvideo.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_0.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_1.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_A.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_auto.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_copy.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_N.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_slow.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_bmp.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_clipboard.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_fillrect.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_pixels.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_rect.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_RLEaccel.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_shape.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_stretch.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_surface.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_video.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\joystick\SDL_gamecontroller.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_malloc.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtevents.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtmouse.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtvideo.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtpointerinput.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_xaml.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_common.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\filesystem\winrt\SDL_sysfilesystem.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\direct3d11\SDL_render_d3d11.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\SDL_d3dmath.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\dynapi\SDL_dynapi.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\power\winrt\SDL_syspower.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\power\SDL_power.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\direct3d11\SDL_render_winrt.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtmessagebox.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\joystick\windows\SDL_xinputjoystick.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\opengles2\SDL_render_gles2.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\opengles2\SDL_shaders_gles2.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtopengles.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_egl.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- </ItemGroup>
--</Project>
+++ /dev/null
--
--Microsoft Visual Studio Solution File, Format Version 12.00
--# Visual Studio 2012
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL-WinRT", "SDL-WinRT80.vcxproj", "{AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}"
--EndProject
--Global
-- GlobalSection(SolutionConfigurationPlatforms) = preSolution
-- Debug|ARM = Debug|ARM
-- Debug|Win32 = Debug|Win32
-- Debug|x64 = Debug|x64
-- Release|ARM = Release|ARM
-- Release|Win32 = Release|Win32
-- Release|x64 = Release|x64
-- EndGlobalSection
-- GlobalSection(ProjectConfigurationPlatforms) = postSolution
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Debug|ARM.ActiveCfg = Debug|ARM
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Debug|ARM.Build.0 = Debug|ARM
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Debug|Win32.ActiveCfg = Debug|Win32
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Debug|Win32.Build.0 = Debug|Win32
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Debug|x64.ActiveCfg = Debug|x64
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Debug|x64.Build.0 = Debug|x64
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Release|ARM.ActiveCfg = Release|ARM
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Release|ARM.Build.0 = Release|ARM
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Release|Win32.ActiveCfg = Release|Win32
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Release|Win32.Build.0 = Release|Win32
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Release|x64.ActiveCfg = Release|x64
-- {AEAEA3A2-D4E6-45B1-8EC6-53D84287FC14}.Release|x64.Build.0 = Release|x64
-- EndGlobalSection
-- GlobalSection(SolutionProperties) = preSolution
-- HideSolutionNode = FALSE
-- EndGlobalSection
--EndGlobal
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-- <ItemGroup Label="ProjectConfigurations">
-- <ProjectConfiguration Include="Debug|ARM">
-- <Configuration>Debug</Configuration>
-- <Platform>ARM</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Debug|Win32">
-- <Configuration>Debug</Configuration>
-- <Platform>Win32</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Debug|x64">
-- <Configuration>Debug</Configuration>
-- <Platform>x64</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|ARM">
-- <Configuration>Release</Configuration>
-- <Platform>ARM</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|Win32">
-- <Configuration>Release</Configuration>
-- <Platform>Win32</Platform>
-- </ProjectConfiguration>
-- <ProjectConfiguration Include="Release|x64">
-- <Configuration>Release</Configuration>
-- <Platform>x64</Platform>
-- </ProjectConfiguration>
-- </ItemGroup>
-- <ItemGroup>
-- <ClCompile Include="..\..\src\atomic\SDL_atomic.c" />
-- <ClCompile Include="..\..\src\atomic\SDL_spinlock.c" />
-- <ClCompile Include="..\..\src\audio\disk\SDL_diskaudio.c" />
-- <ClCompile Include="..\..\src\audio\dummy\SDL_dummyaudio.c" />
-- <ClCompile Include="..\..\src\audio\SDL_audio.c" />
-- <ClCompile Include="..\..\src\audio\SDL_audiocvt.c" />
-- <ClCompile Include="..\..\src\audio\SDL_audiodev.c" />
-- <ClCompile Include="..\..\src\audio\SDL_audiotypecvt.c" />
-- <ClCompile Include="..\..\src\audio\SDL_mixer.c" />
-- <ClCompile Include="..\..\src\audio\SDL_wave.c" />
-- <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2.c" />
-- <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\windows\SDL_windows.c" />
-- <ClCompile Include="..\..\src\core\windows\SDL_xinput.c" />
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_common.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_xaml.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\cpuinfo\SDL_cpuinfo.c" />
-- <ClCompile Include="..\..\src\dynapi\SDL_dynapi.c" />
-- <ClCompile Include="..\..\src\events\SDL_clipboardevents.c" />
-- <ClCompile Include="..\..\src\events\SDL_dropevents.c" />
-- <ClCompile Include="..\..\src\events\SDL_events.c" />
-- <ClCompile Include="..\..\src\events\SDL_gesture.c" />
-- <ClCompile Include="..\..\src\events\SDL_keyboard.c" />
-- <ClCompile Include="..\..\src\events\SDL_mouse.c" />
-- <ClCompile Include="..\..\src\events\SDL_quit.c" />
-- <ClCompile Include="..\..\src\events\SDL_touch.c" />
-- <ClCompile Include="..\..\src\events\SDL_windowevents.c" />
-- <ClCompile Include="..\..\src\filesystem\winrt\SDL_sysfilesystem.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\file\SDL_rwops.c" />
-- <ClCompile Include="..\..\src\haptic\dummy\SDL_syshaptic.c" />
-- <ClCompile Include="..\..\src\haptic\SDL_haptic.c" />
-- <ClCompile Include="..\..\src\haptic\windows\SDL_dinputhaptic.c" />
-- <ClCompile Include="..\..\src\haptic\windows\SDL_windowshaptic.c" />
-- <ClCompile Include="..\..\src\haptic\windows\SDL_xinputhaptic.c" />
-- <ClCompile Include="..\..\src\joystick\SDL_gamecontroller.c" />
-- <ClCompile Include="..\..\src\joystick\SDL_joystick.c" />
-- <ClCompile Include="..\..\src\joystick\windows\SDL_dinputjoystick.c" />
-- <ClCompile Include="..\..\src\joystick\windows\SDL_windowsjoystick.c" />
-- <ClCompile Include="..\..\src\joystick\windows\SDL_xinputjoystick.c" />
-- <ClCompile Include="..\..\src\loadso\windows\SDL_sysloadso.c" />
-- <ClCompile Include="..\..\src\power\SDL_power.c" />
-- <ClCompile Include="..\..\src\power\winrt\SDL_syspower.cpp" />
-- <ClCompile Include="..\..\src\render\direct3d11\SDL_render_d3d11.c" />
-- <ClCompile Include="..\..\src\render\direct3d11\SDL_render_winrt.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\opengles2\SDL_render_gles2.c" />
-- <ClCompile Include="..\..\src\render\opengles2\SDL_shaders_gles2.c" />
-- <ClCompile Include="..\..\src\render\SDL_d3dmath.c" />
-- <ClCompile Include="..\..\src\render\SDL_render.c" />
-- <ClCompile Include="..\..\src\render\SDL_yuv_mmx.c" />
-- <ClCompile Include="..\..\src\render\SDL_yuv_sw.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_blendfillrect.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_blendline.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_blendpoint.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_drawline.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_drawpoint.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_render_sw.c" />
-- <ClCompile Include="..\..\src\render\software\SDL_rotate.c" />
-- <ClCompile Include="..\..\src\SDL.c" />
-- <ClCompile Include="..\..\src\SDL_assert.c" />
-- <ClCompile Include="..\..\src\SDL_error.c" />
-- <ClCompile Include="..\..\src\SDL_hints.c" />
-- <ClCompile Include="..\..\src\SDL_log.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_getenv.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_iconv.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_malloc.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_qsort.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_stdlib.c" />
-- <ClCompile Include="..\..\src\stdlib\SDL_string.c" />
-- <ClCompile Include="..\..\src\thread\generic\SDL_syssem.c" />
-- <ClCompile Include="..\..\src\thread\SDL_thread.c" />
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_syscond.cpp" />
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_sysmutex.cpp" />
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_systhread.cpp" />
-- <ClCompile Include="..\..\src\timer\SDL_timer.c" />
-- <ClCompile Include="..\..\src\timer\windows\SDL_systimer.c" />
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullevents.c" />
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullframebuffer.c" />
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullvideo.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_0.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_1.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_A.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_auto.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_copy.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_N.c" />
-- <ClCompile Include="..\..\src\video\SDL_blit_slow.c" />
-- <ClCompile Include="..\..\src\video\SDL_bmp.c" />
-- <ClCompile Include="..\..\src\video\SDL_clipboard.c" />
-- <ClCompile Include="..\..\src\video\SDL_egl.c" />
-- <ClCompile Include="..\..\src\video\SDL_fillrect.c" />
-- <ClCompile Include="..\..\src\video\SDL_pixels.c" />
-- <ClCompile Include="..\..\src\video\SDL_rect.c" />
-- <ClCompile Include="..\..\src\video\SDL_RLEaccel.c" />
-- <ClCompile Include="..\..\src\video\SDL_shape.c" />
-- <ClCompile Include="..\..\src\video\SDL_stretch.c" />
-- <ClCompile Include="..\..\src\video\SDL_surface.c" />
-- <ClCompile Include="..\..\src\video\SDL_video.c" />
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtevents.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtmessagebox.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtmouse.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtopengles.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtpointerinput.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtvideo.cpp">
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</CompileAsWinRT>
-- <CompileAsWinRT Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</CompileAsWinRT>
-- </ClCompile>
-- </ItemGroup>
-- <ItemGroup>
-- <ClInclude Include="..\..\include\begin_code.h" />
-- <ClInclude Include="..\..\include\close_code.h" />
-- <ClInclude Include="..\..\include\SDL.h" />
-- <ClInclude Include="..\..\include\SDL_assert.h" />
-- <ClInclude Include="..\..\include\SDL_atomic.h" />
-- <ClInclude Include="..\..\include\SDL_audio.h" />
-- <ClInclude Include="..\..\include\SDL_blendmode.h" />
-- <ClInclude Include="..\..\include\SDL_clipboard.h" />
-- <ClInclude Include="..\..\include\SDL_config.h" />
-- <ClInclude Include="..\..\include\SDL_config_minimal.h" />
-- <ClInclude Include="..\..\include\SDL_config_winrt.h" />
-- <ClInclude Include="..\..\include\SDL_copying.h" />
-- <ClInclude Include="..\..\include\SDL_cpuinfo.h" />
-- <ClInclude Include="..\..\include\SDL_egl.h" />
-- <ClInclude Include="..\..\include\SDL_endian.h" />
-- <ClInclude Include="..\..\include\SDL_error.h" />
-- <ClInclude Include="..\..\include\SDL_events.h" />
-- <ClInclude Include="..\..\include\SDL_filesystem.h" />
-- <ClInclude Include="..\..\include\SDL_haptic.h" />
-- <ClInclude Include="..\..\include\SDL_hints.h" />
-- <ClInclude Include="..\..\include\SDL_input.h" />
-- <ClInclude Include="..\..\include\SDL_joystick.h" />
-- <ClInclude Include="..\..\include\SDL_keyboard.h" />
-- <ClInclude Include="..\..\include\SDL_keycode.h" />
-- <ClInclude Include="..\..\include\SDL_loadso.h" />
-- <ClInclude Include="..\..\include\SDL_log.h" />
-- <ClInclude Include="..\..\include\SDL_main.h" />
-- <ClInclude Include="..\..\include\SDL_mouse.h" />
-- <ClInclude Include="..\..\include\SDL_mutex.h" />
-- <ClInclude Include="..\..\include\SDL_name.h" />
-- <ClInclude Include="..\..\include\SDL_opengles2.h" />
-- <ClInclude Include="..\..\include\SDL_pixels.h" />
-- <ClInclude Include="..\..\include\SDL_platform.h" />
-- <ClInclude Include="..\..\include\SDL_power.h" />
-- <ClInclude Include="..\..\include\SDL_quit.h" />
-- <ClInclude Include="..\..\include\SDL_rect.h" />
-- <ClInclude Include="..\..\include\SDL_render.h" />
-- <ClInclude Include="..\..\include\SDL_revision.h" />
-- <ClInclude Include="..\..\include\SDL_rwops.h" />
-- <ClInclude Include="..\..\include\SDL_scancode.h" />
-- <ClInclude Include="..\..\include\SDL_shape.h" />
-- <ClInclude Include="..\..\include\SDL_stdinc.h" />
-- <ClInclude Include="..\..\include\SDL_surface.h" />
-- <ClInclude Include="..\..\include\SDL_system.h" />
-- <ClInclude Include="..\..\include\SDL_syswm.h" />
-- <ClInclude Include="..\..\include\SDL_thread.h" />
-- <ClInclude Include="..\..\include\SDL_timer.h" />
-- <ClInclude Include="..\..\include\SDL_touch.h" />
-- <ClInclude Include="..\..\include\SDL_types.h" />
-- <ClInclude Include="..\..\include\SDL_version.h" />
-- <ClInclude Include="..\..\include\SDL_video.h" />
-- <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h" />
-- <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h" />
-- <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h" />
-- <ClInclude Include="..\..\src\audio\SDL_audiomem.h" />
-- <ClInclude Include="..\..\src\audio\SDL_audio_c.h" />
-- <ClInclude Include="..\..\src\audio\SDL_sysaudio.h" />
-- <ClInclude Include="..\..\src\audio\SDL_wave.h" />
-- <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h" />
-- <ClInclude Include="..\..\src\core\windows\SDL_directx.h" />
-- <ClInclude Include="..\..\src\core\windows\SDL_windows.h" />
-- <ClInclude Include="..\..\src\core\windows\SDL_xinput.h" />
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_common.h" />
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.h" />
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_xaml.h" />
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi.h" />
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi_overrides.h" />
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi_procs.h" />
-- <ClInclude Include="..\..\src\events\blank_cursor.h" />
-- <ClInclude Include="..\..\src\events\default_cursor.h" />
-- <ClInclude Include="..\..\src\events\SDL_clipboardevents_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_dropevents_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_events_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_keyboard_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_mouse_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_sysevents.h" />
-- <ClInclude Include="..\..\src\events\SDL_touch_c.h" />
-- <ClInclude Include="..\..\src\events\SDL_windowevents_c.h" />
-- <ClInclude Include="..\..\src\haptic\SDL_haptic_c.h" />
-- <ClInclude Include="..\..\src\haptic\SDL_syshaptic.h" />
-- <ClInclude Include="..\..\src\haptic\windows\SDL_dinputhaptic_c.h" />
-- <ClInclude Include="..\..\src\haptic\windows\SDL_windowshaptic_c.h" />
-- <ClInclude Include="..\..\src\haptic\windows\SDL_xinputhaptic_c.h" />
-- <ClInclude Include="..\..\src\joystick\SDL_gamecontrollerdb.h" />
-- <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h" />
-- <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h" />
-- <ClInclude Include="..\..\src\joystick\windows\SDL_dinputjoystick_c.h" />
-- <ClInclude Include="..\..\src\joystick\windows\SDL_windowsjoystick_c.h" />
-- <ClInclude Include="..\..\src\joystick\windows\SDL_xinputjoystick_c.h" />
-- <ClInclude Include="..\..\src\render\direct3d11\SDL_render_winrt.h" />
-- <ClInclude Include="..\..\src\render\mmx.h" />
-- <ClInclude Include="..\..\src\render\opengles2\SDL_gles2funcs.h" />
-- <ClInclude Include="..\..\src\render\opengles2\SDL_shaders_gles2.h" />
-- <ClInclude Include="..\..\src\render\SDL_d3dmath.h" />
-- <ClInclude Include="..\..\src\render\SDL_sysrender.h" />
-- <ClInclude Include="..\..\src\render\SDL_yuv_sw_c.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_blendline.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_draw.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_drawline.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_drawpoint.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_render_sw_c.h" />
-- <ClInclude Include="..\..\src\render\software\SDL_rotate.h" />
-- <ClInclude Include="..\..\src\SDL_assert_c.h" />
-- <ClInclude Include="..\..\src\SDL_error_c.h" />
-- <ClInclude Include="..\..\src\SDL_fatal.h" />
-- <ClInclude Include="..\..\src\SDL_hints_c.h" />
-- <ClInclude Include="..\..\src\SDL_internal.h" />
-- <ClInclude Include="..\..\src\thread\SDL_systhread.h" />
-- <ClInclude Include="..\..\src\thread\SDL_thread_c.h" />
-- <ClInclude Include="..\..\src\thread\stdcpp\SDL_sysmutex_c.h" />
-- <ClInclude Include="..\..\src\thread\stdcpp\SDL_systhread_c.h" />
-- <ClInclude Include="..\..\src\timer\SDL_timer_c.h" />
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullevents_c.h" />
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullframebuffer_c.h" />
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullvideo.h" />
-- <ClInclude Include="..\..\src\video\SDL_blit.h" />
-- <ClInclude Include="..\..\src\video\SDL_blit_auto.h" />
-- <ClInclude Include="..\..\src\video\SDL_blit_copy.h" />
-- <ClInclude Include="..\..\src\video\SDL_blit_slow.h" />
-- <ClInclude Include="..\..\src\video\SDL_egl_c.h" />
-- <ClInclude Include="..\..\src\video\SDL_pixels_c.h" />
-- <ClInclude Include="..\..\src\video\SDL_rect_c.h" />
-- <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h" />
-- <ClInclude Include="..\..\src\video\SDL_shape_internals.h" />
-- <ClInclude Include="..\..\src\video\SDL_sysvideo.h" />
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h" />
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h" />
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h" />
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h" />
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h" />
-- </ItemGroup>
-- <PropertyGroup Label="Globals">
-- <ProjectGuid>{aeaea3a2-d4e6-45b1-8ec6-53d84287fc14}</ProjectGuid>
-- <Keyword>Win32Proj</Keyword>
-- <ProjectName>SDL2-WinRT80</ProjectName>
-- <RootNamespace>SDL_VS2012_WinRT</RootNamespace>
-- <DefaultLanguage>en-US</DefaultLanguage>
-- <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
-- <AppContainerApplication>true</AppContainerApplication>
-- </PropertyGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <UseDebugLibraries>true</UseDebugLibraries>
-- <PlatformToolset>v110</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <UseDebugLibraries>true</UseDebugLibraries>
-- <PlatformToolset>v110</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <UseDebugLibraries>true</UseDebugLibraries>
-- <PlatformToolset>v110</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <UseDebugLibraries>false</UseDebugLibraries>
-- <WholeProgramOptimization>true</WholeProgramOptimization>
-- <PlatformToolset>v110</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <UseDebugLibraries>false</UseDebugLibraries>
-- <WholeProgramOptimization>true</WholeProgramOptimization>
-- <PlatformToolset>v110</PlatformToolset>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-- <ConfigurationType>DynamicLibrary</ConfigurationType>
-- <UseDebugLibraries>false</UseDebugLibraries>
-- <WholeProgramOptimization>true</WholeProgramOptimization>
-- <PlatformToolset>v110</PlatformToolset>
-- </PropertyGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- </ImportGroup>
-- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- </ImportGroup>
-- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- </ImportGroup>
-- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- </ImportGroup>
-- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- </ImportGroup>
-- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-- </ImportGroup>
-- <PropertyGroup Label="UserMacros" />
-- <PropertyGroup />
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-- <GenerateManifest>false</GenerateManifest>
-- <IgnoreImportLibrary>false</IgnoreImportLibrary>
-- <TargetName>SDL2</TargetName>
-- <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-- <GenerateManifest>false</GenerateManifest>
-- <IgnoreImportLibrary>false</IgnoreImportLibrary>
-- <TargetName>SDL2</TargetName>
-- <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
-- <GenerateManifest>false</GenerateManifest>
-- <IgnoreImportLibrary>false</IgnoreImportLibrary>
-- <TargetName>SDL2</TargetName>
-- <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
-- <GenerateManifest>false</GenerateManifest>
-- <IgnoreImportLibrary>false</IgnoreImportLibrary>
-- <TargetName>SDL2</TargetName>
-- <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-- <GenerateManifest>false</GenerateManifest>
-- <IgnoreImportLibrary>false</IgnoreImportLibrary>
-- <TargetName>SDL2</TargetName>
-- <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-- </PropertyGroup>
-- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-- <GenerateManifest>false</GenerateManifest>
-- <IgnoreImportLibrary>false</IgnoreImportLibrary>
-- <TargetName>SDL2</TargetName>
-- <IntDir>Objs\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
-- </PropertyGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-- <ClCompile>
-- <PrecompiledHeader>NotUsing</PrecompiledHeader>
-- <CompileAsWinRT>false</CompileAsWinRT>
-- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>_WINDLL;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- </ClCompile>
-- <Link>
-- <SubSystem>Console</SubSystem>
-- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
-- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
-- <AdditionalDependencies>xinput.lib;xaudio2.lib;d2d1.lib;d3d11.lib;dxgi.lib;ole32.lib;windowscodecs.lib;dwrite.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-- <ClCompile>
-- <PrecompiledHeader>NotUsing</PrecompiledHeader>
-- <CompileAsWinRT>false</CompileAsWinRT>
-- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>_WINDLL;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- </ClCompile>
-- <Link>
-- <SubSystem>Console</SubSystem>
-- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
-- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
-- <AdditionalDependencies>xinput.lib;xaudio2.lib;d2d1.lib;d3d11.lib;dxgi.lib;ole32.lib;windowscodecs.lib;dwrite.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
-- <ClCompile>
-- <PrecompiledHeader>NotUsing</PrecompiledHeader>
-- <CompileAsWinRT>false</CompileAsWinRT>
-- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>_WINDLL;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- </ClCompile>
-- <Link>
-- <SubSystem>Console</SubSystem>
-- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
-- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
-- <AdditionalDependencies>xinput.lib;xaudio2.lib;d2d1.lib;d3d11.lib;dxgi.lib;ole32.lib;windowscodecs.lib;dwrite.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
-- <ClCompile>
-- <PrecompiledHeader>NotUsing</PrecompiledHeader>
-- <CompileAsWinRT>false</CompileAsWinRT>
-- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>_WINDLL;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- </ClCompile>
-- <Link>
-- <SubSystem>Console</SubSystem>
-- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
-- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
-- <AdditionalDependencies>xinput.lib;xaudio2.lib;d2d1.lib;d3d11.lib;dxgi.lib;ole32.lib;windowscodecs.lib;dwrite.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-- <ClCompile>
-- <PrecompiledHeader>NotUsing</PrecompiledHeader>
-- <CompileAsWinRT>false</CompileAsWinRT>
-- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>_WINDLL;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- </ClCompile>
-- <Link>
-- <SubSystem>Console</SubSystem>
-- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
-- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
-- <AdditionalDependencies>xinput.lib;xaudio2.lib;d2d1.lib;d3d11.lib;dxgi.lib;ole32.lib;windowscodecs.lib;dwrite.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-- <ClCompile>
-- <PrecompiledHeader>NotUsing</PrecompiledHeader>
-- <CompileAsWinRT>false</CompileAsWinRT>
-- <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-- <PreprocessorDefinitions>_WINDLL;_CRT_SECURE_NO_WARNINGS;SDL_BUILDING_WINRT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-- </ClCompile>
-- <Link>
-- <SubSystem>Console</SubSystem>
-- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
-- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
-- <AdditionalDependencies>xinput.lib;xaudio2.lib;d2d1.lib;d3d11.lib;dxgi.lib;ole32.lib;windowscodecs.lib;dwrite.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-- </Link>
-- </ItemDefinitionGroup>
-- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-- <ImportGroup Label="ExtensionTargets">
-- </ImportGroup>
--</Project>
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-- <ItemGroup>
-- <ClCompile Include="..\..\src\SDL.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\SDL_assert.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\atomic\SDL_atomic.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_audio.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_audiocvt.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_audiodev.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_audiotypecvt.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_blendfillrect.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_blendline.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_blendpoint.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_0.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_1.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_A.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_auto.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_copy.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_N.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_blit_slow.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_bmp.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_clipboard.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_clipboardevents.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\disk\SDL_diskaudio.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_drawline.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_drawpoint.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_dropevents.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\dummy\SDL_dummyaudio.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\SDL_error.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_events.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_fillrect.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_gesture.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_getenv.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\haptic\SDL_haptic.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\SDL_hints.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_iconv.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\joystick\SDL_joystick.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_keyboard.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\SDL_log.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_mixer.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_mouse.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullevents.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullframebuffer.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\dummy\SDL_nullvideo.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_pixels.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_qsort.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_quit.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_rect.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\SDL_render.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_render_sw.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_RLEaccel.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\software\SDL_rotate.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\file\SDL_rwops.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_shape.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\atomic\SDL_spinlock.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_stdlib.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_stretch.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_string.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_surface.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_syscond.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\haptic\dummy\SDL_syshaptic.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\loadso\windows\SDL_sysloadso.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_sysmutex.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\thread\generic\SDL_syssem.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\thread\stdcpp\SDL_systhread.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\timer\windows\SDL_systimer.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\thread\SDL_thread.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\timer\SDL_timer.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_touch.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_video.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\SDL_wave.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\events\SDL_windowevents.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\windows\SDL_windows.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\SDL_yuv_mmx.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\SDL_yuv_sw.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\cpuinfo\SDL_cpuinfo.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\joystick\SDL_gamecontroller.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\stdlib\SDL_malloc.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtevents.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtmouse.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtvideo.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtkeyboard.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtpointerinput.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_xaml.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\winrt\SDL_winrtapp_common.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\filesystem\winrt\SDL_sysfilesystem.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\SDL_egl.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtopengles.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\opengles2\SDL_render_gles2.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\opengles2\SDL_shaders_gles2.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\direct3d11\SDL_render_d3d11.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\SDL_d3dmath.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\dynapi\SDL_dynapi.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\power\SDL_power.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\render\direct3d11\SDL_render_winrt.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\power\winrt\SDL_syspower.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\video\winrt\SDL_winrtmessagebox.cpp">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\joystick\windows\SDL_xinputjoystick.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\joystick\windows\SDL_windowsjoystick.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\joystick\windows\SDL_dinputjoystick.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\core\windows\SDL_xinput.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\haptic\windows\SDL_dinputhaptic.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\haptic\windows\SDL_xinputhaptic.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- <ClCompile Include="..\..\src\haptic\windows\SDL_windowshaptic.c">
-- <Filter>Source Files</Filter>
-- </ClCompile>
-- </ItemGroup>
-- <ItemGroup>
-- <ClInclude Include="..\..\include\begin_code.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\close_code.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_assert.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\SDL_error_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_events_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\haptic\SDL_haptic_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\SDL_hints_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_mouse_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\thread\stdcpp\SDL_sysmutex_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_types.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\SDL_assert_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\SDL_audio_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\SDL_audiodev_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_clipboardevents_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_dropevents_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\joystick\SDL_joystick_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_keyboard_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullevents_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullframebuffer_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_pixels_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_render_sw_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_RLEaccel_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\thread\stdcpp\SDL_systhread_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\thread\SDL_thread_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\timer\SDL_timer_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_touch_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_windowevents_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\SDL_yuv_sw_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_audio.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_atomic.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_blendmode.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_clipboard.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\SDL_audiomem.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_blendfillrect.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_blendline.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_blendpoint.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_blit.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_blit_auto.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_blit_copy.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_blit_slow.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\mmx.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_config.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_config_minimal.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_copying.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_cpuinfo.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\disk\SDL_diskaudio.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_draw.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_drawline.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_drawpoint.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\dummy\SDL_dummyaudio.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_endian.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_error.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_events.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\SDL_fatal.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_main.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_haptic.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_hints.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_input.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_joystick.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_keyboard.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_keycode.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_loadso.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_log.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_name.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_mouse.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_mutex.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\dummy\SDL_nullvideo.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_quit.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_pixels.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_platform.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_power.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_rect_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_rect.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\software\SDL_rotate.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_shape.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_render.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_revision.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_rwops.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_scancode.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_surface.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_stdinc.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_video.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_syswm.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_thread.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_timer.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_touch.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_version.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_shape_internals.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\SDL_sysaudio.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\SDL_sysevents.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\haptic\SDL_syshaptic.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\joystick\SDL_sysjoystick.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\SDL_sysrender.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\thread\SDL_systhread.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_sysvideo.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\SDL_wave.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\core\windows\SDL_windows.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\audio\xaudio2\SDL_xaudio2_winrthelpers.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\blank_cursor.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\events\default_cursor.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_system.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\joystick\SDL_gamecontrollerdb.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtevents_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtvideo_cpp.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtmouse_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_config_winrt.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_direct3d.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_xaml.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\core\winrt\SDL_winrtapp_common.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_filesystem.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtopengles.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_opengles2.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\include\SDL_egl.h">
-- <Filter>Header Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\opengles2\SDL_gles2funcs.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\opengles2\SDL_shaders_gles2.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\SDL_internal.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\SDL_d3dmath.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi_overrides.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\dynapi\SDL_dynapi_procs.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\render\direct3d11\SDL_render_winrt.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\SDL_egl_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\video\winrt\SDL_winrtmessagebox.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\joystick\windows\SDL_windowsjoystick_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\joystick\windows\SDL_xinputjoystick_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\joystick\windows\SDL_dinputjoystick_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\core\windows\SDL_xinput.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\core\windows\SDL_directx.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\haptic\windows\SDL_windowshaptic_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\haptic\windows\SDL_dinputhaptic_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- <ClInclude Include="..\..\src\haptic\windows\SDL_xinputhaptic_c.h">
-- <Filter>Source Files</Filter>
-- </ClInclude>
-- </ItemGroup>
-- <ItemGroup>
-- <Filter Include="Header Files">
-- <UniqueIdentifier>{20773b57-7034-4c24-af5a-334844585f1b}</UniqueIdentifier>
-- </Filter>
-- <Filter Include="Source Files">
-- <UniqueIdentifier>{ddf04d85-6a87-4c5a-bc52-869b38f45a61}</UniqueIdentifier>
-- </Filter>
-- </ItemGroup>
--</Project>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="SDL2"
-- ProjectGUID="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- RootNamespace="SDL"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="2"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- CommandLine=""
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/SDL.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- InlineFunctionExpansion="1"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="_DEBUG;_WINDOWS"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- Detect64BitPortabilityProblems="false"
-- DebugInformationFormat="1"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- AdditionalDependencies="winmm.lib imm32.lib version.lib"
-- IgnoreAllDefaultLibraries="true"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="2"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/SDL.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- InlineFunctionExpansion="1"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="_DEBUG;_WINDOWS"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- AdditionalDependencies="winmm.lib imm32.lib version.lib"
-- IgnoreAllDefaultLibraries="true"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="2"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- CommandLine=""
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/SDL.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- InlineFunctionExpansion="1"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="NDEBUG;_WINDOWS"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="3"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- AdditionalDependencies="winmm.lib imm32.lib version.lib"
-- IgnoreAllDefaultLibraries="true"
-- GenerateDebugInformation="false"
-- SubSystem="2"
-- OptimizeReferences="2"
-- EnableCOMDATFolding="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="2"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/SDL.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- InlineFunctionExpansion="1"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="NDEBUG;_WINDOWS"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="3"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- AdditionalDependencies="winmm.lib imm32.lib version.lib"
-- IgnoreAllDefaultLibraries="true"
-- GenerateDebugInformation="false"
-- SubSystem="2"
-- OptimizeReferences="2"
-- EnableCOMDATFolding="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- </References>
-- <Files>
-- <Filter
-- Name="API Headers"
-- >
-- <File
-- RelativePath="..\..\include\begin_code.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\close_code.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_assert.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_atomic.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_audio.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_bits.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_blendmode.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_clipboard.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_config.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_config_windows.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_copying.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_cpuinfo.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_egl.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_endian.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_error.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_events.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_filesystem.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_gamecontroller.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_gesture.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_haptic.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_hints.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_joystick.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_keyboard.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_keycode.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_loadso.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_log.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_main.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_messagebox.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_mouse.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_mutex.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_name.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_opengl.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_opengl_glext.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_opengles.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_opengles2.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_opengles2_gl2.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_opengles2_gl2ext.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_opengles2_gl2platform.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_opengles2_khrplatform.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_pixels.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_platform.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_power.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_quit.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_rect.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_render.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_revision.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_rwops.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_scancode.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_shape.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_stdinc.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_surface.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_system.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_syswm.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_assert.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_common.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_compare.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_crc32.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_font.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_fuzzer.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_harness.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_images.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_log.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_md5.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_test_random.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_thread.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_timer.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_touch.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_types.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_version.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\include\SDL_video.h"
-- >
-- </File>
-- </Filter>
-- <File
-- RelativePath="..\..\src\events\blank_cursor.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\default_cursor.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\e_atan2.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\e_log.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\e_pow.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\e_rem_pio2.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\e_sqrt.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\k_cos.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\k_rem_pio2.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\k_sin.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\k_tan.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\math.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\math_private.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\mmx.h"
-- >
-- </File>
-- <File
-- RelativePath=".\resource.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\s_atan.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\s_copysign.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\s_cos.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\s_fabs.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\s_floor.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\s_scalbn.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\s_sin.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\libm\s_tan.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\SDL.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\SDL_assert.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\atomic\SDL_atomic.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_audio.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_audio_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_audiocvt.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_audiodev.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_audiodev_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_audiomem.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_audiotypecvt.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_blendfillrect.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_blendfillrect.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_blendline.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_blendline.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_blendpoint.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_blendpoint.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit_0.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit_1.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit_A.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit_auto.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit_auto.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit_copy.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit_copy.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit_N.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit_slow.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_blit_slow.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_bmp.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_clipboard.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_clipboardevents.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_clipboardevents_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\cpuinfo\SDL_cpuinfo.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\SDL_d3dmath.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\SDL_d3dmath.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\haptic\windows\SDL_dinputhaptic.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\haptic\windows\SDL_dinputhaptic_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\windows\SDL_dinputjoystick.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\windows\SDL_dinputjoystick_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\directsound\SDL_directsound.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\directsound\SDL_directsound.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\core\windows\SDL_directx.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\disk\SDL_diskaudio.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\disk\SDL_diskaudio.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_draw.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_drawline.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_drawline.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_drawpoint.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_drawpoint.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_dropevents.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_dropevents_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\dummy\SDL_dummyaudio.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\dummy\SDL_dummyaudio.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\dynapi\SDL_dynapi.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\dynapi\SDL_dynapi.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\dynapi\SDL_dynapi_overrides.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\dynapi\SDL_dynapi_procs.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_egl.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\SDL_error.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\SDL_error_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_events.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_events_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_fillrect.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\SDL_gamecontroller.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_gesture.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_gesture_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\stdlib\SDL_getenv.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_glesfuncs.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_glfuncs.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\haptic\SDL_haptic.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\SDL_hints.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\SDL_hints_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\stdlib\SDL_iconv.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\SDL_joystick.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\SDL_joystick_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_keyboard.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_keyboard_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\SDL_log.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\stdlib\SDL_malloc.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_mixer.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\windows\SDL_mmjoystick.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_mouse.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_mouse_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\dummy\SDL_nullevents.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\dummy\SDL_nullevents_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\dummy\SDL_nullframebuffer.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\dummy\SDL_nullframebuffer_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\dummy\SDL_nullvideo.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\dummy\SDL_nullvideo.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_pixels.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_pixels_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\power\SDL_power.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\stdlib\SDL_qsort.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_quit.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_rect.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_rect_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\SDL_render.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\direct3d\SDL_render_d3d.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\direct3d11\SDL_render_d3d11.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\opengl\SDL_render_gl.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\opengles2\SDL_render_gles2.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_render_sw.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_render_sw_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_RLEaccel.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_RLEaccel_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_rotate.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\software\SDL_rotate.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\file\SDL_rwops.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\opengl\SDL_shaders_gl.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\opengl\SDL_shaders_gl.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\opengles2\SDL_shaders_gles2.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_shape.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_shape_internals.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\atomic\SDL_spinlock.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\stdlib\SDL_stdlib.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_stretch.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\stdlib\SDL_string.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_surface.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_sysaudio.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\thread\generic\SDL_syscond.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_sysevents.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\filesystem\windows\SDL_sysfilesystem.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\haptic\SDL_syshaptic.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\SDL_sysjoystick.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\loadso\windows\SDL_sysloadso.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\thread\windows\SDL_sysmutex.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\power\windows\SDL_syspower.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\SDL_sysrender.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\thread\windows\SDL_syssem.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\thread\windows\SDL_systhread.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\thread\SDL_systhread.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\thread\windows\SDL_systhread_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\timer\windows\SDL_systimer.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\timer\SDL_systimer.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\thread\windows\SDL_systls.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_sysvideo.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\thread\SDL_thread.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\thread\SDL_thread_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\timer\SDL_timer.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\timer\SDL_timer_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_touch.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_touch_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\SDL_video.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_vkeys.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_wave.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\SDL_wave.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_windowevents.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\events\SDL_windowevents_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\core\windows\SDL_windows.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\core\windows\SDL_windows.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsclipboard.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsclipboard.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsevents.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsevents.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsframebuffer.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsframebuffer.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\haptic\windows\SDL_windowshaptic.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\haptic\windows\SDL_windowshaptic_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\windows\SDL_windowsjoystick.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\windows\SDL_windowsjoystick_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowskeyboard.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowskeyboard.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsmessagebox.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsmessagebox.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsmodes.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsmodes.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsmouse.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsmouse.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsopengl.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsopengl.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsopengles.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsshape.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsshape.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsvideo.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowsvideo.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowswindow.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\SDL_windowswindow.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\winmm\SDL_winmm.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\winmm\SDL_winmm.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\audio\xaudio2\SDL_xaudio2.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\core\windows\SDL_xinput.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\core\windows\SDL_xinput.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\haptic\windows\SDL_xinputhaptic.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\haptic\windows\SDL_xinputhaptic_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\windows\SDL_xinputjoystick.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\joystick\windows\SDL_xinputjoystick_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\SDL_yuv_mmx.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\SDL_yuv_sw.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\render\SDL_yuv_sw_c.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\main\windows\version.rc"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\video\windows\wmmsg.h"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--Microsoft Visual Studio Solution File, Format Version 10.00
--# Visual Studio 2008
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2", "SDL\SDL_VS2008.vcproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2main", "SDLmain\SDLmain_VS2008.vcproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "checkkeys", "tests\checkkeys\checkkeys_VS2008.vcproj", "{26828762-C95D-4637-9CB1-7F0979523813}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "loopwave", "tests\loopwave\loopwave_VS2008.vcproj", "{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testatomic", "tests\testatomic\testatomic_VS2008.vcproj", "{66B32F7E-5716-48D0-B5B9-D832FD052DD5}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testautomation", "tests\testautomation\testautomation_VS2008.vcproj", "{9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testdraw2", "tests\testdraw2\testdraw2_VS2008.vcproj", "{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testfile", "tests\testfile\testfile_VS2008.vcproj", "{CAE4F1D0-314F-4B10-805B-0EFD670133A0}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgesture", "tests\testgesture\testgesture_VS2008.vcproj", "{79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgl2", "tests\testgl2\testgl2_VS2008.vcproj", "{8B5CFB38-CCBA-40A8-AD7A-89C57B070884}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testjoystick", "tests\testjoystick\testjoystick_VS2008.vcproj", "{55812185-D13C-4022-9C81-32E0F4A08304}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testoverlay2", "tests\testoverlay2\testoverlay2_VS2008.vcproj", "{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testplatform", "tests\testplatform\testplatform_VS2008.vcproj", "{26932B24-EFC6-4E3A-B277-ED653DA37968}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testpower", "tests\testpower\testpower_VS2008.vcproj", "{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testrendertarget", "tests\testrendertarget\testrendertarget_VS2008.vcproj", "{2D17C1EB-1157-460E-9A99-A82BFC1F9D1E}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testrumble", "tests\testrumble\testrumble_VS2008.vcproj", "{BFF40245-E9A6-4297-A425-A554E5D767E8}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testscale", "tests\testscale\testscale_VS2008.vcproj", "{5D0930C0-7C91-4ECE-9014-7B7DDE9502E6}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testshape", "tests\testshape\testshape_VS2008.vcproj", "{31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testsprite2", "tests\testsprite2\testsprite2_VS2008.vcproj", "{40FB7794-D3C3-4CFE-BCF4-A80C96635682}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2test", "SDLtest\SDLtest_VS2008.vcproj", "{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgamecontroller", "tests\testgamecontroller\testgamecontroller_VS2008.vcproj", "{55812185-D13C-4022-9C81-32E0F4A08305}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgles2", "tests\testgles2\testgles2_VS2008.vcproj", "{E9558DFE-1961-4DD4-B09B-DD0EEFD5C315}"
--EndProject
--Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "controllermap", "tests\controllermap\controllermap_VS2008.vcproj", "{55812185-D13C-4022-9C81-32E0F4A08306}"
--EndProject
--Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{D69D5741-611F-4E14-8541-1FEE94F50B5A}"
--EndProject
--Global
-- GlobalSection(SolutionConfigurationPlatforms) = preSolution
-- Debug|Win32 = Debug|Win32
-- Debug|x64 = Debug|x64
-- Release|Win32 = Release|Win32
-- Release|x64 = Release|x64
-- EndGlobalSection
-- GlobalSection(ProjectConfigurationPlatforms) = postSolution
-- {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.ActiveCfg = Debug|Win32
-- {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|Win32.Build.0 = Debug|Win32
-- {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.ActiveCfg = Debug|x64
-- {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Debug|x64.Build.0 = Debug|x64
-- {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.ActiveCfg = Release|Win32
-- {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|Win32.Build.0 = Release|Win32
-- {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.ActiveCfg = Release|x64
-- {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}.Release|x64.Build.0 = Release|x64
-- {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.ActiveCfg = Debug|Win32
-- {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|Win32.Build.0 = Debug|Win32
-- {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.ActiveCfg = Debug|x64
-- {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Debug|x64.Build.0 = Debug|x64
-- {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.ActiveCfg = Release|Win32
-- {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|Win32.Build.0 = Release|Win32
-- {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.ActiveCfg = Release|x64
-- {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}.Release|x64.Build.0 = Release|x64
-- {26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.ActiveCfg = Debug|Win32
-- {26828762-C95D-4637-9CB1-7F0979523813}.Debug|Win32.Build.0 = Debug|Win32
-- {26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.ActiveCfg = Debug|x64
-- {26828762-C95D-4637-9CB1-7F0979523813}.Debug|x64.Build.0 = Debug|x64
-- {26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.ActiveCfg = Release|Win32
-- {26828762-C95D-4637-9CB1-7F0979523813}.Release|Win32.Build.0 = Release|Win32
-- {26828762-C95D-4637-9CB1-7F0979523813}.Release|x64.ActiveCfg = Release|x64
-- {26828762-C95D-4637-9CB1-7F0979523813}.Release|x64.Build.0 = Release|x64
-- {AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.ActiveCfg = Debug|Win32
-- {AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|Win32.Build.0 = Debug|Win32
-- {AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.ActiveCfg = Debug|x64
-- {AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Debug|x64.Build.0 = Debug|x64
-- {AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.ActiveCfg = Release|Win32
-- {AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|Win32.Build.0 = Release|Win32
-- {AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|x64.ActiveCfg = Release|x64
-- {AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}.Release|x64.Build.0 = Release|x64
-- {66B32F7E-5716-48D0-B5B9-D832FD052DD5}.Debug|Win32.ActiveCfg = Debug|Win32
-- {66B32F7E-5716-48D0-B5B9-D832FD052DD5}.Debug|Win32.Build.0 = Debug|Win32
-- {66B32F7E-5716-48D0-B5B9-D832FD052DD5}.Debug|x64.ActiveCfg = Debug|x64
-- {66B32F7E-5716-48D0-B5B9-D832FD052DD5}.Debug|x64.Build.0 = Debug|x64
-- {66B32F7E-5716-48D0-B5B9-D832FD052DD5}.Release|Win32.ActiveCfg = Release|Win32
-- {66B32F7E-5716-48D0-B5B9-D832FD052DD5}.Release|Win32.Build.0 = Release|Win32
-- {66B32F7E-5716-48D0-B5B9-D832FD052DD5}.Release|x64.ActiveCfg = Release|x64
-- {66B32F7E-5716-48D0-B5B9-D832FD052DD5}.Release|x64.Build.0 = Release|x64
-- {9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA}.Debug|Win32.ActiveCfg = Debug|Win32
-- {9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA}.Debug|Win32.Build.0 = Debug|Win32
-- {9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA}.Debug|x64.ActiveCfg = Debug|x64
-- {9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA}.Debug|x64.Build.0 = Debug|x64
-- {9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA}.Release|Win32.ActiveCfg = Release|Win32
-- {9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA}.Release|Win32.Build.0 = Release|Win32
-- {9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA}.Release|x64.ActiveCfg = Release|x64
-- {9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA}.Release|x64.Build.0 = Release|x64
-- {8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.ActiveCfg = Debug|Win32
-- {8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|Win32.Build.0 = Debug|Win32
-- {8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.ActiveCfg = Debug|x64
-- {8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Debug|x64.Build.0 = Debug|x64
-- {8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.ActiveCfg = Release|Win32
-- {8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|Win32.Build.0 = Release|Win32
-- {8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|x64.ActiveCfg = Release|x64
-- {8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}.Release|x64.Build.0 = Release|x64
-- {CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.ActiveCfg = Debug|Win32
-- {CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|Win32.Build.0 = Debug|Win32
-- {CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.ActiveCfg = Debug|x64
-- {CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Debug|x64.Build.0 = Debug|x64
-- {CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.ActiveCfg = Release|Win32
-- {CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|Win32.Build.0 = Release|Win32
-- {CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|x64.ActiveCfg = Release|x64
-- {CAE4F1D0-314F-4B10-805B-0EFD670133A0}.Release|x64.Build.0 = Release|x64
-- {79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF}.Debug|Win32.ActiveCfg = Debug|Win32
-- {79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF}.Debug|Win32.Build.0 = Debug|Win32
-- {79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF}.Debug|x64.ActiveCfg = Debug|x64
-- {79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF}.Debug|x64.Build.0 = Debug|x64
-- {79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF}.Release|Win32.ActiveCfg = Release|Win32
-- {79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF}.Release|Win32.Build.0 = Release|Win32
-- {79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF}.Release|x64.ActiveCfg = Release|x64
-- {79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF}.Release|x64.Build.0 = Release|x64
-- {8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.ActiveCfg = Debug|Win32
-- {8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|Win32.Build.0 = Debug|Win32
-- {8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.ActiveCfg = Debug|x64
-- {8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Debug|x64.Build.0 = Debug|x64
-- {8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.ActiveCfg = Release|Win32
-- {8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|Win32.Build.0 = Release|Win32
-- {8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|x64.ActiveCfg = Release|x64
-- {8B5CFB38-CCBA-40A8-AD7A-89C57B070884}.Release|x64.Build.0 = Release|x64
-- {55812185-D13C-4022-9C81-32E0F4A08304}.Debug|Win32.ActiveCfg = Debug|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08304}.Debug|Win32.Build.0 = Debug|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08304}.Debug|x64.ActiveCfg = Debug|x64
-- {55812185-D13C-4022-9C81-32E0F4A08304}.Debug|x64.Build.0 = Debug|x64
-- {55812185-D13C-4022-9C81-32E0F4A08304}.Release|Win32.ActiveCfg = Release|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08304}.Release|Win32.Build.0 = Release|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08304}.Release|x64.ActiveCfg = Release|x64
-- {55812185-D13C-4022-9C81-32E0F4A08304}.Release|x64.Build.0 = Release|x64
-- {B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Debug|Win32.ActiveCfg = Debug|Win32
-- {B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Debug|Win32.Build.0 = Debug|Win32
-- {B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Debug|x64.ActiveCfg = Debug|x64
-- {B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Debug|x64.Build.0 = Debug|x64
-- {B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Release|Win32.ActiveCfg = Release|Win32
-- {B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Release|Win32.Build.0 = Release|Win32
-- {B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Release|x64.ActiveCfg = Release|x64
-- {B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}.Release|x64.Build.0 = Release|x64
-- {26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.ActiveCfg = Debug|Win32
-- {26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|Win32.Build.0 = Debug|Win32
-- {26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.ActiveCfg = Debug|x64
-- {26932B24-EFC6-4E3A-B277-ED653DA37968}.Debug|x64.Build.0 = Debug|x64
-- {26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.ActiveCfg = Release|Win32
-- {26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|Win32.Build.0 = Release|Win32
-- {26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|x64.ActiveCfg = Release|x64
-- {26932B24-EFC6-4E3A-B277-ED653DA37968}.Release|x64.Build.0 = Release|x64
-- {C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.ActiveCfg = Debug|Win32
-- {C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|Win32.Build.0 = Debug|Win32
-- {C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.ActiveCfg = Debug|x64
-- {C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Debug|x64.Build.0 = Debug|x64
-- {C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.ActiveCfg = Release|Win32
-- {C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|Win32.Build.0 = Release|Win32
-- {C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|x64.ActiveCfg = Release|x64
-- {C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}.Release|x64.Build.0 = Release|x64
-- {2D17C1EB-1157-460E-9A99-A82BFC1F9D1E}.Debug|Win32.ActiveCfg = Debug|Win32
-- {2D17C1EB-1157-460E-9A99-A82BFC1F9D1E}.Debug|Win32.Build.0 = Debug|Win32
-- {2D17C1EB-1157-460E-9A99-A82BFC1F9D1E}.Debug|x64.ActiveCfg = Debug|x64
-- {2D17C1EB-1157-460E-9A99-A82BFC1F9D1E}.Debug|x64.Build.0 = Debug|x64
-- {2D17C1EB-1157-460E-9A99-A82BFC1F9D1E}.Release|Win32.ActiveCfg = Release|Win32
-- {2D17C1EB-1157-460E-9A99-A82BFC1F9D1E}.Release|Win32.Build.0 = Release|Win32
-- {2D17C1EB-1157-460E-9A99-A82BFC1F9D1E}.Release|x64.ActiveCfg = Release|x64
-- {2D17C1EB-1157-460E-9A99-A82BFC1F9D1E}.Release|x64.Build.0 = Release|x64
-- {BFF40245-E9A6-4297-A425-A554E5D767E8}.Debug|Win32.ActiveCfg = Debug|Win32
-- {BFF40245-E9A6-4297-A425-A554E5D767E8}.Debug|Win32.Build.0 = Debug|Win32
-- {BFF40245-E9A6-4297-A425-A554E5D767E8}.Debug|x64.ActiveCfg = Debug|x64
-- {BFF40245-E9A6-4297-A425-A554E5D767E8}.Debug|x64.Build.0 = Debug|x64
-- {BFF40245-E9A6-4297-A425-A554E5D767E8}.Release|Win32.ActiveCfg = Release|Win32
-- {BFF40245-E9A6-4297-A425-A554E5D767E8}.Release|Win32.Build.0 = Release|Win32
-- {BFF40245-E9A6-4297-A425-A554E5D767E8}.Release|x64.ActiveCfg = Release|x64
-- {BFF40245-E9A6-4297-A425-A554E5D767E8}.Release|x64.Build.0 = Release|x64
-- {5D0930C0-7C91-4ECE-9014-7B7DDE9502E6}.Debug|Win32.ActiveCfg = Debug|Win32
-- {5D0930C0-7C91-4ECE-9014-7B7DDE9502E6}.Debug|Win32.Build.0 = Debug|Win32
-- {5D0930C0-7C91-4ECE-9014-7B7DDE9502E6}.Debug|x64.ActiveCfg = Debug|x64
-- {5D0930C0-7C91-4ECE-9014-7B7DDE9502E6}.Debug|x64.Build.0 = Debug|x64
-- {5D0930C0-7C91-4ECE-9014-7B7DDE9502E6}.Release|Win32.ActiveCfg = Release|Win32
-- {5D0930C0-7C91-4ECE-9014-7B7DDE9502E6}.Release|Win32.Build.0 = Release|Win32
-- {5D0930C0-7C91-4ECE-9014-7B7DDE9502E6}.Release|x64.ActiveCfg = Release|x64
-- {5D0930C0-7C91-4ECE-9014-7B7DDE9502E6}.Release|x64.Build.0 = Release|x64
-- {31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2}.Debug|Win32.ActiveCfg = Debug|Win32
-- {31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2}.Debug|Win32.Build.0 = Debug|Win32
-- {31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2}.Debug|x64.ActiveCfg = Debug|x64
-- {31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2}.Debug|x64.Build.0 = Debug|x64
-- {31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2}.Release|Win32.ActiveCfg = Release|Win32
-- {31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2}.Release|Win32.Build.0 = Release|Win32
-- {31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2}.Release|x64.ActiveCfg = Release|x64
-- {31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2}.Release|x64.Build.0 = Release|x64
-- {40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.ActiveCfg = Debug|Win32
-- {40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|Win32.Build.0 = Debug|Win32
-- {40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.ActiveCfg = Debug|x64
-- {40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Debug|x64.Build.0 = Debug|x64
-- {40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.ActiveCfg = Release|Win32
-- {40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|Win32.Build.0 = Release|Win32
-- {40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|x64.ActiveCfg = Release|x64
-- {40FB7794-D3C3-4CFE-BCF4-A80C96635682}.Release|x64.Build.0 = Release|x64
-- {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|Win32.ActiveCfg = Debug|Win32
-- {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|Win32.Build.0 = Debug|Win32
-- {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|x64.ActiveCfg = Debug|x64
-- {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Debug|x64.Build.0 = Debug|x64
-- {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|Win32.ActiveCfg = Release|Win32
-- {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|Win32.Build.0 = Release|Win32
-- {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|x64.ActiveCfg = Release|x64
-- {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}.Release|x64.Build.0 = Release|x64
-- {55812185-D13C-4022-9C81-32E0F4A08305}.Debug|Win32.ActiveCfg = Debug|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08305}.Debug|Win32.Build.0 = Debug|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08305}.Debug|x64.ActiveCfg = Debug|x64
-- {55812185-D13C-4022-9C81-32E0F4A08305}.Debug|x64.Build.0 = Debug|x64
-- {55812185-D13C-4022-9C81-32E0F4A08305}.Release|Win32.ActiveCfg = Release|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08305}.Release|Win32.Build.0 = Release|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08305}.Release|x64.ActiveCfg = Release|x64
-- {55812185-D13C-4022-9C81-32E0F4A08305}.Release|x64.Build.0 = Release|x64
-- {E9558DFE-1961-4DD4-B09B-DD0EEFD5C315}.Debug|Win32.ActiveCfg = Debug|Win32
-- {E9558DFE-1961-4DD4-B09B-DD0EEFD5C315}.Debug|Win32.Build.0 = Debug|Win32
-- {E9558DFE-1961-4DD4-B09B-DD0EEFD5C315}.Debug|x64.ActiveCfg = Debug|x64
-- {E9558DFE-1961-4DD4-B09B-DD0EEFD5C315}.Debug|x64.Build.0 = Debug|x64
-- {E9558DFE-1961-4DD4-B09B-DD0EEFD5C315}.Release|Win32.ActiveCfg = Release|Win32
-- {E9558DFE-1961-4DD4-B09B-DD0EEFD5C315}.Release|Win32.Build.0 = Release|Win32
-- {E9558DFE-1961-4DD4-B09B-DD0EEFD5C315}.Release|x64.ActiveCfg = Release|x64
-- {E9558DFE-1961-4DD4-B09B-DD0EEFD5C315}.Release|x64.Build.0 = Release|x64
-- {55812185-D13C-4022-9C81-32E0F4A08306}.Debug|Win32.ActiveCfg = Debug|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08306}.Debug|Win32.Build.0 = Debug|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08306}.Debug|x64.ActiveCfg = Debug|x64
-- {55812185-D13C-4022-9C81-32E0F4A08306}.Debug|x64.Build.0 = Debug|x64
-- {55812185-D13C-4022-9C81-32E0F4A08306}.Release|Win32.ActiveCfg = Release|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08306}.Release|Win32.Build.0 = Release|Win32
-- {55812185-D13C-4022-9C81-32E0F4A08306}.Release|x64.ActiveCfg = Release|x64
-- {55812185-D13C-4022-9C81-32E0F4A08306}.Release|x64.Build.0 = Release|x64
-- EndGlobalSection
-- GlobalSection(SolutionProperties) = preSolution
-- HideSolutionNode = FALSE
-- EndGlobalSection
-- GlobalSection(NestedProjects) = preSolution
-- {AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {66B32F7E-5716-48D0-B5B9-D832FD052DD5} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {CAE4F1D0-314F-4B10-805B-0EFD670133A0} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {8B5CFB38-CCBA-40A8-AD7A-89C57B070884} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {55812185-D13C-4022-9C81-32E0F4A08304} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {26932B24-EFC6-4E3A-B277-ED653DA37968} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {2D17C1EB-1157-460E-9A99-A82BFC1F9D1E} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {BFF40245-E9A6-4297-A425-A554E5D767E8} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {5D0930C0-7C91-4ECE-9014-7B7DDE9502E6} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {40FB7794-D3C3-4CFE-BCF4-A80C96635682} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {55812185-D13C-4022-9C81-32E0F4A08305} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {E9558DFE-1961-4DD4-B09B-DD0EEFD5C315} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {55812185-D13C-4022-9C81-32E0F4A08306} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- {26828762-C95D-4637-9CB1-7F0979523813} = {D69D5741-611F-4E14-8541-1FEE94F50B5A}
-- EndGlobalSection
--EndGlobal
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="SDL2main"
-- ProjectGUID="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- RootNamespace="SDLmain"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="4"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- CommandLine=""
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- StringPooling="true"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLibrarianTool"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="4"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- TargetEnvironment="3"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- StringPooling="true"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLibrarianTool"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="4"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- CommandLine=""
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLibrarianTool"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="4"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- TargetEnvironment="3"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLibrarianTool"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\src\main\windows\SDL_windows_main.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="SDL2test"
-- ProjectGUID="{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
-- RootNamespace="SDLtest"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="4"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- CommandLine=""
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- StringPooling="true"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLibrarianTool"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="4"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- TargetEnvironment="3"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- StringPooling="true"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLibrarianTool"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="4"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- CommandLine=""
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLibrarianTool"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="4"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- TargetEnvironment="3"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- BufferSecurityCheck="false"
-- EnableEnhancedInstructionSet="1"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- OmitDefaultLibName="true"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLibrarianTool"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\src\test\SDL_test_assert.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_common.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_compare.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_crc32.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_font.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_fuzzer.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_harness.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_imageBlit.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_imageBlitBlend.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_imageFace.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_imagePrimitives.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_imagePrimitivesBlend.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_log.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_md5.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\src\test\SDL_test_random.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="checkkeys"
-- ProjectGUID="{26828762-C95D-4637-9CB1-7F0979523813}"
-- RootNamespace="checkkeys"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/checkkeys.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/checkkeys.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/checkkeys.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- UsePrecompiledHeader="0"
-- PrecompiledHeaderFile=".\Release/checkkeys.pch"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/checkkeys.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- UsePrecompiledHeader="0"
-- PrecompiledHeaderFile=".\Release/checkkeys.pch"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\checkkeys.c"
-- >
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- AdditionalUsingDirectories="$(PlatformName)\$(ConfigurationName)\"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories=""
-- AdditionalUsingDirectories=""
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- AdditionalUsingDirectories="$(PlatformName)\$(ConfigurationName)\"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- AdditionalUsingDirectories="$(PlatformName)\$(ConfigurationName)\"
-- />
-- </FileConfiguration>
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="controllermap"
-- ProjectGUID="{55812185-D13C-4022-9C81-32E0F4A08306}"
-- RootNamespace="controllermap"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/controllermap.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/controllermap.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/controllermap.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/controllermap.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\axis.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\button.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\controllermap.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\controllermap.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="loopwave"
-- ProjectGUID="{AAAD1CB5-7ADA-47AE-85A0-08A6EC48FAFB}"
-- RootNamespace="loopwave"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/loopwave.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- UsePrecompiledHeader="0"
-- PrecompiledHeaderFile=".\Release/loopwave.pch"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/loopwave.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- UsePrecompiledHeader="0"
-- PrecompiledHeaderFile=".\Release/loopwave.pch"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/loopwave.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/loopwave.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\Test\loopwave.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\sample.wav"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testatomic"
-- ProjectGUID="{66B32F7E-5716-48D0-B5B9-D832FD052DD5}"
-- RootNamespace="testatomic"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testatomic.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testatomic.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testatomic.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testatomic.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\testatomic.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testautomation"
-- ProjectGUID="{9C7E8C03-3130-436D-A97E-E8F8ED1AC4EA}"
-- RootNamespace="testautomation"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testautomation.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testautomation.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testautomation.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testautomation.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLtest\SDLtest_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\Test\testautomation.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_audio.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_clipboard.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_events.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_hints.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_keyboard.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_main.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_mouse.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_pixels.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_platform.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_rect.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_render.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_rwops.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_sdltest.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_stdlib.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_suites.h"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_surface.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_syswm.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_timer.c"
-- >
-- </File>
-- <File
-- RelativePath="..\..\..\test\testautomation_video.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testdraw2"
-- ProjectGUID="{8682FE1E-0CF6-4EDD-9BB5-1733D8C8B4DF}"
-- RootNamespace="testdraw2"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testdraw2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testdraw2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testdraw2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testdraw2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLtest\SDLtest_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\testdraw2.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testfile"
-- ProjectGUID="{CAE4F1D0-314F-4B10-805B-0EFD670133A0}"
-- RootNamespace="testfile"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testfile.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testfile.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testfile.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testfile.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\Test\testfile.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testgamecontroller"
-- ProjectGUID="{55812185-D13C-4022-9C81-32E0F4A08305}"
-- RootNamespace="testgamecontroller"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testgamecontroller.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testgamecontroller.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testgamecontroller.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testgamecontroller.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\axis.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\button.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\controllermap.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\testgamecontroller.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testgesture"
-- ProjectGUID="{79CEE57E-1BC3-4FF6-90B3-9E39763CDAFF}"
-- RootNamespace="testgesture"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testgesture.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testgesture.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testgesture.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testgesture.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\testgesture.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testgles2"
-- ProjectGUID="{E9558DFE-1961-4DD4-B09B-DD0EEFD5C315}"
-- RootNamespace="testgles2"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testgles2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- PreprocessorDefinitions="_DEBUG,WIN32,_WINDOWS,HAVE_OPENGL"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- AdditionalDependencies="opengl32.lib"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testgles2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- PreprocessorDefinitions="_DEBUG,WIN32,_WINDOWS,HAVE_OPENGL"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- AdditionalDependencies="opengl32.lib"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testgles2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- PreprocessorDefinitions="NDEBUG,WIN32,_WINDOWS,HAVE_OPENGL"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- AdditionalDependencies="opengl32.lib"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testgles2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- PreprocessorDefinitions="NDEBUG,WIN32,_WINDOWS,HAVE_OPENGL"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- AdditionalDependencies="opengl32.lib"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\testgles2.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testjoystick"
-- ProjectGUID="{55812185-D13C-4022-9C81-32E0F4A08304}"
-- RootNamespace="testjoystick"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testjoystick.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testjoystick.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testjoystick.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testjoystick.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\testjoystick.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testoverlay2"
-- ProjectGUID="{B51E0D74-F0A2-45A2-BD2A-8B7D95B8204A}"
-- RootNamespace="testoverlay2"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testoverlay2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testoverlay2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testoverlay2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testoverlay2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\moose.dat"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\testoverlay2.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testplatform"
-- ProjectGUID="{26932B24-EFC6-4E3A-B277-ED653DA37968}"
-- RootNamespace="testplatform"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testplatform.tlb"
-- HeaderFileName=""
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
-- RuntimeLibrary="2"
-- PrecompiledHeaderFile=".\Debug/testplatform.pch"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- SuppressStartupBanner="true"
-- OutputFile=".\Debug/testplatform.bsc"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testplatform.tlb"
-- HeaderFileName=""
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
-- RuntimeLibrary="3"
-- PrecompiledHeaderFile=".\Debug/testplatform.pch"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- SuppressStartupBanner="true"
-- OutputFile=".\Debug/testplatform.bsc"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testplatform.tlb"
-- HeaderFileName=""
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
-- RuntimeLibrary="2"
-- PrecompiledHeaderFile=".\Release/testplatform.pch"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- SuppressStartupBanner="true"
-- OutputFile=".\Release/testplatform.bsc"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testplatform.tlb"
-- HeaderFileName=""
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
-- RuntimeLibrary="2"
-- PrecompiledHeaderFile=".\Release/testplatform.pch"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- SuppressStartupBanner="true"
-- OutputFile=".\Release/testplatform.bsc"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\Test\testplatform.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testpower"
-- ProjectGUID="{C4E04D18-EF76-4B42-B4C2-16A1BACDC0A3}"
-- RootNamespace="testpower"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testpower.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testpower.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testpower.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testpower.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\testpower.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testrendertarget"
-- ProjectGUID="{2D17C1EB-1157-460E-9A99-A82BFC1F9D1E}"
-- RootNamespace="testrendertarget"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testrendertarget.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testrendertarget.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testrendertarget.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testrendertarget.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLtest\SDLtest_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\icon.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\sample.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\testrendertarget.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testrumble"
-- ProjectGUID="{BFF40245-E9A6-4297-A425-A554E5D767E8}"
-- RootNamespace="testrumble"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testrumble.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testrumble.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testrumble.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testrumble.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\testrumble.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testscale"
-- ProjectGUID="{5D0930C0-7C91-4ECE-9014-7B7DDE9502E6}"
-- RootNamespace="testscale"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testscale.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testscale.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testscale.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testscale.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLtest\SDLtest_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\icon.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\sample.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\testscale.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testshape"
-- ProjectGUID="{31A3E4E1-AAE9-4EF3-9B23-18D0924BE4D2}"
-- RootNamespace="testshape"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testshape.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testshape.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testshape.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testshape.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\testshape.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="Windows-1252"?>
--<VisualStudioProject
-- ProjectType="Visual C++"
-- Version="9.00"
-- Name="testsprite2"
-- ProjectGUID="{40FB7794-D3C3-4CFE-BCF4-A80C96635682}"
-- RootNamespace="testsprite2"
-- TargetFrameworkVersion="131072"
-- >
-- <Platforms>
-- <Platform
-- Name="Win32"
-- />
-- <Platform
-- Name="x64"
-- />
-- </Platforms>
-- <ToolFiles>
-- </ToolFiles>
-- <Configurations>
-- <Configuration
-- Name="Release|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Release/testsprite2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Release|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="NDEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Release/testsprite2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="NDEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|Win32"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="1"
-- TypeLibraryName=".\Debug/testsprite2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="2"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- <Configuration
-- Name="Debug|x64"
-- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
-- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\"
-- ConfigurationType="1"
-- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops"
-- UseOfMFC="0"
-- ATLMinimizesCRunTimeLibraryUsage="false"
-- >
-- <Tool
-- Name="VCPreBuildEventTool"
-- />
-- <Tool
-- Name="VCCustomBuildTool"
-- />
-- <Tool
-- Name="VCXMLDataGeneratorTool"
-- />
-- <Tool
-- Name="VCWebServiceProxyGeneratorTool"
-- />
-- <Tool
-- Name="VCMIDLTool"
-- PreprocessorDefinitions="_DEBUG"
-- MkTypLibCompatible="true"
-- SuppressStartupBanner="true"
-- TargetEnvironment="3"
-- TypeLibraryName=".\Debug/testsprite2.tlb"
-- />
-- <Tool
-- Name="VCCLCompilerTool"
-- Optimization="0"
-- AdditionalIncludeDirectories="$(SolutionDir)/../include"
-- AdditionalUsingDirectories=""
-- PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-- RuntimeLibrary="3"
-- WarningLevel="3"
-- DebugInformationFormat="1"
-- />
-- <Tool
-- Name="VCManagedResourceCompilerTool"
-- />
-- <Tool
-- Name="VCResourceCompilerTool"
-- PreprocessorDefinitions="_DEBUG"
-- Culture="1033"
-- />
-- <Tool
-- Name="VCPreLinkEventTool"
-- />
-- <Tool
-- Name="VCLinkerTool"
-- GenerateDebugInformation="true"
-- SubSystem="2"
-- />
-- <Tool
-- Name="VCALinkTool"
-- />
-- <Tool
-- Name="VCManifestTool"
-- />
-- <Tool
-- Name="VCXDCMakeTool"
-- />
-- <Tool
-- Name="VCBscMakeTool"
-- />
-- <Tool
-- Name="VCFxCopTool"
-- />
-- <Tool
-- Name="VCAppVerifierTool"
-- />
-- <Tool
-- Name="VCPostBuildEventTool"
-- />
-- </Configuration>
-- </Configurations>
-- <References>
-- <ProjectReference
-- ReferencedProjectIdentifier="{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDL\SDL_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLmain\SDLmain_VS2008.vcproj"
-- />
-- <ProjectReference
-- ReferencedProjectIdentifier="{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}"
-- CopyLocal="false"
-- CopyLocalDependencies="false"
-- CopyLocalSatelliteAssemblies="false"
-- RelativePathToProject=".\SDLtest\SDLtest_VS2008.vcproj"
-- />
-- </References>
-- <Files>
-- <File
-- RelativePath="..\..\..\test\icon.bmp"
-- >
-- <FileConfiguration
-- Name="Release|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Release|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|Win32"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- <FileConfiguration
-- Name="Debug|x64"
-- >
-- <Tool
-- Name="VCCustomBuildTool"
-- Description="Copying $(InputFileName)"
-- CommandLine="copy $(InputPath) $(ProjectDir)\
"
-- Outputs="$(ProjectDir)\$(InputFileName)"
-- />
-- </FileConfiguration>
-- </File>
-- <File
-- RelativePath="..\..\..\test\testsprite2.c"
-- >
-- </File>
-- </Files>
-- <Globals>
-- </Globals>
--</VisualStudioProject>
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<!-- Replace org.libsdl.app with the identifier of your game below, e.g.
-- com.gamemaker.game
---->
--<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-- package="org.libsdl.app"
-- android:versionCode="1"
-- android:versionName="1.0"
-- android:installLocation="auto">
--
-- <!-- Android 2.3.3 -->
-- <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="12" />
--
-- <!-- OpenGL ES 2.0 -->
-- <uses-feature android:glEsVersion="0x00020000" />
--
-- <!-- Allow writing to external storage -->
-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
--
-- <!-- Create a Java class extending SDLActivity and place it in a
-- directory under src matching the package, e.g.
-- src/com/gamemaker/game/MyGame.java
--
-- then replace "SDLActivity" with the name of your class (e.g. "MyGame")
-- in the XML below.
--
-- An example Java class can be found in README-android.txt
-- -->
-- <application android:label="@string/app_name"
-- android:icon="@drawable/ic_launcher"
-- android:allowBackup="true"
-- android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
-- android:hardwareAccelerated="true" >
-- <activity android:name="SDLActivity"
-- android:label="@string/app_name"
-- android:configChanges="keyboardHidden|orientation"
-- >
-- <intent-filter>
-- <action android:name="android.intent.action.MAIN" />
-- <category android:name="android.intent.category.LAUNCHER" />
-- </intent-filter>
-- <!-- Drop file event -->
-- <!--
-- <intent-filter>
-- <action android:name="android.intent.action.VIEW" />
-- <category android:name="android.intent.category.DEFAULT" />
-- <data android:mimeType="*/*" />
-- </intent-filter>
-- -->
-- </activity>
-- </application>
--
--</manifest>
+++ /dev/null
--# This file is used to override default values used by the Ant build system.
--#
--# This file must be checked into Version Control Systems, as it is
--# integral to the build system of your project.
--
--# This file is only used by the Ant script.
--
--# You can use this to override default values such as
--# 'source.dir' for the location of your java source folder and
--# 'out.dir' for the location of your output folder.
--
--# You can also use it define how the release builds are signed by declaring
--# the following properties:
--# 'key.store' for the location of your keystore and
--# 'key.alias' for the name of the key to use.
--# The password will be asked during the build when you use the 'release' target.
--
+++ /dev/null
--# This file is used to override default values used by the Ant build system.
--#
--# This file must be checked in Version Control Systems, as it is
--# integral to the build system of your project.
--
--# This file is only used by the Ant script.
--
--# You can use this to override default values such as
--# 'source.dir' for the location of your java source folder and
--# 'out.dir' for the location of your output folder.
--
--# You can also use it define how the release builds are signed by declaring
--# the following properties:
--# 'key.store' for the location of your keystore and
--# 'key.alias' for the name of the key to use.
--# The password will be asked during the build when you use the 'release' target.
--
+++ /dev/null
--<?xml version="1.0" encoding="UTF-8"?>
--<!-- This should be changed to the name of your project -->
--<project name="SDLActivity" default="help">
--
-- <!-- The local.properties file is created and updated by the 'android' tool.
-- It contains the path to the SDK. It should *NOT* be checked into
-- Version Control Systems. -->
-- <property file="local.properties" />
--
-- <!-- The ant.properties file can be created by you. It is only edited by the
-- 'android' tool to add properties to it.
-- This is the place to change some Ant specific build properties.
-- Here are some properties you may want to change/update:
--
-- source.dir
-- The name of the source directory. Default is 'src'.
-- out.dir
-- The name of the output directory. Default is 'bin'.
--
-- For other overridable properties, look at the beginning of the rules
-- files in the SDK, at tools/ant/build.xml
--
-- Properties related to the SDK location or the project target should
-- be updated using the 'android' tool with the 'update' action.
--
-- This file is an integral part of the build system for your
-- application and should be checked into Version Control Systems.
--
-- -->
-- <property file="ant.properties" />
--
-- <!-- if sdk.dir was not set from one of the property file, then
-- get it from the ANDROID_HOME env var.
-- This must be done before we load project.properties since
-- the proguard config can use sdk.dir -->
-- <property environment="env" />
-- <condition property="sdk.dir" value="${env.ANDROID_HOME}">
-- <isset property="env.ANDROID_HOME" />
-- </condition>
--
-- <!-- The project.properties file is created and updated by the 'android'
-- tool, as well as ADT.
--
-- This contains project specific properties such as project target, and library
-- dependencies. Lower level build properties are stored in ant.properties
-- (or in .classpath for Eclipse projects).
--
-- This file is an integral part of the build system for your
-- application and should be checked into Version Control Systems. -->
-- <loadproperties srcFile="project.properties" />
--
-- <!-- quick check on sdk.dir -->
-- <fail
-- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
-- unless="sdk.dir"
-- />
--
-- <!--
-- Import per project custom build rules if present at the root of the project.
-- This is the place to put custom intermediary targets such as:
-- -pre-build
-- -pre-compile
-- -post-compile (This is typically used for code obfuscation.
-- Compiled code location: ${out.classes.absolute.dir}
-- If this is not done in place, override ${out.dex.input.absolute.dir})
-- -post-package
-- -post-build
-- -pre-clean
-- -->
-- <import file="custom_rules.xml" optional="true" />
--
-- <!-- Import the actual build file.
--
-- To customize existing targets, there are two options:
-- - Customize only one target:
-- - copy/paste the target into this file, *before* the
-- <import> task.
-- - customize it to your needs.
-- - Customize the whole content of build.xml
-- - copy/paste the content of the rules files (minus the top node)
-- into this file, replacing the <import> task.
-- - customize to your needs.
--
-- ***********************
-- ****** IMPORTANT ******
-- ***********************
-- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
-- in order to avoid having your file be overridden by tools such as "android update project"
-- -->
-- <!-- version-tag: 1 -->
-- <import file="${sdk.dir}/tools/ant/build.xml" />
--
--</project>
+++ /dev/null
--# This file is automatically generated by Android Tools.
--# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
--#
--# This file must be checked in Version Control Systems.
--#
--# To customize properties used by the Ant build system use,
--# "build.properties", and override values to adapt the script to your
--# project structure.
--
--# Project target.
--target=android-12
+++ /dev/null
--LOCAL_PATH := $(call my-dir)
--
--include $(CLEAR_VARS)
--
--LOCAL_MODULE := main
--
--LOCAL_SRC_FILES := YourSourceHere.c
--
--LOCAL_STATIC_LIBRARIES := SDL2_static
--
--include $(BUILD_SHARED_LIBRARY)
--$(call import-module,SDL)LOCAL_PATH := $(call my-dir)
+++ /dev/null
--# This file is automatically generated by Android Tools.
--# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
--#
--# This file must be checked in Version Control Systems.
--#
--# To customize properties used by the Ant build system edit
--# "ant.properties", and override values to adapt the script to your
--# project structure.
--#
--# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
--#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
--
--# Project target.
--target=android-12
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-- android:orientation="vertical"
-- android:layout_width="fill_parent"
-- android:layout_height="fill_parent"
-- >
--<TextView
-- android:layout_width="fill_parent"
-- android:layout_height="wrap_content"
-- android:text="Hello World, SDLActivity"
-- />
--</LinearLayout>
--
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<resources>
-- <string name="app_name">SDL App</string>
--</resources>
# - HAVE_DLOPEN opt
macro(CheckWayland)
if(VIDEO_WAYLAND)
- pkg_check_modules(WAYLAND wayland-client wayland-cursor wayland-egl egl xkbcommon xdg-shell-client text-client tizen-extension-client)
- pkg_check_modules(WAYLAND wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon)
++ pkg_check_modules(WAYLAND wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon xdg-shell-client text-client tizen-extension-client)
+
+ # We have to generate some protocol interface code for some various Wayland features.
+ if(WAYLAND_FOUND)
+ execute_process(
+ COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=pkgdatadir wayland-client
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ RESULT_VARIABLE WAYLAND_CORE_PROTOCOL_DIR_RC
+ OUTPUT_VARIABLE WAYLAND_CORE_PROTOCOL_DIR
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ if(NOT WAYLAND_CORE_PROTOCOL_DIR_RC EQUAL 0)
+ set(WAYLAND_FOUND FALSE)
+ endif()
+ endif()
+
+ if(WAYLAND_FOUND)
+ execute_process(
+ COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=pkgdatadir wayland-protocols
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ RESULT_VARIABLE WAYLAND_PROTOCOLS_DIR_RC
+ OUTPUT_VARIABLE WAYLAND_PROTOCOLS_DIR
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ if(NOT WAYLAND_PROTOCOLS_DIR_RC EQUAL 0)
+ set(WAYLAND_FOUND FALSE)
+ endif()
+ endif()
+
+ if(WAYLAND_FOUND)
+ execute_process(
+ COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=wayland_scanner wayland-scanner
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ RESULT_VARIABLE WAYLAND_SCANNER_RC
+ OUTPUT_VARIABLE WAYLAND_SCANNER
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ if(NOT WAYLAND_SCANNER_RC EQUAL 0)
+ set(WAYLAND_FOUND FALSE)
+ endif()
+ endif()
+
if(WAYLAND_FOUND)
link_directories(
${WAYLAND_LIBRARY_DIRS}
enable_video_wayland
enable_video_wayland_qt_touch
enable_wayland_shared
+enable_video_tizen
enable_video_mir
enable_mir_shared
+ enable_video_rpi
enable_video_x11
with_x
enable_x11_shared
QtWayland server support for Wayland video driver
[[default=yes]]
--enable-wayland-shared dynamically load Wayland support [[default=maybe]]
+ --enable-video-tizen use tizen video driver [[default=yes]]
--enable-video-mir use Mir video driver [[default=yes]]
--enable-mir-shared dynamically load Mir support [[default=maybe]]
+ --enable-video-rpi use Raspberry Pi video driver [[default=yes]]
--enable-video-x11 use X11 video driver [[default=yes]]
--enable-x11-shared dynamically load X11 support [[default=maybe]]
--enable-video-x11-xcursor
if test x$PKG_CONFIG != xno && \
test x$video_opengl_egl = xyes && \
test x$video_opengles_v2 = xyes; then
- if $PKG_CONFIG --exists wayland-client wayland-egl wayland-cursor egl xkbcommon xdg-shell-client text-client tizen-extension-client; then
- if $PKG_CONFIG --exists wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon ; then
- WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon`
- WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon`
++ if $PKG_CONFIG --exists wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon xdg-shell-client text-client tizen-extension-client; then
+ WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon xdg-shell-client text-client tizen-extension-client`
+ WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon xdg-shell-client text-client tizen-extension-client`
+ WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
+ WAYLAND_CORE_PROTOCOL_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-client`
+ WAYLAND_PROTOCOLS_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
video_wayland=yes
fi
fi
enable_video_opengles2=yes
fi
- # Check whether --enable-video-vulkan was given.
- if test "${enable_video_vulkan+set}" = set; then :
- enableval=$enable_video_vulkan;
- else
- enable_video_vulkan=yes
- fi
+
+
CheckOpenGLESX11()
{
if test x$enable_video = xyes -a x$enable_video_opengles = xyes; then
fi
}
- CheckVulkanTizen()
++
+ # Check whether --enable-video-vulkan was given.
+ if test "${enable_video_vulkan+set}" = set; then :
+ enableval=$enable_video_vulkan;
+ else
+ enable_video_vulkan=yes
+ fi
+
+
+ CheckVulkan()
{
if test x$enable_video = xyes -a x$enable_video_vulkan = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Vulkan support" >&5
- $as_echo_n "checking for Vulkan support... " >&6; }
- video_vulkan=no
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ case "$host" in
+ *-*-android*)
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- #include <vulkan/vulkan.h>
+ #if defined(__ARM_ARCH) && __ARM_ARCH < 7
+ #error Vulkan doesn't work on this configuration
+ #endif
int
main ()
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
- video_vulkan=yes
+
++
++
++
+ else
+
+ enable_video_vulkan=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
*-*-hpux*) ARCH=hpux ;;
*-*-aix*) ARCH=aix ;;
*-*-minix*) ARCH=minix ;;
+ *-*-nto*) ARCH=nto
+ CheckQNXVideo
+ ;;
esac
CheckVisibilityHidden
- CheckDeclarationAfterStatement
++ #CheckDeclarationAfterStatement
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
CheckESD
CheckNAS
CheckSNDIO
+ CheckFusionSound
+ CheckLibSampleRate
+ # Need to check for Raspberry PI first and add platform specific compiler flags, otherwise the test for GLES fails!
+ CheckRPI
CheckX11
CheckDirectFB
- CheckFusionSound
+ CheckKMSDRM
CheckOpenGLX11
CheckOpenGLESX11
- CheckVulkanTizen
+ CheckVulkan
CheckMir
CheckWayland
+ CheckTizen
CheckLibUDev
CheckDBus
+ CheckIME
CheckIBus
+ CheckFcitx
case $ARCH in
linux)
CheckInputEvents
$as_echo "#define SDL_JOYSTICK_LINUX 1" >>confdefs.h
- SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c"
- have_joystick=yes
- ;;
- android)
++
++
+ SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c"
+ SOURCES="$SOURCES $srcdir/src/joystick/steam/*.c"
+ have_joystick=yes
+ ;;
+ android)
$as_echo "#define SDL_JOYSTICK_ANDROID 1" >>confdefs.h
- SOURCES="$SOURCES $srcdir/src/joystick/android/*.c"
- have_joystick=yes
- ;;
- esac
+ SOURCES="$SOURCES $srcdir/src/joystick/android/*.c"
+ SOURCES="$SOURCES $srcdir/src/joystick/steam/*.c"
+ have_joystick=yes
+ ;;
+ esac
+ fi
fi
# Set up files for the haptic library
if test x$enable_haptic = xyes; then
ac_default_prefix=$BUILD_PREFIX
fi
fi
- CheckDeclarationAfterStatement
++ #CheckDeclarationAfterStatement
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
ARCH=ios
CheckVisibilityHidden
- CheckDeclarationAfterStatement
++ #CheckDeclarationAfterStatement
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"
CheckVisibilityHidden
- CheckDeclarationAfterStatement
++ #CheckDeclarationAfterStatement
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
fi
CheckVisibilityHidden
- CheckDeclarationAfterStatement
++ #CheckDeclarationAfterStatement
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
if test x$PKG_CONFIG != xno && \
test x$video_opengl_egl = xyes && \
test x$video_opengles_v2 = xyes; then
- if $PKG_CONFIG --exists wayland-client wayland-egl wayland-cursor egl xkbcommon xdg-shell-client text-client tizen-extension-client; then
- if $PKG_CONFIG --exists wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon ; then
- WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon`
- WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon`
++ if $PKG_CONFIG --exists wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon xdg-shell-client text-client tizen-extension-client; then
+ WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon xdg-shell-client text-client tizen-extension-client`
+ WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon xdg-shell-client text-client tizen-extension-client`
+ WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
+ WAYLAND_CORE_PROTOCOL_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-client`
+ WAYLAND_PROTOCOLS_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
video_wayland=yes
fi
fi
AC_ARG_ENABLE(video-opengles2,
AC_HELP_STRING([--enable-video-opengles2], [include OpenGL ES 2.0 support [[default=yes]]]),
, enable_video_opengles2=yes)
- AC_ARG_ENABLE(video-vulkan,
- AC_HELP_STRING([--enable-video-vulkan], [include Vulkan support [[default=yes]]]),
- , enable_video_vulkan=yes)
+
dnl Find OpenGL ES
CheckOpenGLESX11()
{
CheckESD
CheckNAS
CheckSNDIO
+ CheckFusionSound
+ CheckLibSampleRate
+ # Need to check for Raspberry PI first and add platform specific compiler flags, otherwise the test for GLES fails!
+ CheckRPI
CheckX11
CheckDirectFB
- CheckFusionSound
+ CheckKMSDRM
CheckOpenGLX11
CheckOpenGLESX11
- CheckVulkanTizen
+ CheckVulkan
CheckMir
CheckWayland
+ CheckTizen
CheckLibUDev
CheckDBus
+ CheckIME
CheckIBus
+ CheckFcitx
case $ARCH in
linux)
CheckInputEvents
*/
extern DECLSPEC int SDLCALL SDL_ConvertAudio(SDL_AudioCVT * cvt);
+ /* SDL_AudioStream is a new audio conversion interface.
+ The benefits vs SDL_AudioCVT:
+ - it can handle resampling data in chunks without generating
+ artifacts, when it doesn't have the complete buffer available.
+ - it can handle incoming data in any variable size.
+ - You push data as you have it, and pull it when you need it
+ */
+ /* this is opaque to the outside world. */
+ struct _SDL_AudioStream;
+ typedef struct _SDL_AudioStream SDL_AudioStream;
+
+ /**
+ * Create a new audio stream
+ *
+ * \param src_format The format of the source audio
+ * \param src_channels The number of channels of the source audio
+ * \param src_rate The sampling rate of the source audio
+ * \param dst_format The format of the desired audio output
+ * \param dst_channels The number of channels of the desired audio output
+ * \param dst_rate The sampling rate of the desired audio output
+ * \return 0 on success, or -1 on error.
+ *
+ * \sa SDL_AudioStreamPut
+ * \sa SDL_AudioStreamGet
+ * \sa SDL_AudioStreamAvailable
+ * \sa SDL_AudioStreamFlush
+ * \sa SDL_AudioStreamClear
+ * \sa SDL_FreeAudioStream
+ */
+ extern DECLSPEC SDL_AudioStream * SDLCALL SDL_NewAudioStream(const SDL_AudioFormat src_format,
+ const Uint8 src_channels,
+ const int src_rate,
+ const SDL_AudioFormat dst_format,
+ const Uint8 dst_channels,
+ const int dst_rate);
+
+ /**
+ * Add data to be converted/resampled to the stream
+ *
+ * \param stream The stream the audio data is being added to
+ * \param buf A pointer to the audio data to add
+ * \param len The number of bytes to write to the stream
+ * \return 0 on success, or -1 on error.
+ *
+ * \sa SDL_NewAudioStream
+ * \sa SDL_AudioStreamGet
+ * \sa SDL_AudioStreamAvailable
+ * \sa SDL_AudioStreamFlush
+ * \sa SDL_AudioStreamClear
+ * \sa SDL_FreeAudioStream
+ */
+ extern DECLSPEC int SDLCALL SDL_AudioStreamPut(SDL_AudioStream *stream, const void *buf, int len);
+
+ /**
+ * Get converted/resampled data from the stream
+ *
+ * \param stream The stream the audio is being requested from
+ * \param buf A buffer to fill with audio data
+ * \param len The maximum number of bytes to fill
+ * \return The number of bytes read from the stream, or -1 on error
+ *
+ * \sa SDL_NewAudioStream
+ * \sa SDL_AudioStreamPut
+ * \sa SDL_AudioStreamAvailable
+ * \sa SDL_AudioStreamFlush
+ * \sa SDL_AudioStreamClear
+ * \sa SDL_FreeAudioStream
+ */
+ extern DECLSPEC int SDLCALL SDL_AudioStreamGet(SDL_AudioStream *stream, void *buf, int len);
+
+ /**
+ * Get the number of converted/resampled bytes available. The stream may be
+ * buffering data behind the scenes until it has enough to resample
+ * correctly, so this number might be lower than what you expect, or even
+ * be zero. Add more data or flush the stream if you need the data now.
+ *
+ * \sa SDL_NewAudioStream
+ * \sa SDL_AudioStreamPut
+ * \sa SDL_AudioStreamGet
+ * \sa SDL_AudioStreamFlush
+ * \sa SDL_AudioStreamClear
+ * \sa SDL_FreeAudioStream
+ */
+ extern DECLSPEC int SDLCALL SDL_AudioStreamAvailable(SDL_AudioStream *stream);
+
+ /**
+ * Tell the stream that you're done sending data, and anything being buffered
+ * should be converted/resampled and made available immediately.
+ *
+ * It is legal to add more data to a stream after flushing, but there will
+ * be audio gaps in the output. Generally this is intended to signal the
+ * end of input, so the complete output becomes available.
+ *
+ * \sa SDL_NewAudioStream
+ * \sa SDL_AudioStreamPut
+ * \sa SDL_AudioStreamGet
+ * \sa SDL_AudioStreamAvailable
+ * \sa SDL_AudioStreamClear
+ * \sa SDL_FreeAudioStream
+ */
+ extern DECLSPEC int SDLCALL SDL_AudioStreamFlush(SDL_AudioStream *stream);
+
+ /**
+ * Clear any pending data in the stream without converting it
+ *
+ * \sa SDL_NewAudioStream
+ * \sa SDL_AudioStreamPut
+ * \sa SDL_AudioStreamGet
+ * \sa SDL_AudioStreamAvailable
+ * \sa SDL_AudioStreamFlush
+ * \sa SDL_FreeAudioStream
+ */
+ extern DECLSPEC void SDLCALL SDL_AudioStreamClear(SDL_AudioStream *stream);
+
+ /**
+ * Free an audio stream
+ *
+ * \sa SDL_NewAudioStream
+ * \sa SDL_AudioStreamPut
+ * \sa SDL_AudioStreamGet
+ * \sa SDL_AudioStreamAvailable
+ * \sa SDL_AudioStreamFlush
+ * \sa SDL_AudioStreamClear
+ */
+ extern DECLSPEC void SDLCALL SDL_FreeAudioStream(SDL_AudioStream *stream);
+
++/* SDL_AudioStream is a new audio conversion interface.
++ The benefits vs SDL_AudioCVT:
++ - it can handle resampling data in chunks without generating
++ artifacts, when it doesn't have the complete buffer available.
++ - it can handle incoming data in any variable size.
++ - You push data as you have it, and pull it when you need it
++ */
++/* this is opaque to the outside world. */
++struct _SDL_AudioStream;
++typedef struct _SDL_AudioStream SDL_AudioStream;
++/**
++ * Create a new audio stream
++ *
++ * \param src_format The format of the source audio
++ * \param src_channels The number of channels of the source audio
++ * \param src_rate The sampling rate of the source audio
++ * \param dst_format The format of the desired audio output
++ * \param dst_channels The number of channels of the desired audio output
++ * \param dst_rate The sampling rate of the desired audio output
++ * \return 0 on success, or -1 on error.
++ *
++ * \sa SDL_AudioStreamPut
++ * \sa SDL_AudioStreamGet
++ * \sa SDL_AudioStreamAvailable
++ * \sa SDL_AudioStreamFlush
++ * \sa SDL_AudioStreamClear
++ * \sa SDL_FreeAudioStream
++ */
++extern DECLSPEC SDL_AudioStream * SDLCALL SDL_NewAudioStream(const SDL_AudioFormat src_format,
++ const Uint8 src_channels,
++ const int src_rate,
++ const SDL_AudioFormat dst_format,
++ const Uint8 dst_channels,
++ const int dst_rate);
++/**
++ * Add data to be converted/resampled to the stream
++ *
++ * \param stream The stream the audio data is being added to
++ * \param buf A pointer to the audio data to add
++ * \param len The number of bytes to write to the stream
++ * \return 0 on success, or -1 on error.
++ *
++ * \sa SDL_NewAudioStream
++ * \sa SDL_AudioStreamGet
++ * \sa SDL_AudioStreamAvailable
++ * \sa SDL_AudioStreamFlush
++ * \sa SDL_AudioStreamClear
++ * \sa SDL_FreeAudioStream
++ */
++extern DECLSPEC int SDLCALL SDL_AudioStreamPut(SDL_AudioStream *stream, const void *buf, int len);
++/**
++ * Get converted/resampled data from the stream
++ *
++ * \param stream The stream the audio is being requested from
++ * \param buf A buffer to fill with audio data
++ * \param len The maximum number of bytes to fill
++ * \return The number of bytes read from the stream, or -1 on error
++ *
++ * \sa SDL_NewAudioStream
++ * \sa SDL_AudioStreamPut
++ * \sa SDL_AudioStreamAvailable
++ * \sa SDL_AudioStreamFlush
++ * \sa SDL_AudioStreamClear
++ * \sa SDL_FreeAudioStream
++ */
++extern DECLSPEC int SDLCALL SDL_AudioStreamGet(SDL_AudioStream *stream, void *buf, int len);
++/**
++ * Get the number of converted/resampled bytes available. The stream may be
++ * buffering data behind the scenes until it has enough to resample
++ * correctly, so this number might be lower than what you expect, or even
++ * be zero. Add more data or flush the stream if you need the data now.
++ *
++ * \sa SDL_NewAudioStream
++ * \sa SDL_AudioStreamPut
++ * \sa SDL_AudioStreamGet
++ * \sa SDL_AudioStreamFlush
++ * \sa SDL_AudioStreamClear
++ * \sa SDL_FreeAudioStream
++ */
++extern DECLSPEC int SDLCALL SDL_AudioStreamAvailable(SDL_AudioStream *stream);
++/**
++ * Tell the stream that you're done sending data, and anything being buffered
++ * should be converted/resampled and made available immediately.
++ *
++ * It is legal to add more data to a stream after flushing, but there will
++ * be audio gaps in the output. Generally this is intended to signal the
++ * end of input, so the complete output becomes available.
++ *
++ * \sa SDL_NewAudioStream
++ * \sa SDL_AudioStreamPut
++ * \sa SDL_AudioStreamGet
++ * \sa SDL_AudioStreamAvailable
++ * \sa SDL_AudioStreamClear
++ * \sa SDL_FreeAudioStream
++ */
++extern DECLSPEC int SDLCALL SDL_AudioStreamFlush(SDL_AudioStream *stream);
++/**
++ * Clear any pending data in the stream without converting it
++ *
++ * \sa SDL_NewAudioStream
++ * \sa SDL_AudioStreamPut
++ * \sa SDL_AudioStreamGet
++ * \sa SDL_AudioStreamAvailable
++ * \sa SDL_AudioStreamFlush
++ * \sa SDL_FreeAudioStream
++ */
++extern DECLSPEC void SDLCALL SDL_AudioStreamClear(SDL_AudioStream *stream);
++/**
++ * Free an audio stream
++ *
++ * \sa SDL_NewAudioStream
++ * \sa SDL_AudioStreamPut
++ * \sa SDL_AudioStreamGet
++ * \sa SDL_AudioStreamAvailable
++ * \sa SDL_AudioStreamFlush
++ * \sa SDL_AudioStreamClear
++ */
++extern DECLSPEC void SDLCALL SDL_FreeAudioStream(SDL_AudioStream *stream);
#define SDL_MIX_MAXVOLUME 128
/**
* This takes two audio buffers of the playing audio format and mixes
#cmakedefine SDL_VIDEO_DRIVER_RPI @SDL_VIDEO_DRIVER_RPI@
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@
#cmakedefine SDL_VIDEO_DRIVER_VIVANTE_VDK @SDL_VIDEO_DRIVER_VIVANTE_VDK@
+#cmakedefine SDL_VIDEO_DRIVER_TIZEN @SDL_VIDEO_DRIVER_TIZEN@
+ #cmakedefine SDL_VIDEO_DRIVER_KMSDRM @SDL_VIDEO_DRIVER_KMSDRM@
+ #cmakedefine SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC @SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC@
+ #cmakedefine SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM @SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM@
+
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH @SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH@
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC@
#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL@
#undef SDL_VIDEO_DRIVER_DUMMY
#undef SDL_VIDEO_DRIVER_WINDOWS
#undef SDL_VIDEO_DRIVER_WAYLAND
++#undef SDL_VIDEO_DRIVER_TIZEN
#undef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR
#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON
- #undef SDL_VIDEO_DRIVER_TIZEN
+#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XDGSHELLCLIENT
+#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_TEXTCLIENT
+#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_TIZENEXTENSIONCLIENT
#undef SDL_VIDEO_DRIVER_MIR
#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC
#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON
*
* \return 1 if mapping is added, 0 if updated, -1 on error
*/
- extern DECLSPEC int SDLCALL SDL_GameControllerAddMapping( const char* mappingString );
+ extern DECLSPEC int SDLCALL SDL_GameControllerAddMapping(const char* mappingString);
/**
+ * Get the number of mappings installed
+ *
+ * \return the number of mappings
+ */
+ extern DECLSPEC int SDLCALL SDL_GameControllerNumMappings(void);
+
+ /**
+ * Get the mapping at a particular index.
+ *
+ * \return the mapping string. Must be freed with SDL_free(). Returns NULL if the index is out of range.
+ */
+ extern DECLSPEC char * SDLCALL SDL_GameControllerMappingForIndex(int mapping_index);
+
+ /**
++ * Get the number of mappings installed
++ *
++ * \return the number of mappings
++ */
++extern DECLSPEC int SDLCALL SDL_GameControllerNumMappings(void);
++/**
++ * Get the mapping at a particular index.
++ *
++ * \return the mapping string. Must be freed with SDL_free(). Returns NULL if the index is out of range.
++ */
++extern DECLSPEC char * SDLCALL SDL_GameControllerMappingForIndex(int mapping_index);
++/**
* Get a mapping string for a GUID
*
- * \return the mapping string. Must be freed with SDL_free. Returns NULL if no mapping is available
+ * \return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available
*/
- extern DECLSPEC char * SDLCALL SDL_GameControllerMappingForGUID( SDL_JoystickGUID guid );
+ extern DECLSPEC char * SDLCALL SDL_GameControllerMappingForGUID(SDL_JoystickGUID guid);
/**
* Get a mapping string for an open GameController
* Return the name for this currently opened controller
*/
extern DECLSPEC const char *SDLCALL SDL_GameControllerName(SDL_GameController *gamecontroller);
++/**
++ * Get the USB vendor ID of an opened controller, if available.
++ * If the vendor ID isn't available this function returns 0.
++ */
++extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetVendor(SDL_GameController * gamecontroller);
++/**
++ * Get the USB product ID of an opened controller, if available.
++ * If the product ID isn't available this function returns 0.
++ */
++extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProduct(SDL_GameController * gamecontroller);
++/**
++ * Get the product version of an opened controller, if available.
++ * If the product version isn't available this function returns 0.
++ */
++extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProductVersion(SDL_GameController * gamecontroller);
+
+ /**
+ * Get the USB vendor ID of an opened controller, if available.
+ * If the vendor ID isn't available this function returns 0.
+ */
+ extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetVendor(SDL_GameController * gamecontroller);
+
+ /**
+ * Get the USB product ID of an opened controller, if available.
+ * If the product ID isn't available this function returns 0.
+ */
+ extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProduct(SDL_GameController * gamecontroller);
+
+ /**
+ * Get the product version of an opened controller, if available.
+ * If the product version isn't available this function returns 0.
+ */
+ extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProductVersion(SDL_GameController * gamecontroller);
/**
* Returns SDL_TRUE if the controller has been opened and currently connected,
* "0" - SDL will generate a window-close event when it sees Alt+F4.
* "1" - SDL will only do normal key handling for Alt+F4.
*/
- #define SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 "SDL_WINDOWS_NO_CLOSE_ON_ALT_F4"
+ #define SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 "SDL_WINDOWS_NO_CLOSE_ON_ALT_F4"
+
+ /**
+ * \brief Prevent SDL from using version 4 of the bitmap header when saving BMPs.
+ *
+ * The bitmap header version 4 is required for proper alpha channel support and
+ * SDL will use it when required. Should this not be desired, this hint can
+ * force the use of the 40 byte header version which is supported everywhere.
+ *
+ * The variable can be set to the following values:
+ * "0" - Surfaces with a colorkey or an alpha channel are saved to a
+ * 32-bit BMP file with an alpha mask. SDL will use the bitmap
+ * header version 4 and set the alpha mask accordingly.
+ * "1" - Surfaces with a colorkey or an alpha channel are saved to a
+ * 32-bit BMP file without an alpha mask. The alpha channel data
+ * will be in the file, but applications are going to ignore it.
+ *
+ * The default value is "0".
+ */
+ #define SDL_HINT_BMP_SAVE_LEGACY_FORMAT "SDL_BMP_SAVE_LEGACY_FORMAT"
+
+ /**
+ * \brief Tell SDL not to name threads on Windows with the 0x406D1388 Exception.
+ * The 0x406D1388 Exception is a trick used to inform Visual Studio of a
+ * thread's name, but it tends to cause problems with other debuggers,
+ * and the .NET runtime. Note that SDL 2.0.6 and later will still use
+ * the (safer) SetThreadDescription API, introduced in the Windows 10
+ * Creators Update, if available.
+ *
+ * The variable can be set to the following values:
+ * "0" - SDL will raise the 0x406D1388 Exception to name threads.
+ * This is the default behavior of SDL <= 2.0.4.
+ * "1" - SDL will not raise this exception, and threads will be unnamed. (default)
+ * This is necessary with .NET languages or debuggers that aren't Visual Studio.
+ */
+ #define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING"
+
+ /**
+ * \brief Tell SDL which Dispmanx layer to use on a Raspberry PI
+ *
+ * Also known as Z-order. The variable can take a negative or positive value.
+ * The default is 10000.
+ */
+ #define SDL_HINT_RPI_VIDEO_LAYER "SDL_RPI_VIDEO_LAYER"
+
+ /**
+ * \brief Tell the video driver that we only want a double buffer.
+ *
+ * By default, most lowlevel 2D APIs will use a triple buffer scheme that
+ * wastes no CPU time on waiting for vsync after issuing a flip, but
+ * introduces a frame of latency. On the other hand, using a double buffer
+ * scheme instead is recommended for cases where low latency is an important
+ * factor because we save a whole frame of latency.
+ * We do so by waiting for vsync immediately after issuing a flip, usually just
+ * after eglSwapBuffers call in the backend's *_SwapWindow function.
+ *
+ * Since it's driver-specific, it's only supported where possible and
+ * implemented. Currently supported the following drivers:
+ * - KMSDRM (kmsdrm)
+ * - Raspberry Pi (raspberrypi)
+ */
+ #define SDL_HINT_VIDEO_DOUBLE_BUFFER "SDL_VIDEO_DOUBLE_BUFFER"
+
+ /**
+ * \brief A variable controlling what driver to use for OpenGL ES contexts.
+ *
+ * On some platforms, currently Windows and X11, OpenGL drivers may support
+ * creating contexts with an OpenGL ES profile. By default SDL uses these
+ * profiles, when available, otherwise it attempts to load an OpenGL ES
+ * library, e.g. that provided by the ANGLE project. This variable controls
+ * whether SDL follows this default behaviour or will always load an
+ * OpenGL ES library.
+ *
+ * Circumstances where this is useful include
+ * - Testing an app with a particular OpenGL ES implementation, e.g ANGLE,
+ * or emulator, e.g. those from ARM, Imagination or Qualcomm.
+ * - Resolving OpenGL ES function addresses at link time by linking with
+ * the OpenGL ES library instead of querying them at run time with
+ * SDL_GL_GetProcAddress().
+ *
+ * Caution: for an application to work with the default behaviour across
+ * different OpenGL drivers it must query the OpenGL ES function
+ * addresses at run time using SDL_GL_GetProcAddress().
+ *
+ * This variable is ignored on most platforms because OpenGL ES is native
+ * or not supported.
+ *
+ * This variable can be set to the following values:
+ * "0" - Use ES profile of OpenGL, if available. (Default when not set.)
+ * "1" - Load OpenGL ES library using the default library names.
+ *
+ */
+ #define SDL_HINT_OPENGL_ES_DRIVER "SDL_OPENGL_ES_DRIVER"
+
+ /**
+ * \brief A variable controlling speed/quality tradeoff of audio resampling.
+ *
+ * If available, SDL can use libsamplerate ( http://www.mega-nerd.com/SRC/ )
+ * to handle audio resampling. There are different resampling modes available
+ * that produce different levels of quality, using more CPU.
+ *
+ * If this hint isn't specified to a valid setting, or libsamplerate isn't
+ * available, SDL will use the default, internal resampling algorithm.
+ *
+ * Note that this is currently only applicable to resampling audio that is
+ * being written to a device for playback or audio being read from a device
+ * for capture. SDL_AudioCVT always uses the default resampler (although this
+ * might change for SDL 2.1).
+ *
+ * This hint is currently only checked at audio subsystem initialization.
+ *
+ * This variable can be set to the following values:
+ *
+ * "0" or "default" - Use SDL's internal resampling (Default when not set - low quality, fast)
+ * "1" or "fast" - Use fast, slightly higher quality resampling, if available
+ * "2" or "medium" - Use medium quality resampling, if available
+ * "3" or "best" - Use high quality resampling, if available
+ */
+ #define SDL_HINT_AUDIO_RESAMPLING_MODE "SDL_AUDIO_RESAMPLING_MODE"
+
+ /**
+ * \brief A variable controlling the audio category on iOS and Mac OS X
+ *
+ * This variable can be set to the following values:
+ *
+ * "ambient" - Use the AVAudioSessionCategoryAmbient audio category, will be muted by the phone mute switch (default)
+ * "playback" - Use the AVAudioSessionCategoryPlayback category
+ *
+ * For more information, see Apple's documentation:
+ * https://developer.apple.com/library/content/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionCategoriesandModes/AudioSessionCategoriesandModes.html
+ */
+ #define SDL_HINT_AUDIO_CATEGORY "SDL_AUDIO_CATEGORY"
+
++
+/**
+ * \brief Set Tizen indicator opacity
+ *
+ * The variable can be one of
+ * "#opaque" - Opacifies the indicator
+ * "#translucent" - Be translucent the indicator
+ * "#transparent" - Transparentizes the indicator (this is the default)
+ * "#bg_transparent" - Transparentizes the indicator background
+ */
+#define SDL_HINT_TIZEN_INDICATOR_OPACITY "SDL_TIZEN_INDICATOR_OPACITY"
+
-
/**
* \brief An enumeration of hint priorities
*/
extern DECLSPEC void SDLCALL SDL_RenderGetLogicalSize(SDL_Renderer * renderer, int *w, int *h);
/**
+ * \brief Set whether to force integer scales for resolution-independent rendering
+ *
+ * \param renderer The renderer for which integer scaling should be set.
+ * \param enable Enable or disable integer scaling
+ *
+ * This function restricts the logical viewport to integer values - that is, when
+ * a resolution is between two multiples of a logical size, the viewport size is
+ * rounded down to the lower multiple.
+ *
+ * \sa SDL_RenderSetLogicalSize()
+ */
+ extern DECLSPEC int SDLCALL SDL_RenderSetIntegerScale(SDL_Renderer * renderer,
+ SDL_bool enable);
+
+ /**
+ * \brief Get whether integer scales are forced for resolution-independent rendering
+ *
+ * \param renderer The renderer from which integer scaling should be queried.
+ *
+ * \sa SDL_RenderSetIntegerScale()
+ */
+ extern DECLSPEC SDL_bool SDLCALL SDL_RenderGetIntegerScale(SDL_Renderer * renderer);
+
+ /**
++ * \brief Set whether to force integer scales for resolution-independent rendering
++ *
++ * \param renderer The renderer for which integer scaling should be set.
++ * \param enable Enable or disable integer scaling
++ *
++ * This function restricts the logical viewport to integer values - that is, when
++ * a resolution is between two multiples of a logical size, the viewport size is
++ * rounded down to the lower multiple.
++ *
++ * \sa SDL_RenderSetLogicalSize()
++ */
++extern DECLSPEC int SDLCALL SDL_RenderSetIntegerScale(SDL_Renderer * renderer,
++ SDL_bool enable);
++
++/**
++ * \brief Get whether integer scales are forced for resolution-independent rendering
++ *
++ * \param renderer The renderer from which integer scaling should be queried.
++ *
++ * \sa SDL_RenderSetIntegerScale()
++ */
++extern DECLSPEC SDL_bool SDLCALL SDL_RenderGetIntegerScale(SDL_Renderer * renderer);
++
++/**
* \brief Set the drawing area for rendering on the current target.
*
* \param renderer The renderer for which the drawing area should be set.
(SDL_Surface * src, SDL_Rect * srcrect,
SDL_Surface * dst, SDL_Rect * dstrect);
+ /**
+ * \brief Set the YUV conversion mode
+ */
+ extern DECLSPEC void SDLCALL SDL_SetYUVConversionMode(SDL_YUV_CONVERSION_MODE mode);
+
+ /**
+ * \brief Get the YUV conversion mode
+ */
+ extern DECLSPEC SDL_YUV_CONVERSION_MODE SDLCALL SDL_GetYUVConversionMode(void);
+ /**
+ * \brief Get the YUV conversion mode, returning the correct mode for the resolution when the current conversion mode is SDL_YUV_CONVERSION_AUTOMATIC
+ */
+ extern DECLSPEC SDL_YUV_CONVERSION_MODE SDLCALL SDL_GetYUVConversionModeForResolution(int width, int height);
+
++/**
++ * \brief Get the YUV conversion mode
++ */
++extern DECLSPEC SDL_YUV_CONVERSION_MODE SDLCALL SDL_GetYUVConversionMode(void);
++/**
++ * \brief Get the YUV conversion mode, returning the correct mode for the resolution when the current conversion mode is SDL_YUV_CONVERSION_AUTOMATIC
++ */
++extern DECLSPEC SDL_YUV_CONVERSION_MODE SDLCALL SDL_GetYUVConversionModeForResolution(int width, int height);
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
}
SDL_SYSWM_MIR,
SDL_SYSWM_WINRT,
SDL_SYSWM_ANDROID,
- SDL_SYSWM_TIZEN
+ SDL_SYSWM_VIVANTE,
++ SDL_SYSWM_TIZEN,
+ SDL_SYSWM_OS2
} SDL_SYSWM_TYPE;
/**
EGLSurface surface;
} android;
#endif
+#if defined(SDL_VIDEO_DRIVER_TIZEN)
+ struct
+ {
+// struct wl_display *display; /**< Wayland display */
+// struct wl_surface *surface; /**< Wayland surface */
+// struct wl_shell_surface *shell_surface; /**< Wayland shell_surface (window manager handle) */
+
+ /* For GLES */
+ void* egl_display; /**< EGLDispaly when OPENGLES is enabled */
+ void* egl_surface; /**< EGLSurface when OPENGLES is enabled for this wl_surface */
+ } tizen;
+#endif
- /* Can't have an empty union */
- int dummy;
+ #if defined(SDL_VIDEO_DRIVER_VIVANTE)
+ struct
+ {
+ EGLNativeDisplayType display;
+ EGLNativeWindowType window;
+ } vivante;
+ #endif
+
+ /* Make sure this union is always 64 bytes (8 64-bit pointers). */
+ /* Be careful not to overflow this if you add a new target! */
+ Uint8 dummy[64];
} info;
};
SDL_GL_SHARE_WITH_CURRENT_CONTEXT,
SDL_GL_FRAMEBUFFER_SRGB_CAPABLE,
SDL_GL_CONTEXT_RELEASE_BEHAVIOR,
- SDL_GL_CONTEXT_PRIORITY
+ SDL_GL_CONTEXT_RESET_NOTIFICATION,
++ SDL_GL_CONTEXT_PRIORITY,
+ SDL_GL_CONTEXT_NO_ERROR
} SDL_GLattr;
typedef enum
typedef enum
{
- /**
- * \brief An opaque handle to an Vulkan instance.
- */
- typedef void *SDL_vulkanInstance;
-
- /**
- * \brief An opaque handle to an Vulkan instance.
- */
- typedef void *SDL_vulkanSurface;
+ SDL_GL_CONTEXT_PRIORITY_NONE = 0x0000,
+ SDL_GL_CONTEXT_PRIORITY_HIGH = 0x0001,
+ SDL_GL_CONTEXT_PRIORITY_MEDIUM = 0x0002,
+ SDL_GL_CONTEXT_PRIORITY_LOW = 0x0003
+} SDL_GLcontextPriorityLevel;
+
++typedef enum
++{
+ SDL_GL_CONTEXT_RESET_NO_NOTIFICATION = 0x0000,
+ SDL_GL_CONTEXT_RESET_LOSE_CONTEXT = 0x0001
+ } SDL_GLContextResetNotification;
/* Function prototypes */
--- /dev/null
- Version: 2.0.4
+Summary: Simple DirectMedia Layer
+Name: SDL2
- #BuildRequires: Vulkan-LoaderAndValidationLayers
- #BuildRequires: Vulkan-LoaderAndValidationLayers-devel
++Version: 2.0.8
+Release: 2
+Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz
+URL: http://www.libsdl.org/
+License: Zlib and SGI-B-2.0
+Group: System Environment/Libraries
+BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
+Prefix: %{_prefix}
+%ifos linux
+Provides: libSDL2-2.0.so.0
+%endif
+
+%define _unpackaged_files_terminate_build 0
+%define __defattr %defattr(-,root,root)
+%define __soext so
+
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+BuildRequires: pkgconfig(egl)
+BuildRequires: pkgconfig(glesv2)
+BuildRequires: pkgconfig(wayland-client)
+BuildRequires: pkgconfig(wayland-cursor)
+BuildRequires: pkgconfig(wayland-egl)
+BuildRequires: pkgconfig(wayland-egl-tizen)
+BuildRequires: pkgconfig(text-client)
+BuildRequires: pkgconfig(tizen-extension-client)
+BuildRequires: pkgconfig(tizen-remote-surface-client)
+BuildRequires: pkgconfig(wayland-tbm-client)
+Requires: libwayland-extension-client
+BuildRequires: pkgconfig(xkbcommon)
+BuildRequires: pkgconfig(libpng)
+BuildRequires: pkgconfig(libxml-2.0)
+BuildRequires: pkgconfig(pixman-1)
+BuildRequires: pkgconfig(freetype2)
+BuildRequires: pkgconfig(fontconfig)
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(libdrm)
+BuildRequires: pkgconfig(ecore-ipc)
+BuildRequires: binutils-devel
+BuildRequires: which
+BuildRequires: autoconf
+BuildRequires: pkgconfig(ecore)
+BuildRequires: pkgconfig(ecore-wl2)
+BuildRequires: pkgconfig(appcore-common)
+BuildRequires: pkgconfig(capi-appfw-application)
+BuildRequires: pkgconfig(capi-system-system-settings)
+BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(ecore-imf)
+BuildRequires: pkgconfig(aul)
+BuildRequires: pkgconfig(elementary)
- %license COPYING
++BuildRequires: pkgconfig(libpulse)
++BuildRequires: terminfo-base-mini
++BuildRequires: Vulkan-LoaderAndValidationLayers
++BuildRequires: Vulkan-LoaderAndValidationLayers-devel
+
+%description
+This is the Simple DirectMedia Layer, a generic API that provides low
+level access to audio, keyboard, mouse, and display framebuffer across
+multiple platforms.
+
+%package devel
+Summary: Libraries, includes and more to develop SDL applications.
+Group: Development/Libraries
+Requires: %{name} = %{version}
+
+%description devel
+This is the Simple DirectMedia Layer, a generic API that provides low
+level access to audio, keyboard, mouse, and display framebuffer across
+multiple platforms.
+
+This is the libraries, include files and other resources you can use
+to develop SDL applications.
+
+
+%prep
+%setup -q
+
+%build
+cd src/video/tizen/indicator
+make #%{?_smp_mflgs}
+
+cd ../../../../
+%if "%{asan}" == "1"
+%restore_fcommon
+LDFLAGS+=" -lasan -ldl "
+%endif
+%ifos linux
+CFLAGS="$RPM_OPT_FLAGS" %configure --prefix=%{prefix} --disable-video-directfb --disable-video-wayland --enable-video-tizen %{?asan:--disable-assembly}
+%else
+%configure %{?asan:--disable-assembly}
+%endif
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+%ifos linux
+cd src/video/tizen/indicator
+make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_bindir}
+
+cd ../../../../
+make install prefix=$RPM_BUILD_ROOT%{prefix} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} \
+ libdir=$RPM_BUILD_ROOT%{_libdir} \
+ includedir=$RPM_BUILD_ROOT%{_includedir} \
+ datadir=$RPM_BUILD_ROOT%{_datadir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir}
+%else
+%makeinstall
+%endif
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+/usr/bin/sdl_indicator
+%manifest SDL2.manifest
+%{__defattr}
++%license COPYING.txt
+#%doc README*.txt COPYING.txt CREDITS.txt BUGS.txt
+%{_libdir}/lib*.%{__soext}.*
+
+%files devel
+%{__defattr}
+#%doc docs/README*.md
+%{_bindir}/*-config
+%{_libdir}/lib*.a
+%{_libdir}/lib*.la
+%{_libdir}/lib*.%{__soext}
+%{_includedir}/*/*.h
+%{_libdir}/pkgconfig/*
+%{_datadir}/aclocal/*
+
+%changelog
+* Thu Jun 04 2015 Ryan C. Gordon <icculus@icculus.org>
+- Fixed README paths.
+
+* Sun Dec 07 2014 Simone Contini <s.contini@oltrelinux.com>
+- Fixed changelog date issue and docs filenames
+
+* Sun Jan 22 2012 Sam Lantinga <slouken@libsdl.org>
+- Updated for SDL 2.0
+
+* Tue May 16 2006 Sam Lantinga <slouken@libsdl.org>
+- Removed support for Darwin, due to build problems on ps2linux
+
+* Sat Jan 03 2004 Anders Bjorklund <afb@algonet.se>
+- Added support for Darwin, updated spec file
+
+* Wed Jan 19 2000 Sam Lantinga <slouken@libsdl.org>
+- Re-integrated spec file into SDL distribution
+- 'name' and 'version' come from configure
+- Some of the documentation is devel specific
+- Removed SMP support from %build - it doesn't work with libtool anyway
+
+* Tue Jan 18 2000 Hakan Tandogan <hakan@iconsult.com>
+- Hacked Mandrake sdl spec to build 1.1
+
+* Sun Dec 19 1999 John Buswell <johnb@mandrakesoft.com>
+- Build Release
+
+* Sat Dec 18 1999 John Buswell <johnb@mandrakesoft.com>
+- Add symlink for libSDL-1.0.so.0 required by sdlbomber
+- Added docs
+
+* Thu Dec 09 1999 Lenny Cartier <lenny@mandrakesoft.com>
+- v 1.0.0
+
+* Mon Nov 1 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
+- First spec file for Mandrake distribution.
+
+# end of file
static HANDLE stderrHandle = NULL;
#endif
- static void
++
+#if defined(__TIZEN__)
+static void
+SDL_PrintDlog(int priority, char *format, ...)
+{
+ va_list ap;
+
+ if (priority >= SDL_NUM_LOG_PRIORITIES)
+ return;
+
+ va_start(ap, format);
+ dlog_vprint(SDL_dlog_debug_priority[priority], LOG_TAG, format, ap);
+ va_end(ap);
+}
+#endif
+
+ static void SDLCALL
SDL_LogOutput(void *userdata, int category, SDL_LogPriority priority,
const char *message)
{
free_device_list(¤t_audio.inputDevices, ¤t_audio.inputDeviceCount);
/* Free the driver data */
- if(current_audio.impl.Deinitialize)
- current_audio.impl.Deinitialize();
+ current_audio.impl.Deinitialize();
SDL_DestroyMutex(current_audio.detectionLock);
+++ /dev/null
--/*
-- Simple DirectMedia Layer
-- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
--
-- 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.
--*/
--#include "../../SDL_internal.h"
--
--#if SDL_AUDIO_DRIVER_COREAUDIO
--
--#include "SDL_audio.h"
--#include "../SDL_audio_c.h"
--#include "../SDL_sysaudio.h"
--#include "SDL_coreaudio.h"
--#include "SDL_assert.h"
--
--#define DEBUG_COREAUDIO 0
--
--static void COREAUDIO_CloseDevice(_THIS);
--
--#define CHECK_RESULT(msg) \
-- if (result != noErr) { \
-- COREAUDIO_CloseDevice(this); \
-- SDL_SetError("CoreAudio error (%s): %d", msg, (int) result); \
-- return 0; \
-- }
--
--#if MACOSX_COREAUDIO
--static const AudioObjectPropertyAddress devlist_address = {
-- kAudioHardwarePropertyDevices,
-- kAudioObjectPropertyScopeGlobal,
-- kAudioObjectPropertyElementMaster
--};
--
--typedef void (*addDevFn)(const char *name, const int iscapture, AudioDeviceID devId, void *data);
--
--typedef struct AudioDeviceList
--{
-- AudioDeviceID devid;
-- SDL_bool alive;
-- struct AudioDeviceList *next;
--} AudioDeviceList;
--
--static AudioDeviceList *output_devs = NULL;
--static AudioDeviceList *capture_devs = NULL;
--
--static SDL_bool
--add_to_internal_dev_list(const int iscapture, AudioDeviceID devId)
--{
-- AudioDeviceList *item = (AudioDeviceList *) SDL_malloc(sizeof (AudioDeviceList));
-- if (item == NULL) {
-- return SDL_FALSE;
-- }
-- item->devid = devId;
-- item->alive = SDL_TRUE;
-- item->next = iscapture ? capture_devs : output_devs;
-- if (iscapture) {
-- capture_devs = item;
-- } else {
-- output_devs = item;
-- }
--
-- return SDL_TRUE;
--}
--
--static void
--addToDevList(const char *name, const int iscapture, AudioDeviceID devId, void *data)
--{
-- if (add_to_internal_dev_list(iscapture, devId)) {
-- SDL_AddAudioDevice(iscapture, name, (void *) ((size_t) devId));
-- }
--}
--
--static void
--build_device_list(int iscapture, addDevFn addfn, void *addfndata)
--{
-- OSStatus result = noErr;
-- UInt32 size = 0;
-- AudioDeviceID *devs = NULL;
-- UInt32 i = 0;
-- UInt32 max = 0;
--
-- result = AudioObjectGetPropertyDataSize(kAudioObjectSystemObject,
-- &devlist_address, 0, NULL, &size);
-- if (result != kAudioHardwareNoError)
-- return;
--
-- devs = (AudioDeviceID *) alloca(size);
-- if (devs == NULL)
-- return;
--
-- result = AudioObjectGetPropertyData(kAudioObjectSystemObject,
-- &devlist_address, 0, NULL, &size, devs);
-- if (result != kAudioHardwareNoError)
-- return;
--
-- max = size / sizeof (AudioDeviceID);
-- for (i = 0; i < max; i++) {
-- CFStringRef cfstr = NULL;
-- char *ptr = NULL;
-- AudioDeviceID dev = devs[i];
-- AudioBufferList *buflist = NULL;
-- int usable = 0;
-- CFIndex len = 0;
-- const AudioObjectPropertyAddress addr = {
-- kAudioDevicePropertyStreamConfiguration,
-- iscapture ? kAudioDevicePropertyScopeInput : kAudioDevicePropertyScopeOutput,
-- kAudioObjectPropertyElementMaster
-- };
--
-- const AudioObjectPropertyAddress nameaddr = {
-- kAudioObjectPropertyName,
-- iscapture ? kAudioDevicePropertyScopeInput : kAudioDevicePropertyScopeOutput,
-- kAudioObjectPropertyElementMaster
-- };
--
-- result = AudioObjectGetPropertyDataSize(dev, &addr, 0, NULL, &size);
-- if (result != noErr)
-- continue;
--
-- buflist = (AudioBufferList *) SDL_malloc(size);
-- if (buflist == NULL)
-- continue;
--
-- result = AudioObjectGetPropertyData(dev, &addr, 0, NULL,
-- &size, buflist);
--
-- if (result == noErr) {
-- UInt32 j;
-- for (j = 0; j < buflist->mNumberBuffers; j++) {
-- if (buflist->mBuffers[j].mNumberChannels > 0) {
-- usable = 1;
-- break;
-- }
-- }
-- }
--
-- SDL_free(buflist);
--
-- if (!usable)
-- continue;
--
--
-- size = sizeof (CFStringRef);
-- result = AudioObjectGetPropertyData(dev, &nameaddr, 0, NULL, &size, &cfstr);
-- if (result != kAudioHardwareNoError)
-- continue;
--
-- len = CFStringGetMaximumSizeForEncoding(CFStringGetLength(cfstr),
-- kCFStringEncodingUTF8);
--
-- ptr = (char *) SDL_malloc(len + 1);
-- usable = ((ptr != NULL) &&
-- (CFStringGetCString
-- (cfstr, ptr, len + 1, kCFStringEncodingUTF8)));
--
-- CFRelease(cfstr);
--
-- if (usable) {
-- len = strlen(ptr);
-- /* Some devices have whitespace at the end...trim it. */
-- while ((len > 0) && (ptr[len - 1] == ' ')) {
-- len--;
-- }
-- usable = (len > 0);
-- }
--
-- if (usable) {
-- ptr[len] = '\0';
--
--#if DEBUG_COREAUDIO
-- printf("COREAUDIO: Found %s device #%d: '%s' (devid %d)\n",
-- ((iscapture) ? "capture" : "output"),
-- (int) *devCount, ptr, (int) dev);
--#endif
-- addfn(ptr, iscapture, dev, addfndata);
-- }
-- SDL_free(ptr); /* addfn() would have copied the string. */
-- }
--}
--
--static void
--free_audio_device_list(AudioDeviceList **list)
--{
-- AudioDeviceList *item = *list;
-- while (item) {
-- AudioDeviceList *next = item->next;
-- SDL_free(item);
-- item = next;
-- }
-- *list = NULL;
--}
--
--static void
--COREAUDIO_DetectDevices(void)
--{
-- build_device_list(SDL_TRUE, addToDevList, NULL);
-- build_device_list(SDL_FALSE, addToDevList, NULL);
--}
--
--static void
--build_device_change_list(const char *name, const int iscapture, AudioDeviceID devId, void *data)
--{
-- AudioDeviceList **list = (AudioDeviceList **) data;
-- AudioDeviceList *item;
-- for (item = *list; item != NULL; item = item->next) {
-- if (item->devid == devId) {
-- item->alive = SDL_TRUE;
-- return;
-- }
-- }
--
-- add_to_internal_dev_list(iscapture, devId); /* new device, add it. */
-- SDL_AddAudioDevice(iscapture, name, (void *) ((size_t) devId));
--}
--
--static void
--reprocess_device_list(const int iscapture, AudioDeviceList **list)
--{
-- AudioDeviceList *item;
-- AudioDeviceList *prev = NULL;
-- for (item = *list; item != NULL; item = item->next) {
-- item->alive = SDL_FALSE;
-- }
--
-- build_device_list(iscapture, build_device_change_list, list);
--
-- /* free items in the list that aren't still alive. */
-- item = *list;
-- while (item != NULL) {
-- AudioDeviceList *next = item->next;
-- if (item->alive) {
-- prev = item;
-- } else {
-- SDL_RemoveAudioDevice(iscapture, (void *) ((size_t) item->devid));
-- if (prev) {
-- prev->next = item->next;
-- } else {
-- *list = item->next;
-- }
-- SDL_free(item);
-- }
-- item = next;
-- }
--}
--
--/* this is called when the system's list of available audio devices changes. */
--static OSStatus
--device_list_changed(AudioObjectID systemObj, UInt32 num_addr, const AudioObjectPropertyAddress *addrs, void *data)
--{
-- reprocess_device_list(SDL_TRUE, &capture_devs);
-- reprocess_device_list(SDL_FALSE, &output_devs);
-- return 0;
--}
--#endif
--
--/* The CoreAudio callback */
--static OSStatus
--outputCallback(void *inRefCon,
-- AudioUnitRenderActionFlags * ioActionFlags,
-- const AudioTimeStamp * inTimeStamp,
-- UInt32 inBusNumber, UInt32 inNumberFrames,
-- AudioBufferList * ioData)
--{
-- SDL_AudioDevice *this = (SDL_AudioDevice *) inRefCon;
-- AudioBuffer *abuf;
-- UInt32 remaining, len;
-- void *ptr;
-- UInt32 i;
--
-- /* Only do anything if audio is enabled and not paused */
-- if (!this->enabled || this->paused) {
-- for (i = 0; i < ioData->mNumberBuffers; i++) {
-- abuf = &ioData->mBuffers[i];
-- SDL_memset(abuf->mData, this->spec.silence, abuf->mDataByteSize);
-- }
-- return 0;
-- }
--
-- /* No SDL conversion should be needed here, ever, since we accept
-- any input format in OpenAudio, and leave the conversion to CoreAudio.
-- */
-- /*
-- SDL_assert(!this->convert.needed);
-- SDL_assert(this->spec.channels == ioData->mNumberChannels);
-- */
--
-- for (i = 0; i < ioData->mNumberBuffers; i++) {
-- abuf = &ioData->mBuffers[i];
-- remaining = abuf->mDataByteSize;
-- ptr = abuf->mData;
-- while (remaining > 0) {
-- if (this->hidden->bufferOffset >= this->hidden->bufferSize) {
-- /* Generate the data */
-- SDL_LockMutex(this->mixer_lock);
-- (*this->spec.callback)(this->spec.userdata,
-- this->hidden->buffer, this->hidden->bufferSize);
-- SDL_UnlockMutex(this->mixer_lock);
-- this->hidden->bufferOffset = 0;
-- }
--
-- len = this->hidden->bufferSize - this->hidden->bufferOffset;
-- if (len > remaining)
-- len = remaining;
-- SDL_memcpy(ptr, (char *)this->hidden->buffer +
-- this->hidden->bufferOffset, len);
-- ptr = (char *)ptr + len;
-- remaining -= len;
-- this->hidden->bufferOffset += len;
-- }
-- }
--
-- return 0;
--}
--
--static OSStatus
--inputCallback(void *inRefCon,
-- AudioUnitRenderActionFlags * ioActionFlags,
-- const AudioTimeStamp * inTimeStamp,
-- UInt32 inBusNumber, UInt32 inNumberFrames,
-- AudioBufferList * ioData)
--{
-- /* err = AudioUnitRender(afr->fAudioUnit, ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, afr->fAudioBuffer); */
-- /* !!! FIXME: write me! */
-- return noErr;
--}
--
--
--#if MACOSX_COREAUDIO
--static const AudioObjectPropertyAddress alive_address =
--{
-- kAudioDevicePropertyDeviceIsAlive,
-- kAudioObjectPropertyScopeGlobal,
-- kAudioObjectPropertyElementMaster
--};
--
--static OSStatus
--device_unplugged(AudioObjectID devid, UInt32 num_addr, const AudioObjectPropertyAddress *addrs, void *data)
--{
-- SDL_AudioDevice *this = (SDL_AudioDevice *) data;
-- SDL_bool dead = SDL_FALSE;
-- UInt32 isAlive = 1;
-- UInt32 size = sizeof (isAlive);
-- OSStatus error;
--
-- if (!this->enabled) {
-- return 0; /* already known to be dead. */
-- }
--
-- error = AudioObjectGetPropertyData(this->hidden->deviceID, &alive_address,
-- 0, NULL, &size, &isAlive);
--
-- if (error == kAudioHardwareBadDeviceError) {
-- dead = SDL_TRUE; /* device was unplugged. */
-- } else if ((error == kAudioHardwareNoError) && (!isAlive)) {
-- dead = SDL_TRUE; /* device died in some other way. */
-- }
--
-- if (dead) {
-- SDL_OpenedAudioDeviceDisconnected(this);
-- }
--
-- return 0;
--}
--#endif
--
--static void
--COREAUDIO_CloseDevice(_THIS)
--{
-- if (this->hidden != NULL) {
-- if (this->hidden->audioUnitOpened) {
-- #if MACOSX_COREAUDIO
-- /* Unregister our disconnect callback. */
-- AudioObjectRemovePropertyListener(this->hidden->deviceID, &alive_address, device_unplugged, this);
-- #endif
--
-- AURenderCallbackStruct callback;
-- const AudioUnitElement output_bus = 0;
-- const AudioUnitElement input_bus = 1;
-- const int iscapture = this->iscapture;
-- const AudioUnitElement bus =
-- ((iscapture) ? input_bus : output_bus);
-- const AudioUnitScope scope =
-- ((iscapture) ? kAudioUnitScope_Output :
-- kAudioUnitScope_Input);
--
-- /* stop processing the audio unit */
-- AudioOutputUnitStop(this->hidden->audioUnit);
--
-- /* Remove the input callback */
-- SDL_memset(&callback, 0, sizeof(AURenderCallbackStruct));
-- AudioUnitSetProperty(this->hidden->audioUnit,
-- kAudioUnitProperty_SetRenderCallback,
-- scope, bus, &callback, sizeof(callback));
--
-- #if MACOSX_COREAUDIO
-- CloseComponent(this->hidden->audioUnit);
-- #else
-- AudioComponentInstanceDispose(this->hidden->audioUnit);
-- #endif
--
-- this->hidden->audioUnitOpened = 0;
-- }
-- SDL_free(this->hidden->buffer);
-- SDL_free(this->hidden);
-- this->hidden = NULL;
-- }
--}
--
--#if MACOSX_COREAUDIO
--static int
--prepare_device(_THIS, void *handle, int iscapture)
--{
-- AudioDeviceID devid = (AudioDeviceID) ((size_t) handle);
-- OSStatus result = noErr;
-- UInt32 size = 0;
-- UInt32 alive = 0;
-- pid_t pid = 0;
--
-- AudioObjectPropertyAddress addr = {
-- 0,
-- kAudioObjectPropertyScopeGlobal,
-- kAudioObjectPropertyElementMaster
-- };
--
-- if (handle == NULL) {
-- size = sizeof (AudioDeviceID);
-- addr.mSelector =
-- ((iscapture) ? kAudioHardwarePropertyDefaultInputDevice :
-- kAudioHardwarePropertyDefaultOutputDevice);
-- result = AudioObjectGetPropertyData(kAudioObjectSystemObject, &addr,
-- 0, NULL, &size, &devid);
-- CHECK_RESULT("AudioHardwareGetProperty (default device)");
-- }
--
-- addr.mSelector = kAudioDevicePropertyDeviceIsAlive;
-- addr.mScope = iscapture ? kAudioDevicePropertyScopeInput :
-- kAudioDevicePropertyScopeOutput;
--
-- size = sizeof (alive);
-- result = AudioObjectGetPropertyData(devid, &addr, 0, NULL, &size, &alive);
-- CHECK_RESULT
-- ("AudioDeviceGetProperty (kAudioDevicePropertyDeviceIsAlive)");
--
-- if (!alive) {
-- SDL_SetError("CoreAudio: requested device exists, but isn't alive.");
-- return 0;
-- }
--
-- addr.mSelector = kAudioDevicePropertyHogMode;
-- size = sizeof (pid);
-- result = AudioObjectGetPropertyData(devid, &addr, 0, NULL, &size, &pid);
--
-- /* some devices don't support this property, so errors are fine here. */
-- if ((result == noErr) && (pid != -1)) {
-- SDL_SetError("CoreAudio: requested device is being hogged.");
-- return 0;
-- }
--
-- this->hidden->deviceID = devid;
-- return 1;
--}
--#endif
--
--static int
--prepare_audiounit(_THIS, void *handle, int iscapture,
-- const AudioStreamBasicDescription * strdesc)
--{
-- OSStatus result = noErr;
-- AURenderCallbackStruct callback;
--#if MACOSX_COREAUDIO
-- ComponentDescription desc;
-- Component comp = NULL;
--#else
-- AudioComponentDescription desc;
-- AudioComponent comp = NULL;
--#endif
-- const AudioUnitElement output_bus = 0;
-- const AudioUnitElement input_bus = 1;
-- const AudioUnitElement bus = ((iscapture) ? input_bus : output_bus);
-- const AudioUnitScope scope = ((iscapture) ? kAudioUnitScope_Output :
-- kAudioUnitScope_Input);
--
--#if MACOSX_COREAUDIO
-- if (!prepare_device(this, handle, iscapture)) {
-- return 0;
-- }
--#endif
--
-- SDL_zero(desc);
-- desc.componentType = kAudioUnitType_Output;
-- desc.componentManufacturer = kAudioUnitManufacturer_Apple;
--
--#if MACOSX_COREAUDIO
-- desc.componentSubType = kAudioUnitSubType_DefaultOutput;
-- comp = FindNextComponent(NULL, &desc);
--#else
-- desc.componentSubType = kAudioUnitSubType_RemoteIO;
-- comp = AudioComponentFindNext(NULL, &desc);
--#endif
--
-- if (comp == NULL) {
-- SDL_SetError("Couldn't find requested CoreAudio component");
-- return 0;
-- }
--
-- /* Open & initialize the audio unit */
--#if MACOSX_COREAUDIO
-- result = OpenAComponent(comp, &this->hidden->audioUnit);
-- CHECK_RESULT("OpenAComponent");
--#else
-- /*
-- AudioComponentInstanceNew only available on iPhone OS 2.0 and Mac OS X 10.6
-- We can't use OpenAComponent on iPhone because it is not present
-- */
-- result = AudioComponentInstanceNew(comp, &this->hidden->audioUnit);
-- CHECK_RESULT("AudioComponentInstanceNew");
--#endif
--
-- this->hidden->audioUnitOpened = 1;
--
--#if MACOSX_COREAUDIO
-- result = AudioUnitSetProperty(this->hidden->audioUnit,
-- kAudioOutputUnitProperty_CurrentDevice,
-- kAudioUnitScope_Global, 0,
-- &this->hidden->deviceID,
-- sizeof(AudioDeviceID));
-- CHECK_RESULT
-- ("AudioUnitSetProperty (kAudioOutputUnitProperty_CurrentDevice)");
--#endif
--
-- /* Set the data format of the audio unit. */
-- result = AudioUnitSetProperty(this->hidden->audioUnit,
-- kAudioUnitProperty_StreamFormat,
-- scope, bus, strdesc, sizeof(*strdesc));
-- CHECK_RESULT("AudioUnitSetProperty (kAudioUnitProperty_StreamFormat)");
--
-- /* Set the audio callback */
-- SDL_memset(&callback, 0, sizeof(AURenderCallbackStruct));
-- callback.inputProc = ((iscapture) ? inputCallback : outputCallback);
-- callback.inputProcRefCon = this;
-- result = AudioUnitSetProperty(this->hidden->audioUnit,
-- kAudioUnitProperty_SetRenderCallback,
-- scope, bus, &callback, sizeof(callback));
-- CHECK_RESULT
-- ("AudioUnitSetProperty (kAudioUnitProperty_SetRenderCallback)");
--
-- /* Calculate the final parameters for this audio specification */
-- SDL_CalculateAudioSpec(&this->spec);
--
-- /* Allocate a sample buffer */
-- this->hidden->bufferOffset = this->hidden->bufferSize = this->spec.size;
-- this->hidden->buffer = SDL_malloc(this->hidden->bufferSize);
--
-- result = AudioUnitInitialize(this->hidden->audioUnit);
-- CHECK_RESULT("AudioUnitInitialize");
--
-- /* Finally, start processing of the audio unit */
-- result = AudioOutputUnitStart(this->hidden->audioUnit);
-- CHECK_RESULT("AudioOutputUnitStart");
--
--#if MACOSX_COREAUDIO
-- /* Fire a callback if the device stops being "alive" (disconnected, etc). */
-- AudioObjectAddPropertyListener(this->hidden->deviceID, &alive_address, device_unplugged, this);
--#endif
--
-- /* We're running! */
-- return 1;
--}
--
--
--static int
--COREAUDIO_OpenDevice(_THIS, void *handle, const char *devname, int iscapture)
--{
-- AudioStreamBasicDescription strdesc;
-- SDL_AudioFormat test_format = SDL_FirstAudioFormat(this->spec.format);
-- int valid_datatype = 0;
--
-- /* Initialize all variables that we clean on shutdown */
-- this->hidden = (struct SDL_PrivateAudioData *)
-- SDL_malloc((sizeof *this->hidden));
-- if (this->hidden == NULL) {
-- return SDL_OutOfMemory();
-- }
-- SDL_memset(this->hidden, 0, (sizeof *this->hidden));
--
-- /* Setup a AudioStreamBasicDescription with the requested format */
-- SDL_memset(&strdesc, '\0', sizeof(AudioStreamBasicDescription));
-- strdesc.mFormatID = kAudioFormatLinearPCM;
-- strdesc.mFormatFlags = kLinearPCMFormatFlagIsPacked;
-- strdesc.mChannelsPerFrame = this->spec.channels;
-- strdesc.mSampleRate = this->spec.freq;
-- strdesc.mFramesPerPacket = 1;
--
-- while ((!valid_datatype) && (test_format)) {
-- this->spec.format = test_format;
-- /* Just a list of valid SDL formats, so people don't pass junk here. */
-- switch (test_format) {
-- case AUDIO_U8:
-- case AUDIO_S8:
-- case AUDIO_U16LSB:
-- case AUDIO_S16LSB:
-- case AUDIO_U16MSB:
-- case AUDIO_S16MSB:
-- case AUDIO_S32LSB:
-- case AUDIO_S32MSB:
-- case AUDIO_F32LSB:
-- case AUDIO_F32MSB:
-- valid_datatype = 1;
-- strdesc.mBitsPerChannel = SDL_AUDIO_BITSIZE(this->spec.format);
-- if (SDL_AUDIO_ISBIGENDIAN(this->spec.format))
-- strdesc.mFormatFlags |= kLinearPCMFormatFlagIsBigEndian;
--
-- if (SDL_AUDIO_ISFLOAT(this->spec.format))
-- strdesc.mFormatFlags |= kLinearPCMFormatFlagIsFloat;
-- else if (SDL_AUDIO_ISSIGNED(this->spec.format))
-- strdesc.mFormatFlags |= kLinearPCMFormatFlagIsSignedInteger;
-- break;
-- }
-- }
--
-- if (!valid_datatype) { /* shouldn't happen, but just in case... */
-- COREAUDIO_CloseDevice(this);
-- return SDL_SetError("Unsupported audio format");
-- }
--
-- strdesc.mBytesPerFrame =
-- strdesc.mBitsPerChannel * strdesc.mChannelsPerFrame / 8;
-- strdesc.mBytesPerPacket =
-- strdesc.mBytesPerFrame * strdesc.mFramesPerPacket;
--
-- if (!prepare_audiounit(this, handle, iscapture, &strdesc)) {
-- COREAUDIO_CloseDevice(this);
-- return -1; /* prepare_audiounit() will call SDL_SetError()... */
-- }
--
-- return 0; /* good to go. */
--}
--
--static void
--COREAUDIO_Deinitialize(void)
--{
--#if MACOSX_COREAUDIO
-- AudioObjectRemovePropertyListener(kAudioObjectSystemObject, &devlist_address, device_list_changed, NULL);
-- free_audio_device_list(&capture_devs);
-- free_audio_device_list(&output_devs);
--#endif
--}
--
--static int
--COREAUDIO_Init(SDL_AudioDriverImpl * impl)
--{
-- /* Set the function pointers */
-- impl->OpenDevice = COREAUDIO_OpenDevice;
-- impl->CloseDevice = COREAUDIO_CloseDevice;
-- impl->Deinitialize = COREAUDIO_Deinitialize;
--
--#if MACOSX_COREAUDIO
-- impl->DetectDevices = COREAUDIO_DetectDevices;
-- AudioObjectAddPropertyListener(kAudioObjectSystemObject, &devlist_address, device_list_changed, NULL);
--#else
-- impl->OnlyHasDefaultOutputDevice = 1;
--
-- /* Set category to ambient sound so that other music continues playing.
-- You can change this at runtime in your own code if you need different
-- behavior. If this is common, we can add an SDL hint for this.
-- */
-- AudioSessionInitialize(NULL, NULL, NULL, nil);
-- UInt32 category = kAudioSessionCategory_AmbientSound;
-- AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(UInt32), &category);
--#endif
--
-- impl->ProvidesOwnCallbackThread = 1;
--
-- return 1; /* this audio target is available. */
--}
--
--AudioBootStrap COREAUDIO_bootstrap = {
-- "coreaudio", "CoreAudio", COREAUDIO_Init, 0
--};
--
--#endif /* SDL_AUDIO_DRIVER_COREAUDIO */
--
--/* vi: set ts=4 sw=4 expandtab: */
snd_pcm_t *handle;
/* Add device number to device name */
- SDL_snprintf(qsa_playback_device[qsa_playback_devices].name
- + SDL_strlen(qsa_playback_device[qsa_playback_devices].name),
- sizeof (qsa_playback_device[qsa_playback_devices].name
- + SDL_strlen(qsa_playback_device[qsa_playback_devices].name)),
- " d%d", devices);
+ sprintf(qsa_playback_device[qsa_playback_devices].name +
+ SDL_strlen(qsa_playback_device
+ [qsa_playback_devices].name), " d%d",
+ devices);
-
/* Store associated card number id */
qsa_playback_device[qsa_playback_devices].cardno = it;
+++ /dev/null
--#!/usr/bin/perl -w
--
--use warnings;
--use strict;
--
--my @audiotypes = qw(
-- U8
-- S8
-- U16LSB
-- S16LSB
-- U16MSB
-- S16MSB
-- S32LSB
-- S32MSB
-- F32LSB
-- F32MSB
--);
--
--my @channels = ( 1, 2, 4, 6, 8 );
--my %funcs;
--my $custom_converters = 0;
--
--
--sub getTypeConvertHashId {
-- my ($from, $to) = @_;
-- return "TYPECONVERTER $from/$to";
--}
--
--
--sub getResamplerHashId {
-- my ($from, $channels, $upsample, $multiple) = @_;
-- return "RESAMPLER $from/$channels/$upsample/$multiple";
--}
--
--
--sub outputHeader {
-- print <<EOF;
--/* DO NOT EDIT! This file is generated by sdlgenaudiocvt.pl */
--/*
-- Simple DirectMedia Layer
-- Copyright (C) 1997-2016 Sam Lantinga <slouken\@libsdl.org>
--
-- 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.
--*/
--
--#include "../SDL_internal.h"
--#include "SDL_audio.h"
--#include "SDL_audio_c.h"
--
--#ifndef DEBUG_CONVERT
--#define DEBUG_CONVERT 0
--#endif
--
--
--/* If you can guarantee your data and need space, you can eliminate code... */
--
--/* Just build the arbitrary resamplers if you're saving code space. */
--#ifndef LESS_RESAMPLERS
--#define LESS_RESAMPLERS 0
--#endif
--
--/* Don't build any resamplers if you're REALLY saving code space. */
--#ifndef NO_RESAMPLERS
--#define NO_RESAMPLERS 0
--#endif
--
--/* Don't build any type converters if you're saving code space. */
--#ifndef NO_CONVERTERS
--#define NO_CONVERTERS 0
--#endif
--
--
--/* *INDENT-OFF* */
--
--EOF
--
-- my @vals = ( 127, 32767, 2147483647 );
-- foreach (@vals) {
-- my $val = $_;
-- my $fval = 1.0 / $val;
-- print("#define DIVBY${val} ${fval}f\n");
-- }
--
-- print("\n");
--}
--
--sub outputFooter {
-- print <<EOF;
--/* $custom_converters converters generated. */
--
--/* *INDENT-ON* */
--
--/* vi: set ts=4 sw=4 expandtab: */
--EOF
--}
--
--sub splittype {
-- my $t = shift;
-- my ($signed, $size, $endian) = $t =~ /([USF])(\d+)([LM]SB|)/;
-- my $float = ($signed eq 'F') ? 1 : 0;
-- $signed = (($float) or ($signed eq 'S')) ? 1 : 0;
-- $endian = 'NONE' if ($endian eq '');
--
-- my $ctype = '';
-- if ($float) {
-- $ctype = (($size == 32) ? 'float' : 'double');
-- } else {
-- $ctype = (($signed) ? 'S' : 'U') . "int${size}";
-- }
--
-- return ($signed, $float, $size, $endian, $ctype);
--}
--
--sub getSwapFunc {
-- my ($size, $signed, $float, $endian, $val) = @_;
-- my $BEorLE = (($endian eq 'MSB') ? 'BE' : 'LE');
-- my $code = '';
--
-- if ($float) {
-- $code = "SDL_SwapFloat${BEorLE}($val)";
-- } else {
-- if ($size > 8) {
-- $code = "SDL_Swap${BEorLE}${size}($val)";
-- } else {
-- $code = $val;
-- }
--
-- if (($signed) and (!$float)) {
-- $code = "((Sint${size}) $code)";
-- }
-- }
--
-- return "${code}";
--}
--
--
--sub maxIntVal {
-- my $size = shift;
-- if ($size == 8) {
-- return 0x7F;
-- } elsif ($size == 16) {
-- return 0x7FFF;
-- } elsif ($size == 32) {
-- return 0x7FFFFFFF;
-- }
--
-- die("bug in script.\n");
--}
--
--sub getFloatToIntMult {
-- my $size = shift;
-- my $val = maxIntVal($size) . '.0';
-- $val .= 'f' if ($size < 32);
-- return $val;
--}
--
--sub getIntToFloatDivBy {
-- my $size = shift;
-- return 'DIVBY' . maxIntVal($size);
--}
--
--sub getSignFlipVal {
-- my $size = shift;
-- if ($size == 8) {
-- return '0x80';
-- } elsif ($size == 16) {
-- return '0x8000';
-- } elsif ($size == 32) {
-- return '0x80000000';
-- }
--
-- die("bug in script.\n");
--}
--
--sub buildCvtFunc {
-- my ($from, $to) = @_;
-- my ($fsigned, $ffloat, $fsize, $fendian, $fctype) = splittype($from);
-- my ($tsigned, $tfloat, $tsize, $tendian, $tctype) = splittype($to);
-- my $diffs = 0;
-- $diffs++ if ($fsize != $tsize);
-- $diffs++ if ($fsigned != $tsigned);
-- $diffs++ if ($ffloat != $tfloat);
-- $diffs++ if ($fendian ne $tendian);
--
-- return if ($diffs == 0);
--
-- my $hashid = getTypeConvertHashId($from, $to);
-- if (1) { # !!! FIXME: if ($diffs > 1) {
-- my $sym = "SDL_Convert_${from}_to_${to}";
-- $funcs{$hashid} = $sym;
-- $custom_converters++;
--
-- # Always unsigned for ints, for possible byteswaps.
-- my $srctype = (($ffloat) ? 'float' : "Uint${fsize}");
--
-- print <<EOF;
--static void SDLCALL
--${sym}(SDL_AudioCVT * cvt, SDL_AudioFormat format)
--{
-- int i;
-- const $srctype *src;
-- $tctype *dst;
--
--#if DEBUG_CONVERT
-- fprintf(stderr, "Converting AUDIO_${from} to AUDIO_${to}.\\n");
--#endif
--
--EOF
--
-- if ($fsize < $tsize) {
-- my $mult = $tsize / $fsize;
-- print <<EOF;
-- src = ((const $srctype *) (cvt->buf + cvt->len_cvt)) - 1;
-- dst = (($tctype *) (cvt->buf + cvt->len_cvt * $mult)) - 1;
-- for (i = cvt->len_cvt / sizeof ($srctype); i; --i, --src, --dst) {
--EOF
-- } else {
-- print <<EOF;
-- src = (const $srctype *) cvt->buf;
-- dst = ($tctype *) cvt->buf;
-- for (i = cvt->len_cvt / sizeof ($srctype); i; --i, ++src, ++dst) {
--EOF
-- }
--
-- # Have to convert to/from float/int.
-- # !!! FIXME: cast through double for int32<->float?
-- my $code = getSwapFunc($fsize, $fsigned, $ffloat, $fendian, '*src');
-- if ($ffloat != $tfloat) {
-- if ($ffloat) {
-- my $mult = getFloatToIntMult($tsize);
-- if (!$tsigned) { # bump from -1.0f/1.0f to 0.0f/2.0f
-- $code = "($code + 1.0f)";
-- }
-- $code = "(($tctype) ($code * $mult))";
-- } else {
-- # $divby will be the reciprocal, to avoid pipeline stalls
-- # from floating point division...so multiply it.
-- my $divby = getIntToFloatDivBy($fsize);
-- $code = "(((float) $code) * $divby)";
-- if (!$fsigned) { # bump from 0.0f/2.0f to -1.0f/1.0f.
-- $code = "($code - 1.0f)";
-- }
-- }
-- } else {
-- # All integer conversions here.
-- if ($fsigned != $tsigned) {
-- my $signflipval = getSignFlipVal($fsize);
-- $code = "(($code) ^ $signflipval)";
-- }
--
-- my $shiftval = abs($fsize - $tsize);
-- if ($fsize < $tsize) {
-- $code = "((($tctype) $code) << $shiftval)";
-- } elsif ($fsize > $tsize) {
-- $code = "(($tctype) ($code >> $shiftval))";
-- }
-- }
--
-- my $swap = getSwapFunc($tsize, $tsigned, $tfloat, $tendian, 'val');
--
-- print <<EOF;
-- const $tctype val = $code;
-- *dst = ${swap};
-- }
--
--EOF
--
-- if ($fsize > $tsize) {
-- my $divby = $fsize / $tsize;
-- print(" cvt->len_cvt /= $divby;\n");
-- } elsif ($fsize < $tsize) {
-- my $mult = $tsize / $fsize;
-- print(" cvt->len_cvt *= $mult;\n");
-- }
--
-- print <<EOF;
-- if (cvt->filters[++cvt->filter_index]) {
-- cvt->filters[cvt->filter_index] (cvt, AUDIO_$to);
-- }
--}
--
--EOF
--
-- } else {
-- if ($fsigned != $tsigned) {
-- $funcs{$hashid} = 'SDL_ConvertSigned';
-- } elsif ($ffloat != $tfloat) {
-- $funcs{$hashid} = 'SDL_ConvertFloat';
-- } elsif ($fsize != $tsize) {
-- $funcs{$hashid} = 'SDL_ConvertSize';
-- } elsif ($fendian ne $tendian) {
-- $funcs{$hashid} = 'SDL_ConvertEndian';
-- } else {
-- die("error in script.\n");
-- }
-- }
--}
--
--
--sub buildTypeConverters {
-- print "#if !NO_CONVERTERS\n\n";
-- foreach (@audiotypes) {
-- my $from = $_;
-- foreach (@audiotypes) {
-- my $to = $_;
-- buildCvtFunc($from, $to);
-- }
-- }
-- print "#endif /* !NO_CONVERTERS */\n\n\n";
--
-- print "const SDL_AudioTypeFilters sdl_audio_type_filters[] =\n{\n";
-- print "#if !NO_CONVERTERS\n";
-- foreach (@audiotypes) {
-- my $from = $_;
-- foreach (@audiotypes) {
-- my $to = $_;
-- if ($from ne $to) {
-- my $hashid = getTypeConvertHashId($from, $to);
-- my $sym = $funcs{$hashid};
-- print(" { AUDIO_$from, AUDIO_$to, $sym },\n");
-- }
-- }
-- }
-- print "#endif /* !NO_CONVERTERS */\n";
--
-- print(" { 0, 0, NULL }\n");
-- print "};\n\n\n";
--}
--
--sub getBiggerCtype {
-- my ($isfloat, $size) = @_;
--
-- if ($isfloat) {
-- if ($size == 32) {
-- return 'double';
-- }
-- die("bug in script.\n");
-- }
--
-- if ($size == 8) {
-- return 'Sint16';
-- } elsif ($size == 16) {
-- return 'Sint32'
-- } elsif ($size == 32) {
-- return 'Sint64'
-- }
--
-- die("bug in script.\n");
--}
--
--
--# These handle arbitrary resamples...44100Hz to 48000Hz, for example.
--# Man, this code is skanky.
--sub buildArbitraryResampleFunc {
-- # !!! FIXME: we do a lot of unnecessary and ugly casting in here, due to getSwapFunc().
-- my ($from, $channels, $upsample) = @_;
-- my ($fsigned, $ffloat, $fsize, $fendian, $fctype) = splittype($from);
--
-- my $bigger = getBiggerCtype($ffloat, $fsize);
-- my $interp = ($ffloat) ? '* 0.5' : '>> 1';
--
-- my $resample = ($upsample) ? 'Upsample' : 'Downsample';
-- my $hashid = getResamplerHashId($from, $channels, $upsample, 0);
-- my $sym = "SDL_${resample}_${from}_${channels}c";
-- $funcs{$hashid} = $sym;
-- $custom_converters++;
--
-- my $fudge = $fsize * $channels * 2; # !!! FIXME
-- my $eps_adjust = ($upsample) ? 'dstsize' : 'srcsize';
-- my $incr = '';
-- my $incr2 = '';
-- my $block_align = $channels * $fsize/8;
--
--
-- # !!! FIXME: DEBUG_CONVERT should report frequencies.
-- print <<EOF;
--static void SDLCALL
--${sym}(SDL_AudioCVT * cvt, SDL_AudioFormat format)
--{
--#if DEBUG_CONVERT
-- fprintf(stderr, "$resample arbitrary (x%f) AUDIO_${from}, ${channels} channels.\\n", cvt->rate_incr);
--#endif
--
-- const int srcsize = cvt->len_cvt - $fudge;
-- const int dstsize = (int) (((double)(cvt->len_cvt/${block_align})) * cvt->rate_incr) * ${block_align};
-- register int eps = 0;
--EOF
--
-- my $endcomparison = '!=';
--
-- # Upsampling (growing the buffer) needs to work backwards, since we
-- # overwrite the buffer as we go.
-- if ($upsample) {
-- $endcomparison = '>='; # dst > target
-- print <<EOF;
-- $fctype *dst = (($fctype *) (cvt->buf + dstsize)) - $channels;
-- const $fctype *src = (($fctype *) (cvt->buf + cvt->len_cvt)) - $channels;
-- const $fctype *target = ((const $fctype *) cvt->buf);
--EOF
-- } else {
-- $endcomparison = '<'; # dst < target
-- print <<EOF;
-- $fctype *dst = ($fctype *) cvt->buf;
-- const $fctype *src = ($fctype *) cvt->buf;
-- const $fctype *target = (const $fctype *) (cvt->buf + dstsize);
--EOF
-- }
--
-- for (my $i = 0; $i < $channels; $i++) {
-- my $idx = ($upsample) ? (($channels - $i) - 1) : $i;
-- my $val = getSwapFunc($fsize, $fsigned, $ffloat, $fendian, "src[$idx]");
-- print <<EOF;
-- $fctype sample${idx} = $val;
--EOF
-- }
--
-- for (my $i = 0; $i < $channels; $i++) {
-- my $idx = ($upsample) ? (($channels - $i) - 1) : $i;
-- print <<EOF;
-- $fctype last_sample${idx} = sample${idx};
--EOF
-- }
--
-- print <<EOF;
-- while (dst $endcomparison target) {
--EOF
--
-- if ($upsample) {
-- for (my $i = 0; $i < $channels; $i++) {
-- # !!! FIXME: don't do this swap every write, just when the samples change.
-- my $idx = (($channels - $i) - 1);
-- my $val = getSwapFunc($fsize, $fsigned, $ffloat, $fendian, "sample${idx}");
-- print <<EOF;
-- dst[$idx] = $val;
--EOF
-- }
--
-- $incr = ($channels == 1) ? 'dst--' : "dst -= $channels";
-- $incr2 = ($channels == 1) ? 'src--' : "src -= $channels";
--
-- print <<EOF;
-- $incr;
-- eps += srcsize;
-- if ((eps << 1) >= dstsize) {
-- $incr2;
--EOF
-- } else { # downsample.
-- $incr = ($channels == 1) ? 'src++' : "src += $channels";
-- print <<EOF;
-- $incr;
-- eps += dstsize;
-- if ((eps << 1) >= srcsize) {
--EOF
-- for (my $i = 0; $i < $channels; $i++) {
-- my $val = getSwapFunc($fsize, $fsigned, $ffloat, $fendian, "sample${i}");
-- print <<EOF;
-- dst[$i] = $val;
--EOF
-- }
--
-- $incr = ($channels == 1) ? 'dst++' : "dst += $channels";
-- print <<EOF;
-- $incr;
--EOF
-- }
--
-- for (my $i = 0; $i < $channels; $i++) {
-- my $idx = ($upsample) ? (($channels - $i) - 1) : $i;
-- my $swapped = getSwapFunc($fsize, $fsigned, $ffloat, $fendian, "src[$idx]");
-- print <<EOF;
-- sample${idx} = ($fctype) (((($bigger) $swapped) + (($bigger) last_sample${idx})) $interp);
--EOF
-- }
--
-- for (my $i = 0; $i < $channels; $i++) {
-- my $idx = ($upsample) ? (($channels - $i) - 1) : $i;
-- print <<EOF;
-- last_sample${idx} = sample${idx};
--EOF
-- }
--
-- print <<EOF;
-- eps -= $eps_adjust;
-- }
-- }
--EOF
--
-- print <<EOF;
-- cvt->len_cvt = dstsize;
-- if (cvt->filters[++cvt->filter_index]) {
-- cvt->filters[cvt->filter_index] (cvt, format);
-- }
--}
--
--EOF
--
--}
--
--# These handle clean resamples...doubling and quadrupling the sample rate, etc.
--sub buildMultipleResampleFunc {
-- # !!! FIXME: we do a lot of unnecessary and ugly casting in here, due to getSwapFunc().
-- my ($from, $channels, $upsample, $multiple) = @_;
-- my ($fsigned, $ffloat, $fsize, $fendian, $fctype) = splittype($from);
--
-- my $bigger = getBiggerCtype($ffloat, $fsize);
-- my $interp = ($ffloat) ? '* 0.5' : '>> 1';
-- my $interp2 = ($ffloat) ? '* 0.25' : '>> 2';
-- my $mult3 = ($ffloat) ? '3.0' : '3';
-- my $lencvtop = ($upsample) ? '*' : '/';
--
-- my $resample = ($upsample) ? 'Upsample' : 'Downsample';
-- my $hashid = getResamplerHashId($from, $channels, $upsample, $multiple);
-- my $sym = "SDL_${resample}_${from}_${channels}c_x${multiple}";
-- $funcs{$hashid} = $sym;
-- $custom_converters++;
--
-- # !!! FIXME: DEBUG_CONVERT should report frequencies.
-- print <<EOF;
--static void SDLCALL
--${sym}(SDL_AudioCVT * cvt, SDL_AudioFormat format)
--{
--#if DEBUG_CONVERT
-- fprintf(stderr, "$resample (x${multiple}) AUDIO_${from}, ${channels} channels.\\n");
--#endif
--
-- const int dstsize = cvt->len_cvt $lencvtop $multiple;
--EOF
--
-- my $endcomparison = '!=';
--
-- # Upsampling (growing the buffer) needs to work backwards, since we
-- # overwrite the buffer as we go.
-- if ($upsample) {
-- $endcomparison = '>='; # dst > target
-- print <<EOF;
-- $fctype *dst = (($fctype *) (cvt->buf + dstsize)) - $channels * $multiple;
-- const $fctype *src = (($fctype *) (cvt->buf + cvt->len_cvt)) - $channels;
-- const $fctype *target = ((const $fctype *) cvt->buf);
--EOF
-- } else {
-- $endcomparison = '<'; # dst < target
-- print <<EOF;
-- $fctype *dst = ($fctype *) cvt->buf;
-- const $fctype *src = ($fctype *) cvt->buf;
-- const $fctype *target = (const $fctype *) (cvt->buf + dstsize);
--EOF
-- }
--
-- for (my $i = 0; $i < $channels; $i++) {
-- my $idx = ($upsample) ? (($channels - $i) - 1) : $i;
-- my $val = getSwapFunc($fsize, $fsigned, $ffloat, $fendian, "src[$idx]");
-- print <<EOF;
-- $bigger last_sample${idx} = ($bigger) $val;
--EOF
-- }
--
-- print <<EOF;
-- while (dst $endcomparison target) {
--EOF
--
-- for (my $i = 0; $i < $channels; $i++) {
-- my $idx = ($upsample) ? (($channels - $i) - 1) : $i;
-- my $val = getSwapFunc($fsize, $fsigned, $ffloat, $fendian, "src[$idx]");
-- print <<EOF;
-- const $bigger sample${idx} = ($bigger) $val;
--EOF
-- }
--
-- my $incr = '';
-- if ($upsample) {
-- $incr = ($channels == 1) ? 'src--' : "src -= $channels";
-- } else {
-- my $amount = $channels * $multiple;
-- $incr = "src += $amount"; # can't ever be 1, so no "++" version.
-- }
--
--
-- print <<EOF;
-- $incr;
--EOF
--
-- # !!! FIXME: This really begs for some Altivec or SSE, etc.
-- if ($upsample) {
-- if ($multiple == 2) {
-- for (my $i = $channels-1; $i >= 0; $i--) {
-- my $dsti = $i + $channels;
-- print <<EOF;
-- dst[$dsti] = ($fctype) ((sample${i} + last_sample${i}) $interp);
--EOF
-- }
-- for (my $i = $channels-1; $i >= 0; $i--) {
-- my $dsti = $i;
-- print <<EOF;
-- dst[$dsti] = ($fctype) sample${i};
--EOF
-- }
-- } elsif ($multiple == 4) {
-- for (my $i = $channels-1; $i >= 0; $i--) {
-- my $dsti = $i + ($channels * 3);
-- print <<EOF;
-- dst[$dsti] = ($fctype) ((sample${i} + ($mult3 * last_sample${i})) $interp2);
--EOF
-- }
--
-- for (my $i = $channels-1; $i >= 0; $i--) {
-- my $dsti = $i + ($channels * 2);
-- print <<EOF;
-- dst[$dsti] = ($fctype) ((sample${i} + last_sample${i}) $interp);
--EOF
-- }
--
-- for (my $i = $channels-1; $i >= 0; $i--) {
-- my $dsti = $i + ($channels * 1);
-- print <<EOF;
-- dst[$dsti] = ($fctype) ((($mult3 * sample${i}) + last_sample${i}) $interp2);
--EOF
-- }
--
-- for (my $i = $channels-1; $i >= 0; $i--) {
-- my $dsti = $i + ($channels * 0);
-- print <<EOF;
-- dst[$dsti] = ($fctype) sample${i};
--EOF
-- }
-- } else {
-- die('bug in program.'); # we only handle x2 and x4.
-- }
-- } else { # downsample.
-- if ($multiple == 2) {
-- for (my $i = 0; $i < $channels; $i++) {
-- print <<EOF;
-- dst[$i] = ($fctype) ((sample${i} + last_sample${i}) $interp);
--EOF
-- }
-- } elsif ($multiple == 4) {
-- # !!! FIXME: interpolate all 4 samples?
-- for (my $i = 0; $i < $channels; $i++) {
-- print <<EOF;
-- dst[$i] = ($fctype) ((sample${i} + last_sample${i}) $interp);
--EOF
-- }
-- } else {
-- die('bug in program.'); # we only handle x2 and x4.
-- }
-- }
--
-- for (my $i = 0; $i < $channels; $i++) {
-- my $idx = ($upsample) ? (($channels - $i) - 1) : $i;
-- print <<EOF;
-- last_sample${idx} = sample${idx};
--EOF
-- }
--
-- if ($upsample) {
-- my $amount = $channels * $multiple;
-- $incr = "dst -= $amount"; # can't ever be 1, so no "--" version.
-- } else {
-- $incr = ($channels == 1) ? 'dst++' : "dst += $channels";
-- }
--
-- print <<EOF;
-- $incr;
-- }
--
-- cvt->len_cvt = dstsize;
-- if (cvt->filters[++cvt->filter_index]) {
-- cvt->filters[cvt->filter_index] (cvt, format);
-- }
--}
--
--EOF
--
--}
--
--sub buildResamplers {
-- print "#if !NO_RESAMPLERS\n\n";
-- foreach (@audiotypes) {
-- my $from = $_;
-- foreach (@channels) {
-- my $channel = $_;
-- buildArbitraryResampleFunc($from, $channel, 1);
-- buildArbitraryResampleFunc($from, $channel, 0);
-- }
-- }
--
-- print "\n#if !LESS_RESAMPLERS\n\n";
-- foreach (@audiotypes) {
-- my $from = $_;
-- foreach (@channels) {
-- my $channel = $_;
-- for (my $multiple = 2; $multiple <= 4; $multiple += 2) {
-- buildMultipleResampleFunc($from, $channel, 1, $multiple);
-- buildMultipleResampleFunc($from, $channel, 0, $multiple);
-- }
-- }
-- }
--
-- print "#endif /* !LESS_RESAMPLERS */\n";
-- print "#endif /* !NO_RESAMPLERS */\n\n\n";
--
-- print "const SDL_AudioRateFilters sdl_audio_rate_filters[] =\n{\n";
-- print "#if !NO_RESAMPLERS\n";
-- foreach (@audiotypes) {
-- my $from = $_;
-- foreach (@channels) {
-- my $channel = $_;
-- for (my $upsample = 0; $upsample <= 1; $upsample++) {
-- my $hashid = getResamplerHashId($from, $channel, $upsample, 0);
-- my $sym = $funcs{$hashid};
-- print(" { AUDIO_$from, $channel, $upsample, 0, $sym },\n");
-- }
-- }
-- }
--
-- print "#if !LESS_RESAMPLERS\n";
-- foreach (@audiotypes) {
-- my $from = $_;
-- foreach (@channels) {
-- my $channel = $_;
-- for (my $multiple = 2; $multiple <= 4; $multiple += 2) {
-- for (my $upsample = 0; $upsample <= 1; $upsample++) {
-- my $hashid = getResamplerHashId($from, $channel, $upsample, $multiple);
-- my $sym = $funcs{$hashid};
-- print(" { AUDIO_$from, $channel, $upsample, $multiple, $sym },\n");
-- }
-- }
-- }
-- }
--
-- print "#endif /* !LESS_RESAMPLERS */\n";
-- print "#endif /* !NO_RESAMPLERS */\n";
-- print(" { 0, 0, 0, 0, NULL }\n");
-- print "};\n\n";
--}
--
--
--# mainline ...
--
--outputHeader();
--buildTypeConverters();
--buildResamplers();
--outputFooter();
--
--exit 0;
--
--# end of sdlgenaudiocvt.pl ...
--
+++ /dev/null
--/*
-- Simple DirectMedia Layer
-- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
--
-- 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.
--*/
--
--/* WinRT NOTICE:
--
-- A few changes to SDL's XAudio2 backend were warranted by API
-- changes to Windows. Many, but not all of these are documented by Microsoft
-- at:
-- http://blogs.msdn.com/b/chuckw/archive/2012/04/02/xaudio2-and-windows-8-consumer-preview.aspx
--
-- 1. Windows' thread synchronization function, CreateSemaphore, was removed
-- from WinRT. SDL's semaphore API was substituted instead.
-- 2. The method calls, IXAudio2::GetDeviceCount and IXAudio2::GetDeviceDetails
-- were removed from the XAudio2 API. Microsoft is telling developers to
-- use APIs in Windows::Foundation instead.
-- For SDL, the missing methods were reimplemented using the APIs Microsoft
-- said to use.
-- 3. CoInitialize and CoUninitialize are not available in WinRT.
-- These calls were removed, as COM will have been initialized earlier,
-- at least by the call to the WinRT app's main function
-- (aka 'int main(Platform::Array<Platform::String^>^)). (DLudwig:
-- This was my understanding of how WinRT: the 'main' function uses
-- a tag of [MTAThread], which should initialize COM. My understanding
-- of COM is somewhat limited, and I may be incorrect here.)
-- 4. IXAudio2::CreateMasteringVoice changed its integer-based 'DeviceIndex'
-- argument to a string-based one, 'szDeviceId'. In WinRT, the
-- string-based argument will be used.
--*/
--#include "../../SDL_internal.h"
--
--#if SDL_AUDIO_DRIVER_XAUDIO2
--
--#include "../../core/windows/SDL_windows.h"
--#include "SDL_audio.h"
--#include "../SDL_audio_c.h"
--#include "../SDL_sysaudio.h"
--#include "SDL_assert.h"
--
--#ifdef __GNUC__
--/* The configure script already did any necessary checking */
--# define SDL_XAUDIO2_HAS_SDK 1
--#elif defined(__WINRT__)
--/* WinRT always has access to the XAudio 2 SDK (albeit with a header file
-- that doesn't compile as C code).
--*/
--# define SDL_XAUDIO2_HAS_SDK
--#include "SDL_xaudio2.h" /* ... compiles as C code, in contrast to XAudio2 headers
-- in the Windows SDK, v.10.0.10240.0 (Win 10's initial SDK)
-- */
--#else
--/* XAudio2 exists in the last DirectX SDK as well as the latest Windows SDK.
-- To enable XAudio2 support, you will need to add the location of your DirectX SDK headers to
-- the SDL projects additional include directories and then set SDL_XAUDIO2_HAS_SDK=1 as a
-- preprocessor define
-- */
--#if 0 /* See comment above */
--#include <dxsdkver.h>
--#if (!defined(_DXSDK_BUILD_MAJOR) || (_DXSDK_BUILD_MAJOR < 1284))
--# pragma message("Your DirectX SDK is too old. Disabling XAudio2 support.")
--#else
--# define SDL_XAUDIO2_HAS_SDK 1
--#endif
--#endif
--#endif /* 0 */
--
--#ifdef SDL_XAUDIO2_HAS_SDK
--
--/* Check to see if we're compiling for XAudio 2.8, or higher. */
--#ifdef WINVER
--#if WINVER >= 0x0602 /* Windows 8 SDK or higher? */
--#define SDL_XAUDIO2_WIN8 1
--#endif
--#endif
--
--#if !defined(_SDL_XAUDIO2_H)
--#define INITGUID 1
--#include <xaudio2.h>
--#endif
--
--/* Hidden "this" pointer for the audio functions */
--#define _THIS SDL_AudioDevice *this
--
--#ifdef __WINRT__
--#include "SDL_xaudio2_winrthelpers.h"
--#endif
--
--/* Fixes bug 1210 where some versions of gcc need named parameters */
--#ifdef __GNUC__
--#ifdef THIS
--#undef THIS
--#endif
--#define THIS INTERFACE *p
--#ifdef THIS_
--#undef THIS_
--#endif
--#define THIS_ INTERFACE *p,
--#endif
--
--struct SDL_PrivateAudioData
--{
-- IXAudio2 *ixa2;
-- IXAudio2SourceVoice *source;
-- IXAudio2MasteringVoice *mastering;
-- SDL_sem * semaphore;
-- Uint8 *mixbuf;
-- int mixlen;
-- Uint8 *nextbuf;
--};
--
--
--static void
--XAUDIO2_DetectDevices(void)
--{
-- IXAudio2 *ixa2 = NULL;
-- UINT32 devcount = 0;
-- UINT32 i = 0;
--
-- if (XAudio2Create(&ixa2, 0, XAUDIO2_DEFAULT_PROCESSOR) != S_OK) {
-- SDL_SetError("XAudio2: XAudio2Create() failed at detection.");
-- return;
-- } else if (IXAudio2_GetDeviceCount(ixa2, &devcount) != S_OK) {
-- SDL_SetError("XAudio2: IXAudio2::GetDeviceCount() failed.");
-- IXAudio2_Release(ixa2);
-- return;
-- }
--
-- for (i = 0; i < devcount; i++) {
-- XAUDIO2_DEVICE_DETAILS details;
-- if (IXAudio2_GetDeviceDetails(ixa2, i, &details) == S_OK) {
-- char *str = WIN_StringToUTF8(details.DisplayName);
-- if (str != NULL) {
-- SDL_AddAudioDevice(SDL_FALSE, str, (void *) ((size_t) i+1));
-- SDL_free(str); /* SDL_AddAudioDevice made a copy of the string. */
-- }
-- }
-- }
--
-- IXAudio2_Release(ixa2);
--}
--
--static void STDMETHODCALLTYPE
--VoiceCBOnBufferEnd(THIS_ void *data)
--{
-- /* Just signal the SDL audio thread and get out of XAudio2's way. */
-- SDL_AudioDevice *this = (SDL_AudioDevice *) data;
-- SDL_SemPost(this->hidden->semaphore);
--}
--
--static void STDMETHODCALLTYPE
--VoiceCBOnVoiceError(THIS_ void *data, HRESULT Error)
--{
-- SDL_AudioDevice *this = (SDL_AudioDevice *) data;
-- SDL_OpenedAudioDeviceDisconnected(this);
--}
--
--/* no-op callbacks... */
--static void STDMETHODCALLTYPE VoiceCBOnStreamEnd(THIS) {}
--static void STDMETHODCALLTYPE VoiceCBOnVoiceProcessPassStart(THIS_ UINT32 b) {}
--static void STDMETHODCALLTYPE VoiceCBOnVoiceProcessPassEnd(THIS) {}
--static void STDMETHODCALLTYPE VoiceCBOnBufferStart(THIS_ void *data) {}
--static void STDMETHODCALLTYPE VoiceCBOnLoopEnd(THIS_ void *data) {}
--
--
--static Uint8 *
--XAUDIO2_GetDeviceBuf(_THIS)
--{
-- return this->hidden->nextbuf;
--}
--
--static void
--XAUDIO2_PlayDevice(_THIS)
--{
-- XAUDIO2_BUFFER buffer;
-- Uint8 *mixbuf = this->hidden->mixbuf;
-- Uint8 *nextbuf = this->hidden->nextbuf;
-- const int mixlen = this->hidden->mixlen;
-- IXAudio2SourceVoice *source = this->hidden->source;
-- HRESULT result = S_OK;
--
-- if (!this->enabled) { /* shutting down? */
-- return;
-- }
--
-- /* Submit the next filled buffer */
-- SDL_zero(buffer);
-- buffer.AudioBytes = mixlen;
-- buffer.pAudioData = nextbuf;
-- buffer.pContext = this;
--
-- if (nextbuf == mixbuf) {
-- nextbuf += mixlen;
-- } else {
-- nextbuf = mixbuf;
-- }
-- this->hidden->nextbuf = nextbuf;
--
-- result = IXAudio2SourceVoice_SubmitSourceBuffer(source, &buffer, NULL);
-- if (result == XAUDIO2_E_DEVICE_INVALIDATED) {
-- /* !!! FIXME: possibly disconnected or temporary lost. Recover? */
-- }
--
-- if (result != S_OK) { /* uhoh, panic! */
-- IXAudio2SourceVoice_FlushSourceBuffers(source);
-- SDL_OpenedAudioDeviceDisconnected(this);
-- }
--}
--
--static void
--XAUDIO2_WaitDevice(_THIS)
--{
-- if (this->enabled) {
-- SDL_SemWait(this->hidden->semaphore);
-- }
--}
--
--static void
--XAUDIO2_WaitDone(_THIS)
--{
-- IXAudio2SourceVoice *source = this->hidden->source;
-- XAUDIO2_VOICE_STATE state;
-- SDL_assert(!this->enabled); /* flag that stops playing. */
-- IXAudio2SourceVoice_Discontinuity(source);
--#if SDL_XAUDIO2_WIN8
-- IXAudio2SourceVoice_GetState(source, &state, XAUDIO2_VOICE_NOSAMPLESPLAYED);
--#else
-- IXAudio2SourceVoice_GetState(source, &state);
--#endif
-- while (state.BuffersQueued > 0) {
-- SDL_SemWait(this->hidden->semaphore);
--#if SDL_XAUDIO2_WIN8
-- IXAudio2SourceVoice_GetState(source, &state, XAUDIO2_VOICE_NOSAMPLESPLAYED);
--#else
-- IXAudio2SourceVoice_GetState(source, &state);
--#endif
-- }
--}
--
--
--static void
--XAUDIO2_CloseDevice(_THIS)
--{
-- if (this->hidden != NULL) {
-- IXAudio2 *ixa2 = this->hidden->ixa2;
-- IXAudio2SourceVoice *source = this->hidden->source;
-- IXAudio2MasteringVoice *mastering = this->hidden->mastering;
--
-- if (source != NULL) {
-- IXAudio2SourceVoice_Stop(source, 0, XAUDIO2_COMMIT_NOW);
-- IXAudio2SourceVoice_FlushSourceBuffers(source);
-- IXAudio2SourceVoice_DestroyVoice(source);
-- }
-- if (ixa2 != NULL) {
-- IXAudio2_StopEngine(ixa2);
-- }
-- if (mastering != NULL) {
-- IXAudio2MasteringVoice_DestroyVoice(mastering);
-- }
-- if (ixa2 != NULL) {
-- IXAudio2_Release(ixa2);
-- }
-- SDL_free(this->hidden->mixbuf);
-- if (this->hidden->semaphore != NULL) {
-- SDL_DestroySemaphore(this->hidden->semaphore);
-- }
--
-- SDL_free(this->hidden);
-- this->hidden = NULL;
-- }
--}
--
--static int
--XAUDIO2_OpenDevice(_THIS, void *handle, const char *devname, int iscapture)
--{
-- HRESULT result = S_OK;
-- WAVEFORMATEX waveformat;
-- int valid_format = 0;
-- SDL_AudioFormat test_format = SDL_FirstAudioFormat(this->spec.format);
-- IXAudio2 *ixa2 = NULL;
-- IXAudio2SourceVoice *source = NULL;
--#if defined(SDL_XAUDIO2_WIN8)
-- LPCWSTR devId = NULL;
--#else
-- UINT32 devId = 0; /* 0 == system default device. */
--#endif
--
-- static IXAudio2VoiceCallbackVtbl callbacks_vtable = {
-- VoiceCBOnVoiceProcessPassStart,
-- VoiceCBOnVoiceProcessPassEnd,
-- VoiceCBOnStreamEnd,
-- VoiceCBOnBufferStart,
-- VoiceCBOnBufferEnd,
-- VoiceCBOnLoopEnd,
-- VoiceCBOnVoiceError
-- };
--
-- static IXAudio2VoiceCallback callbacks = { &callbacks_vtable };
--
--#if defined(SDL_XAUDIO2_WIN8)
-- /* !!! FIXME: hook up hotplugging. */
--#else
-- if (handle != NULL) { /* specific device requested? */
-- /* -1 because we increment the original value to avoid NULL. */
-- const size_t val = ((size_t) handle) - 1;
-- devId = (UINT32) val;
-- }
--#endif
--
-- if (XAudio2Create(&ixa2, 0, XAUDIO2_DEFAULT_PROCESSOR) != S_OK) {
-- return SDL_SetError("XAudio2: XAudio2Create() failed at open.");
-- }
--
-- /*
-- XAUDIO2_DEBUG_CONFIGURATION debugConfig;
-- debugConfig.TraceMask = XAUDIO2_LOG_ERRORS; //XAUDIO2_LOG_WARNINGS | XAUDIO2_LOG_DETAIL | XAUDIO2_LOG_FUNC_CALLS | XAUDIO2_LOG_TIMING | XAUDIO2_LOG_LOCKS | XAUDIO2_LOG_MEMORY | XAUDIO2_LOG_STREAMING;
-- debugConfig.BreakMask = XAUDIO2_LOG_ERRORS; //XAUDIO2_LOG_WARNINGS;
-- debugConfig.LogThreadID = TRUE;
-- debugConfig.LogFileline = TRUE;
-- debugConfig.LogFunctionName = TRUE;
-- debugConfig.LogTiming = TRUE;
-- ixa2->SetDebugConfiguration(&debugConfig);
-- */
--
-- /* Initialize all variables that we clean on shutdown */
-- this->hidden = (struct SDL_PrivateAudioData *)
-- SDL_malloc((sizeof *this->hidden));
-- if (this->hidden == NULL) {
-- IXAudio2_Release(ixa2);
-- return SDL_OutOfMemory();
-- }
-- SDL_memset(this->hidden, 0, (sizeof *this->hidden));
--
-- this->hidden->ixa2 = ixa2;
-- this->hidden->semaphore = SDL_CreateSemaphore(1);
-- if (this->hidden->semaphore == NULL) {
-- XAUDIO2_CloseDevice(this);
-- return SDL_SetError("XAudio2: CreateSemaphore() failed!");
-- }
--
-- while ((!valid_format) && (test_format)) {
-- switch (test_format) {
-- case AUDIO_U8:
-- case AUDIO_S16:
-- case AUDIO_S32:
-- case AUDIO_F32:
-- this->spec.format = test_format;
-- valid_format = 1;
-- break;
-- }
-- test_format = SDL_NextAudioFormat();
-- }
--
-- if (!valid_format) {
-- XAUDIO2_CloseDevice(this);
-- return SDL_SetError("XAudio2: Unsupported audio format");
-- }
--
-- /* Update the fragment size as size in bytes */
-- SDL_CalculateAudioSpec(&this->spec);
--
-- /* We feed a Source, it feeds the Mastering, which feeds the device. */
-- this->hidden->mixlen = this->spec.size;
-- this->hidden->mixbuf = (Uint8 *) SDL_malloc(2 * this->hidden->mixlen);
-- if (this->hidden->mixbuf == NULL) {
-- XAUDIO2_CloseDevice(this);
-- return SDL_OutOfMemory();
-- }
-- this->hidden->nextbuf = this->hidden->mixbuf;
-- SDL_memset(this->hidden->mixbuf, 0, 2 * this->hidden->mixlen);
--
-- /* We use XAUDIO2_DEFAULT_CHANNELS instead of this->spec.channels. On
-- Xbox360, this means 5.1 output, but on Windows, it means "figure out
-- what the system has." It might be preferable to let XAudio2 blast
-- stereo output to appropriate surround sound configurations
-- instead of clamping to 2 channels, even though we'll configure the
-- Source Voice for whatever number of channels you supply. */
--#if SDL_XAUDIO2_WIN8
-- result = IXAudio2_CreateMasteringVoice(ixa2, &this->hidden->mastering,
-- XAUDIO2_DEFAULT_CHANNELS,
-- this->spec.freq, 0, devId, NULL, AudioCategory_GameEffects);
--#else
-- result = IXAudio2_CreateMasteringVoice(ixa2, &this->hidden->mastering,
-- XAUDIO2_DEFAULT_CHANNELS,
-- this->spec.freq, 0, devId, NULL);
--#endif
-- if (result != S_OK) {
-- XAUDIO2_CloseDevice(this);
-- return SDL_SetError("XAudio2: Couldn't create mastering voice");
-- }
--
-- SDL_zero(waveformat);
-- if (SDL_AUDIO_ISFLOAT(this->spec.format)) {
-- waveformat.wFormatTag = WAVE_FORMAT_IEEE_FLOAT;
-- } else {
-- waveformat.wFormatTag = WAVE_FORMAT_PCM;
-- }
-- waveformat.wBitsPerSample = SDL_AUDIO_BITSIZE(this->spec.format);
-- waveformat.nChannels = this->spec.channels;
-- waveformat.nSamplesPerSec = this->spec.freq;
-- waveformat.nBlockAlign =
-- waveformat.nChannels * (waveformat.wBitsPerSample / 8);
-- waveformat.nAvgBytesPerSec =
-- waveformat.nSamplesPerSec * waveformat.nBlockAlign;
-- waveformat.cbSize = sizeof(waveformat);
--
--#ifdef __WINRT__
-- // DLudwig: for now, make XAudio2 do sample rate conversion, just to
-- // get the loopwave test to work.
-- //
-- // TODO, WinRT: consider removing WinRT-specific source-voice creation code from SDL_xaudio2.c
-- result = IXAudio2_CreateSourceVoice(ixa2, &source, &waveformat,
-- 0,
-- 1.0f, &callbacks, NULL, NULL);
--#else
-- result = IXAudio2_CreateSourceVoice(ixa2, &source, &waveformat,
-- XAUDIO2_VOICE_NOSRC |
-- XAUDIO2_VOICE_NOPITCH,
-- 1.0f, &callbacks, NULL, NULL);
--
--#endif
-- if (result != S_OK) {
-- XAUDIO2_CloseDevice(this);
-- return SDL_SetError("XAudio2: Couldn't create source voice");
-- }
-- this->hidden->source = source;
--
-- /* Start everything playing! */
-- result = IXAudio2_StartEngine(ixa2);
-- if (result != S_OK) {
-- XAUDIO2_CloseDevice(this);
-- return SDL_SetError("XAudio2: Couldn't start engine");
-- }
--
-- result = IXAudio2SourceVoice_Start(source, 0, XAUDIO2_COMMIT_NOW);
-- if (result != S_OK) {
-- XAUDIO2_CloseDevice(this);
-- return SDL_SetError("XAudio2: Couldn't start source voice");
-- }
--
-- return 0; /* good to go. */
--}
--
--static void
--XAUDIO2_Deinitialize(void)
--{
--#if defined(__WIN32__)
-- WIN_CoUninitialize();
--#endif
--}
--
--#endif /* SDL_XAUDIO2_HAS_SDK */
--
--
--static int
--XAUDIO2_Init(SDL_AudioDriverImpl * impl)
--{
--#ifndef SDL_XAUDIO2_HAS_SDK
-- SDL_SetError("XAudio2: SDL was built without XAudio2 support (old DirectX SDK).");
-- return 0; /* no XAudio2 support, ever. Update your SDK! */
--#else
-- /* XAudio2Create() is a macro that uses COM; we don't load the .dll */
-- IXAudio2 *ixa2 = NULL;
--#if defined(__WIN32__)
-- // TODO, WinRT: Investigate using CoInitializeEx here
-- if (FAILED(WIN_CoInitialize())) {
-- SDL_SetError("XAudio2: CoInitialize() failed");
-- return 0;
-- }
--#endif
--
-- if (XAudio2Create(&ixa2, 0, XAUDIO2_DEFAULT_PROCESSOR) != S_OK) {
--#if defined(__WIN32__)
-- WIN_CoUninitialize();
--#endif
-- SDL_SetError("XAudio2: XAudio2Create() failed at initialization");
-- return 0; /* not available. */
-- }
-- IXAudio2_Release(ixa2);
--
-- /* Set the function pointers */
-- impl->DetectDevices = XAUDIO2_DetectDevices;
-- impl->OpenDevice = XAUDIO2_OpenDevice;
-- impl->PlayDevice = XAUDIO2_PlayDevice;
-- impl->WaitDevice = XAUDIO2_WaitDevice;
-- impl->WaitDone = XAUDIO2_WaitDone;
-- impl->GetDeviceBuf = XAUDIO2_GetDeviceBuf;
-- impl->CloseDevice = XAUDIO2_CloseDevice;
-- impl->Deinitialize = XAUDIO2_Deinitialize;
--
-- /* !!! FIXME: We can apparently use a C++ interface on Windows 8
-- * !!! FIXME: (Windows::Devices::Enumeration::DeviceInformation) for device
-- * !!! FIXME: detection, but it's not implemented here yet.
-- * !!! FIXME: see http://blogs.msdn.com/b/chuckw/archive/2012/04/02/xaudio2-and-windows-8-consumer-preview.aspx
-- * !!! FIXME: for now, force the default device.
-- */
--#if defined(SDL_XAUDIO2_WIN8) || defined(__WINRT__)
-- impl->OnlyHasDefaultOutputDevice = 1;
--#endif
--
-- return 1; /* this audio target is available. */
--#endif
--}
--
--AudioBootStrap XAUDIO2_bootstrap = {
-- "xaudio2", "XAudio2", XAUDIO2_Init, 0
--};
--
--#endif /* SDL_AUDIO_DRIVER_XAUDIO2 */
--
--/* vi: set ts=4 sw=4 expandtab: */
+++ /dev/null
--/*
-- Simple DirectMedia Layer
-- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
--
-- 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.
--*/
--
--#ifndef _SDL_XAUDIO2_H
--#define _SDL_XAUDIO2_H
--
--#include <windows.h>
--#include <mmreg.h>
--#include <objbase.h>
--
--/* XAudio2 packs its structure members together as tightly as possible.
-- This pragma is needed to ensure compatibility with XAudio2 on 64-bit
-- platforms.
--*/
--#pragma pack(push, 1)
--
--typedef interface IXAudio2 IXAudio2;
--typedef interface IXAudio2SourceVoice IXAudio2SourceVoice;
--typedef interface IXAudio2MasteringVoice IXAudio2MasteringVoice;
--typedef interface IXAudio2EngineCallback IXAudio2EngineCallback;
--typedef interface IXAudio2VoiceCallback IXAudio2VoiceCallback;
--typedef interface IXAudio2Voice IXAudio2Voice;
--typedef interface IXAudio2SubmixVoice IXAudio2SubmixVoice;
--
--typedef enum _AUDIO_STREAM_CATEGORY {
-- AudioCategory_Other = 0,
-- AudioCategory_ForegroundOnlyMedia,
-- AudioCategory_BackgroundCapableMedia,
-- AudioCategory_Communications,
-- AudioCategory_Alerts,
-- AudioCategory_SoundEffects,
-- AudioCategory_GameEffects,
-- AudioCategory_GameMedia,
-- AudioCategory_GameChat,
-- AudioCategory_Movie,
-- AudioCategory_Media
--} AUDIO_STREAM_CATEGORY;
--
--typedef struct XAUDIO2_BUFFER {
-- UINT32 Flags;
-- UINT32 AudioBytes;
-- const BYTE *pAudioData;
-- UINT32 PlayBegin;
-- UINT32 PlayLength;
-- UINT32 LoopBegin;
-- UINT32 LoopLength;
-- UINT32 LoopCount;
-- void *pContext;
--} XAUDIO2_BUFFER;
--
--typedef struct XAUDIO2_BUFFER_WMA {
-- const UINT32 *pDecodedPacketCumulativeBytes;
-- UINT32 PacketCount;
--} XAUDIO2_BUFFER_WMA;
--
--typedef struct XAUDIO2_SEND_DESCRIPTOR {
-- UINT32 Flags;
-- IXAudio2Voice *pOutputVoice;
--} XAUDIO2_SEND_DESCRIPTOR;
--
--typedef struct XAUDIO2_VOICE_SENDS {
-- UINT32 SendCount;
-- XAUDIO2_SEND_DESCRIPTOR *pSends;
--} XAUDIO2_VOICE_SENDS;
--
--typedef struct XAUDIO2_EFFECT_DESCRIPTOR {
-- IUnknown *pEffect;
-- BOOL InitialState;
-- UINT32 OutputChannels;
--} XAUDIO2_EFFECT_DESCRIPTOR;
--
--typedef struct XAUDIO2_EFFECT_CHAIN {
-- UINT32 EffectCount;
-- XAUDIO2_EFFECT_DESCRIPTOR *pEffectDescriptors;
--} XAUDIO2_EFFECT_CHAIN;
--
--typedef struct XAUDIO2_PERFORMANCE_DATA {
-- UINT64 AudioCyclesSinceLastQuery;
-- UINT64 TotalCyclesSinceLastQuery;
-- UINT32 MinimumCyclesPerQuantum;
-- UINT32 MaximumCyclesPerQuantum;
-- UINT32 MemoryUsageInBytes;
-- UINT32 CurrentLatencyInSamples;
-- UINT32 GlitchesSinceEngineStarted;
-- UINT32 ActiveSourceVoiceCount;
-- UINT32 TotalSourceVoiceCount;
-- UINT32 ActiveSubmixVoiceCount;
-- UINT32 ActiveResamplerCount;
-- UINT32 ActiveMatrixMixCount;
-- UINT32 ActiveXmaSourceVoices;
-- UINT32 ActiveXmaStreams;
--} XAUDIO2_PERFORMANCE_DATA;
--
--typedef struct XAUDIO2_DEBUG_CONFIGURATION {
-- UINT32 TraceMask;
-- UINT32 BreakMask;
-- BOOL LogThreadID;
-- BOOL LogFileline;
-- BOOL LogFunctionName;
-- BOOL LogTiming;
--} XAUDIO2_DEBUG_CONFIGURATION;
--
--typedef struct XAUDIO2_VOICE_DETAILS {
-- UINT32 CreationFlags;
-- UINT32 ActiveFlags;
-- UINT32 InputChannels;
-- UINT32 InputSampleRate;
--} XAUDIO2_VOICE_DETAILS;
--
--typedef enum XAUDIO2_FILTER_TYPE {
-- LowPassFilter = 0,
-- BandPassFilter = 1,
-- HighPassFilter = 2,
-- NotchFilter = 3,
-- LowPassOnePoleFilter = 4,
-- HighPassOnePoleFilter = 5
--} XAUDIO2_FILTER_TYPE;
--
--typedef struct XAUDIO2_FILTER_PARAMETERS {
-- XAUDIO2_FILTER_TYPE Type;
-- float Frequency;
-- float OneOverQ;
--} XAUDIO2_FILTER_PARAMETERS;
--
--typedef struct XAUDIO2_VOICE_STATE {
-- void *pCurrentBufferContext;
-- UINT32 BuffersQueued;
-- UINT64 SamplesPlayed;
--} XAUDIO2_VOICE_STATE;
--
--
--typedef UINT32 XAUDIO2_PROCESSOR;
--#define Processor1 0x00000001
--#define XAUDIO2_DEFAULT_PROCESSOR Processor1
--
--#define XAUDIO2_E_DEVICE_INVALIDATED 0x88960004
--#define XAUDIO2_COMMIT_NOW 0
--#define XAUDIO2_VOICE_NOSAMPLESPLAYED 0x0100
--#define XAUDIO2_DEFAULT_CHANNELS 0
--
--extern HRESULT __stdcall XAudio2Create(
-- _Out_ IXAudio2 **ppXAudio2,
-- _In_ UINT32 Flags,
-- _In_ XAUDIO2_PROCESSOR XAudio2Processor
-- );
--
--#undef INTERFACE
--#define INTERFACE IXAudio2
--typedef interface IXAudio2 {
-- const struct IXAudio2Vtbl FAR* lpVtbl;
--} IXAudio2;
--typedef const struct IXAudio2Vtbl IXAudio2Vtbl;
--const struct IXAudio2Vtbl
--{
-- /* IUnknown */
-- STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
-- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
-- STDMETHOD_(ULONG, Release)(THIS) PURE;
--
-- /* IXAudio2 */
-- STDMETHOD_(HRESULT, RegisterForCallbacks)(THIS, IXAudio2EngineCallback *pCallback) PURE;
-- STDMETHOD_(VOID, UnregisterForCallbacks)(THIS, IXAudio2EngineCallback *pCallback) PURE;
-- STDMETHOD_(HRESULT, CreateSourceVoice)(THIS, IXAudio2SourceVoice **ppSourceVoice,
-- const WAVEFORMATEX *pSourceFormat,
-- UINT32 Flags,
-- float MaxFrequencyRatio,
-- IXAudio2VoiceCallback *pCallback,
-- const XAUDIO2_VOICE_SENDS *pSendList,
-- const XAUDIO2_EFFECT_CHAIN *pEffectChain) PURE;
-- STDMETHOD_(HRESULT, CreateSubmixVoice)(THIS, IXAudio2SubmixVoice **ppSubmixVoice,
-- UINT32 InputChannels,
-- UINT32 InputSampleRate,
-- UINT32 Flags,
-- UINT32 ProcessingStage,
-- const XAUDIO2_VOICE_SENDS *pSendList,
-- const XAUDIO2_EFFECT_CHAIN *pEffectChain) PURE;
-- STDMETHOD_(HRESULT, CreateMasteringVoice)(THIS, IXAudio2MasteringVoice **ppMasteringVoice,
-- UINT32 InputChannels,
-- UINT32 InputSampleRate,
-- UINT32 Flags,
-- LPCWSTR szDeviceId,
-- const XAUDIO2_EFFECT_CHAIN *pEffectChain,
-- AUDIO_STREAM_CATEGORY StreamCategory) PURE;
-- STDMETHOD_(HRESULT, StartEngine)(THIS) PURE;
-- STDMETHOD_(VOID, StopEngine)(THIS) PURE;
-- STDMETHOD_(HRESULT, CommitChanges)(THIS, UINT32 OperationSet) PURE;
-- STDMETHOD_(HRESULT, GetPerformanceData)(THIS, XAUDIO2_PERFORMANCE_DATA *pPerfData) PURE;
-- STDMETHOD_(HRESULT, SetDebugConfiguration)(THIS, XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration,
-- VOID *pReserved) PURE;
--};
--
--#define IXAudio2_Release(A) ((A)->lpVtbl->Release(A))
--#define IXAudio2_CreateSourceVoice(A,B,C,D,E,F,G,H) ((A)->lpVtbl->CreateSourceVoice(A,B,C,D,E,F,G,H))
--#define IXAudio2_CreateMasteringVoice(A,B,C,D,E,F,G,H) ((A)->lpVtbl->CreateMasteringVoice(A,B,C,D,E,F,G,H))
--#define IXAudio2_StartEngine(A) ((A)->lpVtbl->StartEngine(A))
--#define IXAudio2_StopEngine(A) ((A)->lpVtbl->StopEngine(A))
--
--
--#undef INTERFACE
--#define INTERFACE IXAudio2SourceVoice
--typedef interface IXAudio2SourceVoice {
-- const struct IXAudio2SourceVoiceVtbl FAR* lpVtbl;
--} IXAudio2SourceVoice;
--typedef const struct IXAudio2SourceVoiceVtbl IXAudio2SourceVoiceVtbl;
--const struct IXAudio2SourceVoiceVtbl
--{
-- /* MSDN says that IXAudio2Voice inherits from IXAudio2, but MSVC's debugger
-- * says otherwise, and that IXAudio2Voice doesn't inherit from any other
-- * interface!
-- */
--
-- /* IXAudio2Voice */
-- STDMETHOD_(VOID, GetVoiceDetails)(THIS, XAUDIO2_VOICE_DETAILS *pVoiceDetails) PURE;
-- STDMETHOD_(HRESULT, SetOutputVoices)(THIS, const XAUDIO2_VOICE_SENDS *pSendList) PURE;
-- STDMETHOD_(HRESULT, SetEffectChain)(THIS, const XAUDIO2_EFFECT_CHAIN *pEffectChain) PURE;
-- STDMETHOD_(HRESULT, EnableEffect)(THIS, UINT32 EffectIndex, UINT32 OperationSet) PURE;
-- STDMETHOD_(HRESULT, DisableEffect)(THIS, UINT32 EffectIndex, UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetEffectState)(THIS, UINT32 EffectIndex, BOOL *pEnabled) PURE;
-- STDMETHOD_(HRESULT, SetEffectParameters)(THIS, UINT32 EffectIndex,
-- const void *pParameters,
-- UINT32 ParametersByteSize,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetEffectParameters)(THIS, UINT32 EffectIndex,
-- void *pParameters,
-- UINT32 ParametersByteSize) PURE;
-- STDMETHOD_(HRESULT, SetFilterParameters)(THIS, const XAUDIO2_FILTER_PARAMETERS *pParameters,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetFilterParameters)(THIS, XAUDIO2_FILTER_PARAMETERS *pParameters) PURE;
-- STDMETHOD_(HRESULT, SetOutputFilterParameters)(THIS, IXAudio2Voice *pDestinationVoice,
-- XAUDIO2_FILTER_PARAMETERS *pParameters,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetOutputFilterParameters)(THIS, IXAudio2Voice *pDestinationVoice,
-- XAUDIO2_FILTER_PARAMETERS *pParameters) PURE;
-- STDMETHOD_(HRESULT, SetVolume)(THIS, float Volume,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetVolume)(THIS, float *pVolume) PURE;
-- STDMETHOD_(HRESULT, SetChannelVolumes)(THIS, UINT32 Channels,
-- const float *pVolumes,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetChannelVolumes)(THIS, UINT32 Channels,
-- float *pVolumes) PURE;
-- STDMETHOD_(HRESULT, SetOutputMatrix)(THIS, IXAudio2Voice *pDestinationVoice,
-- UINT32 SourceChannels,
-- UINT32 DestinationChannels,
-- const float *pLevelMatrix,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetOutputMatrix)(THIS, IXAudio2Voice *pDestinationVoice,
-- UINT32 SourceChannels,
-- UINT32 DestinationChannels,
-- float *pLevelMatrix) PURE;
-- STDMETHOD_(VOID, DestroyVoice)(THIS) PURE;
--
-- /* IXAudio2SourceVoice */
-- STDMETHOD_(HRESULT, Start)(THIS, UINT32 Flags,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(HRESULT, Stop)(THIS, UINT32 Flags,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(HRESULT, SubmitSourceBuffer)(THIS, const XAUDIO2_BUFFER *pBuffer,
-- const XAUDIO2_BUFFER_WMA *pBufferWMA) PURE;
-- STDMETHOD_(HRESULT, FlushSourceBuffers)(THIS) PURE;
-- STDMETHOD_(HRESULT, Discontinuity)(THIS) PURE;
-- STDMETHOD_(HRESULT, ExitLoop)(THIS, UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetState)(THIS, XAUDIO2_VOICE_STATE *pVoiceState,
-- UINT32 Flags) PURE;
-- STDMETHOD_(HRESULT, SetFrequencyRatio)(THIS, float Ratio,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetFrequencyRatio)(THIS, float *pRatio) PURE;
-- STDMETHOD_(HRESULT, SetSourceSampleRate)(THIS, UINT32 NewSourceSampleRate) PURE;
--};
--
--#define IXAudio2SourceVoice_DestroyVoice(A) ((A)->lpVtbl->DestroyVoice(A))
--#define IXAudio2SourceVoice_Start(A,B,C) ((A)->lpVtbl->Start(A,B,C))
--#define IXAudio2SourceVoice_Stop(A,B,C) ((A)->lpVtbl->Stop(A,B,C))
--#define IXAudio2SourceVoice_SubmitSourceBuffer(A,B,C) ((A)->lpVtbl->SubmitSourceBuffer(A,B,C))
--#define IXAudio2SourceVoice_FlushSourceBuffers(A) ((A)->lpVtbl->FlushSourceBuffers(A))
--#define IXAudio2SourceVoice_Discontinuity(A) ((A)->lpVtbl->Discontinuity(A))
--#define IXAudio2SourceVoice_GetState(A,B,C) ((A)->lpVtbl->GetState(A,B,C))
--
--
--#undef INTERFACE
--#define INTERFACE IXAudio2MasteringVoice
--typedef interface IXAudio2MasteringVoice {
-- const struct IXAudio2MasteringVoiceVtbl FAR* lpVtbl;
--} IXAudio2MasteringVoice;
--typedef const struct IXAudio2MasteringVoiceVtbl IXAudio2MasteringVoiceVtbl;
--const struct IXAudio2MasteringVoiceVtbl
--{
-- /* MSDN says that IXAudio2Voice inherits from IXAudio2, but MSVC's debugger
-- * says otherwise, and that IXAudio2Voice doesn't inherit from any other
-- * interface!
-- */
--
-- /* IXAudio2Voice */
-- STDMETHOD_(VOID, GetVoiceDetails)(THIS, XAUDIO2_VOICE_DETAILS *pVoiceDetails) PURE;
-- STDMETHOD_(HRESULT, SetOutputVoices)(THIS, const XAUDIO2_VOICE_SENDS *pSendList) PURE;
-- STDMETHOD_(HRESULT, SetEffectChain)(THIS, const XAUDIO2_EFFECT_CHAIN *pEffectChain) PURE;
-- STDMETHOD_(HRESULT, EnableEffect)(THIS, UINT32 EffectIndex, UINT32 OperationSet) PURE;
-- STDMETHOD_(HRESULT, DisableEffect)(THIS, UINT32 EffectIndex, UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetEffectState)(THIS, UINT32 EffectIndex, BOOL *pEnabled) PURE;
-- STDMETHOD_(HRESULT, SetEffectParameters)(THIS, UINT32 EffectIndex,
-- const void *pParameters,
-- UINT32 ParametersByteSize,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetEffectParameters)(THIS, UINT32 EffectIndex,
-- void *pParameters,
-- UINT32 ParametersByteSize) PURE;
-- STDMETHOD_(HRESULT, SetFilterParameters)(THIS, const XAUDIO2_FILTER_PARAMETERS *pParameters,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetFilterParameters)(THIS, XAUDIO2_FILTER_PARAMETERS *pParameters) PURE;
-- STDMETHOD_(HRESULT, SetOutputFilterParameters)(THIS, IXAudio2Voice *pDestinationVoice,
-- XAUDIO2_FILTER_PARAMETERS *pParameters,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetOutputFilterParameters)(THIS, IXAudio2Voice *pDestinationVoice,
-- XAUDIO2_FILTER_PARAMETERS *pParameters) PURE;
-- STDMETHOD_(HRESULT, SetVolume)(THIS, float Volume,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetVolume)(THIS, float *pVolume) PURE;
-- STDMETHOD_(HRESULT, SetChannelVolumes)(THIS, UINT32 Channels,
-- const float *pVolumes,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetChannelVolumes)(THIS, UINT32 Channels,
-- float *pVolumes) PURE;
-- STDMETHOD_(HRESULT, SetOutputMatrix)(THIS, IXAudio2Voice *pDestinationVoice,
-- UINT32 SourceChannels,
-- UINT32 DestinationChannels,
-- const float *pLevelMatrix,
-- UINT32 OperationSet) PURE;
-- STDMETHOD_(VOID, GetOutputMatrix)(THIS, IXAudio2Voice *pDestinationVoice,
-- UINT32 SourceChannels,
-- UINT32 DestinationChannels,
-- float *pLevelMatrix) PURE;
-- STDMETHOD_(VOID, DestroyVoice)(THIS) PURE;
--
-- /* IXAudio2SourceVoice */
-- STDMETHOD_(VOID, GetChannelMask)(THIS, DWORD *pChannelMask) PURE;
--};
--
--#define IXAudio2MasteringVoice_DestroyVoice(A) ((A)->lpVtbl->DestroyVoice(A))
--
--
--#undef INTERFACE
--#define INTERFACE IXAudio2VoiceCallback
--typedef interface IXAudio2VoiceCallback {
-- const struct IXAudio2VoiceCallbackVtbl FAR* lpVtbl;
--} IXAudio2VoiceCallback;
--typedef const struct IXAudio2VoiceCallbackVtbl IXAudio2VoiceCallbackVtbl;
--const struct IXAudio2VoiceCallbackVtbl
--{
-- /* MSDN says that IXAudio2VoiceCallback inherits from IXAudio2, but SDL's
-- * own code says otherwise, and that IXAudio2VoiceCallback doesn't inherit
-- * from any other interface!
-- */
--
-- /* IXAudio2VoiceCallback */
-- STDMETHOD_(VOID, OnVoiceProcessingPassStart)(THIS, UINT32 BytesRequired) PURE;
-- STDMETHOD_(VOID, OnVoiceProcessingPassEnd)(THIS) PURE;
-- STDMETHOD_(VOID, OnStreamEnd)(THIS) PURE;
-- STDMETHOD_(VOID, OnBufferStart)(THIS, void *pBufferContext) PURE;
-- STDMETHOD_(VOID, OnBufferEnd)(THIS, void *pBufferContext) PURE;
-- STDMETHOD_(VOID, OnLoopEnd)(THIS, void *pBufferContext) PURE;
-- STDMETHOD_(VOID, OnVoiceError)(THIS, void *pBufferContext, HRESULT Error) PURE;
--};
--
--#pragma pack(pop) /* Undo pragma push */
--
--#endif /* _SDL_XAUDIO2_H */
--
--/* vi: set ts=4 sw=4 expandtab: */
+++ /dev/null
--/*
-- Simple DirectMedia Layer
-- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
--
-- 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.
--*/
--#include "../../SDL_internal.h"
--
--#include <xaudio2.h>
--#include "SDL_xaudio2_winrthelpers.h"
--
--#if WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP
--using Windows::Devices::Enumeration::DeviceClass;
--using Windows::Devices::Enumeration::DeviceInformation;
--using Windows::Devices::Enumeration::DeviceInformationCollection;
--#endif
--
--extern "C" HRESULT __cdecl IXAudio2_GetDeviceCount(IXAudio2 * ixa2, UINT32 * devcount)
--{
--#if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
-- // There doesn't seem to be any audio device enumeration on Windows Phone.
-- // In lieu of this, just treat things as if there is one and only one
-- // audio device.
-- *devcount = 1;
-- return S_OK;
--#else
-- // TODO, WinRT: make xaudio2 device enumeration only happen once, and in the background
-- auto operation = DeviceInformation::FindAllAsync(DeviceClass::AudioRender);
-- while (operation->Status != Windows::Foundation::AsyncStatus::Completed)
-- {
-- }
--
-- DeviceInformationCollection^ devices = operation->GetResults();
-- *devcount = devices->Size;
-- return S_OK;
--#endif
--}
--
--extern "C" HRESULT IXAudio2_GetDeviceDetails(IXAudio2 * unused, UINT32 index, XAUDIO2_DEVICE_DETAILS * details)
--{
--#if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
-- // Windows Phone doesn't seem to have the same device enumeration APIs that
-- // Windows 8/RT has, or it doesn't have them at all. In lieu of this,
-- // just treat things as if there is one, and only one, default device.
-- if (index != 0)
-- {
-- return XAUDIO2_E_INVALID_CALL;
-- }
--
-- if (details)
-- {
-- wcsncpy_s(details->DeviceID, ARRAYSIZE(details->DeviceID), L"default", _TRUNCATE);
-- wcsncpy_s(details->DisplayName, ARRAYSIZE(details->DisplayName), L"default", _TRUNCATE);
-- }
-- return S_OK;
--#else
-- auto operation = DeviceInformation::FindAllAsync(DeviceClass::AudioRender);
-- while (operation->Status != Windows::Foundation::AsyncStatus::Completed)
-- {
-- }
--
-- DeviceInformationCollection^ devices = operation->GetResults();
-- if (index >= devices->Size)
-- {
-- return XAUDIO2_E_INVALID_CALL;
-- }
--
-- DeviceInformation^ d = devices->GetAt(index);
-- if (details)
-- {
-- wcsncpy_s(details->DeviceID, ARRAYSIZE(details->DeviceID), d->Id->Data(), _TRUNCATE);
-- wcsncpy_s(details->DisplayName, ARRAYSIZE(details->DisplayName), d->Name->Data(), _TRUNCATE);
-- }
-- return S_OK;
--#endif
--}
+++ /dev/null
--/*
-- Simple DirectMedia Layer
-- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
--
-- 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.
--*/
--
--//
--// Re-implementation of methods removed from XAudio2 (in WinRT):
--//
--
--typedef struct XAUDIO2_DEVICE_DETAILS
--{
-- WCHAR DeviceID[256];
-- WCHAR DisplayName[256];
-- /* Other fields exist in the pre-Windows 8 version of this struct, however
-- they weren't used by SDL, so they weren't added.
-- */
--} XAUDIO2_DEVICE_DETAILS;
--
--
--#ifdef __cplusplus
--extern "C" {
--#endif
--
--HRESULT IXAudio2_GetDeviceCount(IXAudio2 * unused, UINT32 * devcount);
--HRESULT IXAudio2_GetDeviceDetails(IXAudio2 * unused, UINT32 index, XAUDIO2_DEVICE_DETAILS * details);
--
--#ifdef __cplusplus
--}
--#endif
--
--
--//
--// C-style macros to call XAudio2's methods in C++:
--//
--#ifdef __cplusplus
--/*
--#define IXAudio2_CreateMasteringVoice(A, B, C, D, E, F, G) (A)->CreateMasteringVoice((B), (C), (D), (E), (F), (G))
--#define IXAudio2_CreateSourceVoice(A, B, C, D, E, F, G, H) (A)->CreateSourceVoice((B), (C), (D), (E), (F), (G), (H))
--#define IXAudio2_QueryInterface(A, B, C) (A)->QueryInterface((B), (C))
--#define IXAudio2_Release(A) (A)->Release()
--#define IXAudio2_StartEngine(A) (A)->StartEngine()
--#define IXAudio2_StopEngine(A) (A)->StopEngine()
--
--#define IXAudio2MasteringVoice_DestroyVoice(A) (A)->DestroyVoice()
--
--#define IXAudio2SourceVoice_DestroyVoice(A) (A)->DestroyVoice()
--#define IXAudio2SourceVoice_Discontinuity(A) (A)->Discontinuity()
--#define IXAudio2SourceVoice_FlushSourceBuffers(A) (A)->FlushSourceBuffers()
--#define IXAudio2SourceVoice_GetState(A, B) (A)->GetState((B))
--#define IXAudio2SourceVoice_Start(A, B, C) (A)->Start((B), (C))
--#define IXAudio2SourceVoice_Stop(A, B, C) (A)->Stop((B), (C))
--#define IXAudio2SourceVoice_SubmitSourceBuffer(A, B, C) (A)->SubmitSourceBuffer((B), (C))
--*/
--#endif // ifdef __cplusplus
#define SDL_JoystickCurrentPowerLevel SDL_JoystickCurrentPowerLevel_REAL
#define SDL_GameControllerFromInstanceID SDL_GameControllerFromInstanceID_REAL
#define SDL_JoystickFromInstanceID SDL_JoystickFromInstanceID_REAL
- #define SDL_tizen_app_init SDL_tizen_app_init_REAL
+ #define SDL_GetDisplayUsableBounds SDL_GetDisplayUsableBounds_REAL
+ #define SDL_GetWindowBordersSize SDL_GetWindowBordersSize_REAL
+ #define SDL_SetWindowOpacity SDL_SetWindowOpacity_REAL
+ #define SDL_GetWindowOpacity SDL_GetWindowOpacity_REAL
+ #define SDL_SetWindowInputFocus SDL_SetWindowInputFocus_REAL
+ #define SDL_SetWindowModalFor SDL_SetWindowModalFor_REAL
+ #define SDL_RenderSetIntegerScale SDL_RenderSetIntegerScale_REAL
+ #define SDL_RenderGetIntegerScale SDL_RenderGetIntegerScale_REAL
+ #define SDL_DequeueAudio SDL_DequeueAudio_REAL
+ #define SDL_SetWindowResizable SDL_SetWindowResizable_REAL
+ #define SDL_CreateRGBSurfaceWithFormat SDL_CreateRGBSurfaceWithFormat_REAL
+ #define SDL_CreateRGBSurfaceWithFormatFrom SDL_CreateRGBSurfaceWithFormatFrom_REAL
+ #define SDL_GetHintBoolean SDL_GetHintBoolean_REAL
+ #define SDL_JoystickGetDeviceVendor SDL_JoystickGetDeviceVendor_REAL
+ #define SDL_JoystickGetDeviceProduct SDL_JoystickGetDeviceProduct_REAL
+ #define SDL_JoystickGetDeviceProductVersion SDL_JoystickGetDeviceProductVersion_REAL
+ #define SDL_JoystickGetVendor SDL_JoystickGetVendor_REAL
+ #define SDL_JoystickGetProduct SDL_JoystickGetProduct_REAL
+ #define SDL_JoystickGetProductVersion SDL_JoystickGetProductVersion_REAL
+ #define SDL_GameControllerGetVendor SDL_GameControllerGetVendor_REAL
+ #define SDL_GameControllerGetProduct SDL_GameControllerGetProduct_REAL
+ #define SDL_GameControllerGetProductVersion SDL_GameControllerGetProductVersion_REAL
+ #define SDL_HasNEON SDL_HasNEON_REAL
+ #define SDL_GameControllerNumMappings SDL_GameControllerNumMappings_REAL
+ #define SDL_GameControllerMappingForIndex SDL_GameControllerMappingForIndex_REAL
+ #define SDL_JoystickGetAxisInitialState SDL_JoystickGetAxisInitialState_REAL
+ #define SDL_JoystickGetDeviceType SDL_JoystickGetDeviceType_REAL
+ #define SDL_JoystickGetType SDL_JoystickGetType_REAL
+ #define SDL_MemoryBarrierReleaseFunction SDL_MemoryBarrierReleaseFunction_REAL
+ #define SDL_MemoryBarrierAcquireFunction SDL_MemoryBarrierAcquireFunction_REAL
+ #define SDL_JoystickGetDeviceInstanceID SDL_JoystickGetDeviceInstanceID_REAL
+ #define SDL_utf8strlen SDL_utf8strlen_REAL
+ #define SDL_LoadFile_RW SDL_LoadFile_RW_REAL
+ #define SDL_wcscmp SDL_wcscmp_REAL
+ #define SDL_ComposeCustomBlendMode SDL_ComposeCustomBlendMode_REAL
+ #define SDL_DuplicateSurface SDL_DuplicateSurface_REAL
+ #define SDL_Vulkan_LoadLibrary SDL_Vulkan_LoadLibrary_REAL
+ #define SDL_Vulkan_GetVkGetInstanceProcAddr SDL_Vulkan_GetVkGetInstanceProcAddr_REAL
+ #define SDL_Vulkan_UnloadLibrary SDL_Vulkan_UnloadLibrary_REAL
#define SDL_Vulkan_GetInstanceExtensions SDL_Vulkan_GetInstanceExtensions_REAL
#define SDL_Vulkan_CreateSurface SDL_Vulkan_CreateSurface_REAL
+ #define SDL_Vulkan_GetDrawableSize SDL_Vulkan_GetDrawableSize_REAL
+ #define SDL_LockJoysticks SDL_LockJoysticks_REAL
+ #define SDL_UnlockJoysticks SDL_UnlockJoysticks_REAL
+ #define SDL_GetMemoryFunctions SDL_GetMemoryFunctions_REAL
+ #define SDL_SetMemoryFunctions SDL_SetMemoryFunctions_REAL
+ #define SDL_GetNumAllocations SDL_GetNumAllocations_REAL
+ #define SDL_NewAudioStream SDL_NewAudioStream_REAL
+ #define SDL_AudioStreamPut SDL_AudioStreamPut_REAL
+ #define SDL_AudioStreamGet SDL_AudioStreamGet_REAL
+ #define SDL_AudioStreamClear SDL_AudioStreamClear_REAL
+ #define SDL_AudioStreamAvailable SDL_AudioStreamAvailable_REAL
+ #define SDL_FreeAudioStream SDL_FreeAudioStream_REAL
+ #define SDL_AudioStreamFlush SDL_AudioStreamFlush_REAL
+ #define SDL_acosf SDL_acosf_REAL
+ #define SDL_asinf SDL_asinf_REAL
+ #define SDL_atanf SDL_atanf_REAL
+ #define SDL_atan2f SDL_atan2f_REAL
+ #define SDL_ceilf SDL_ceilf_REAL
+ #define SDL_copysignf SDL_copysignf_REAL
+ #define SDL_fabsf SDL_fabsf_REAL
+ #define SDL_floorf SDL_floorf_REAL
+ #define SDL_logf SDL_logf_REAL
+ #define SDL_powf SDL_powf_REAL
+ #define SDL_scalbnf SDL_scalbnf_REAL
+ #define SDL_fmod SDL_fmod_REAL
+ #define SDL_fmodf SDL_fmodf_REAL
+ #define SDL_SetYUVConversionMode SDL_SetYUVConversionMode_REAL
+ #define SDL_GetYUVConversionMode SDL_GetYUVConversionMode_REAL
+ #define SDL_GetYUVConversionModeForResolution SDL_GetYUVConversionModeForResolution_REAL
+ #define SDL_RenderGetMetalLayer SDL_RenderGetMetalLayer_REAL
+ #define SDL_RenderGetMetalCommandEncoder SDL_RenderGetMetalCommandEncoder_REAL
+ #define SDL_IsAndroidTV SDL_IsAndroidTV_REAL
+ #define SDL_WinRTGetDeviceFamily SDL_WinRTGetDeviceFamily_REAL
+ #define SDL_log10 SDL_log10_REAL
+ #define SDL_log10f SDL_log10f_REAL
++#define SDL_tizen_app_init SDL_tizen_app_init_REAL
SDL_DYNAPI_PROC(SDL_JoystickPowerLevel,SDL_JoystickCurrentPowerLevel,(SDL_Joystick *a),(a),return)
SDL_DYNAPI_PROC(SDL_GameController*,SDL_GameControllerFromInstanceID,(SDL_JoystickID a),(a),return)
SDL_DYNAPI_PROC(SDL_Joystick*,SDL_JoystickFromInstanceID,(SDL_JoystickID a),(a),return)
- SDL_DYNAPI_PROC(int,SDL_tizen_app_init,(int a, char *b[]),(a,b),return)
+
- SDL_DYNAPI_PROC(SDL_bool,SDL_Vulkan_GetInstanceExtensions,(SDL_Window* a, unsigned int* b, char** c),(a,b,c),return)
- SDL_DYNAPI_PROC(SDL_bool,SDL_Vulkan_CreateSurface,(SDL_Window* a, SDL_vulkanInstance b, SDL_vulkanSurface* c),(a,b,c),return)
+ SDL_DYNAPI_PROC(int,SDL_GetDisplayUsableBounds,(int a, SDL_Rect *b),(a,b),return)
+ SDL_DYNAPI_PROC(int,SDL_GetWindowBordersSize,(SDL_Window *a, int *b, int *c, int *d, int *e),(a,b,c,d,e),return)
+ SDL_DYNAPI_PROC(int,SDL_SetWindowOpacity,(SDL_Window *a, float b),(a,b),return)
+ SDL_DYNAPI_PROC(int,SDL_GetWindowOpacity,(SDL_Window *a, float *b),(a,b),return)
+ SDL_DYNAPI_PROC(int,SDL_SetWindowInputFocus,(SDL_Window *a),(a),return)
+ SDL_DYNAPI_PROC(int,SDL_SetWindowModalFor,(SDL_Window *a, SDL_Window *b),(a,b),return)
+ SDL_DYNAPI_PROC(int,SDL_RenderSetIntegerScale,(SDL_Renderer *a, SDL_bool b),(a,b),return)
+ SDL_DYNAPI_PROC(SDL_bool,SDL_RenderGetIntegerScale,(SDL_Renderer *a),(a),return)
+ SDL_DYNAPI_PROC(Uint32,SDL_DequeueAudio,(SDL_AudioDeviceID a, void *b, Uint32 c),(a,b,c),return)
+ SDL_DYNAPI_PROC(void,SDL_SetWindowResizable,(SDL_Window *a, SDL_bool b),(a,b),)
+ SDL_DYNAPI_PROC(SDL_Surface*,SDL_CreateRGBSurfaceWithFormat,(Uint32 a, int b, int c, int d, Uint32 e),(a,b,c,d,e),return)
+ SDL_DYNAPI_PROC(SDL_Surface*,SDL_CreateRGBSurfaceWithFormatFrom,(void *a, int b, int c, int d, int e, Uint32 f),(a,b,c,d,e,f),return)
+ SDL_DYNAPI_PROC(SDL_bool,SDL_GetHintBoolean,(const char *a, SDL_bool b),(a,b),return)
+ SDL_DYNAPI_PROC(Uint16,SDL_JoystickGetDeviceVendor,(int a),(a),return)
+ SDL_DYNAPI_PROC(Uint16,SDL_JoystickGetDeviceProduct,(int a),(a),return)
+ SDL_DYNAPI_PROC(Uint16,SDL_JoystickGetDeviceProductVersion,(int a),(a),return)
+ SDL_DYNAPI_PROC(Uint16,SDL_JoystickGetVendor,(SDL_Joystick *a),(a),return)
+ SDL_DYNAPI_PROC(Uint16,SDL_JoystickGetProduct,(SDL_Joystick *a),(a),return)
+ SDL_DYNAPI_PROC(Uint16,SDL_JoystickGetProductVersion,(SDL_Joystick *a),(a),return)
+ SDL_DYNAPI_PROC(Uint16,SDL_GameControllerGetVendor,(SDL_GameController *a),(a),return)
+ SDL_DYNAPI_PROC(Uint16,SDL_GameControllerGetProduct,(SDL_GameController *a),(a),return)
+ SDL_DYNAPI_PROC(Uint16,SDL_GameControllerGetProductVersion,(SDL_GameController *a),(a),return)
+ SDL_DYNAPI_PROC(SDL_bool,SDL_HasNEON,(void),(),return)
+ SDL_DYNAPI_PROC(int,SDL_GameControllerNumMappings,(void),(),return)
+ SDL_DYNAPI_PROC(char*,SDL_GameControllerMappingForIndex,(int a),(a),return)
+ SDL_DYNAPI_PROC(SDL_bool,SDL_JoystickGetAxisInitialState,(SDL_Joystick *a, int b, Sint16 *c),(a,b,c),return)
+ SDL_DYNAPI_PROC(SDL_JoystickType,SDL_JoystickGetDeviceType,(int a),(a),return)
+ SDL_DYNAPI_PROC(SDL_JoystickType,SDL_JoystickGetType,(SDL_Joystick *a),(a),return)
+ SDL_DYNAPI_PROC(void,SDL_MemoryBarrierReleaseFunction,(void),(),)
+ SDL_DYNAPI_PROC(void,SDL_MemoryBarrierAcquireFunction,(void),(),)
+ SDL_DYNAPI_PROC(SDL_JoystickID,SDL_JoystickGetDeviceInstanceID,(int a),(a),return)
+ SDL_DYNAPI_PROC(size_t,SDL_utf8strlen,(const char *a),(a),return)
+ SDL_DYNAPI_PROC(void*,SDL_LoadFile_RW,(SDL_RWops *a, size_t *b, int c),(a,b,c),return)
+ SDL_DYNAPI_PROC(int,SDL_wcscmp,(const wchar_t *a, const wchar_t *b),(a,b),return)
+ SDL_DYNAPI_PROC(SDL_BlendMode,SDL_ComposeCustomBlendMode,(SDL_BlendFactor a, SDL_BlendFactor b, SDL_BlendOperation c, SDL_BlendFactor d, SDL_BlendFactor e, SDL_BlendOperation f),(a,b,c,d,e,f),return)
+ SDL_DYNAPI_PROC(SDL_Surface*,SDL_DuplicateSurface,(SDL_Surface *a),(a),return)
+ SDL_DYNAPI_PROC(int,SDL_Vulkan_LoadLibrary,(const char *a),(a),return)
+ SDL_DYNAPI_PROC(void*,SDL_Vulkan_GetVkGetInstanceProcAddr,(void),(),return)
+ SDL_DYNAPI_PROC(void,SDL_Vulkan_UnloadLibrary,(void),(),)
+ SDL_DYNAPI_PROC(SDL_bool,SDL_Vulkan_GetInstanceExtensions,(SDL_Window *a, unsigned int *b, const char **c),(a,b,c),return)
+ SDL_DYNAPI_PROC(SDL_bool,SDL_Vulkan_CreateSurface,(SDL_Window *a, VkInstance b, VkSurfaceKHR *c),(a,b,c),return)
+ SDL_DYNAPI_PROC(void,SDL_Vulkan_GetDrawableSize,(SDL_Window *a, int *b, int *c),(a,b,c),)
+ SDL_DYNAPI_PROC(void,SDL_LockJoysticks,(void),(),)
+ SDL_DYNAPI_PROC(void,SDL_UnlockJoysticks,(void),(),)
+ SDL_DYNAPI_PROC(void,SDL_GetMemoryFunctions,(SDL_malloc_func *a, SDL_calloc_func *b, SDL_realloc_func *c, SDL_free_func *d),(a,b,c,d),)
+ SDL_DYNAPI_PROC(int,SDL_SetMemoryFunctions,(SDL_malloc_func a, SDL_calloc_func b, SDL_realloc_func c, SDL_free_func d),(a,b,c,d),return)
+ SDL_DYNAPI_PROC(int,SDL_GetNumAllocations,(void),(),return)
+ SDL_DYNAPI_PROC(SDL_AudioStream*,SDL_NewAudioStream,(const SDL_AudioFormat a, const Uint8 b, const int c, const SDL_AudioFormat d, const Uint8 e, const int f),(a,b,c,d,e,f),return)
+ SDL_DYNAPI_PROC(int,SDL_AudioStreamPut,(SDL_AudioStream *a, const void *b, int c),(a,b,c),return)
+ SDL_DYNAPI_PROC(int,SDL_AudioStreamGet,(SDL_AudioStream *a, void *b, int c),(a,b,c),return)
+ SDL_DYNAPI_PROC(void,SDL_AudioStreamClear,(SDL_AudioStream *a),(a),)
+ SDL_DYNAPI_PROC(int,SDL_AudioStreamAvailable,(SDL_AudioStream *a),(a),return)
+ SDL_DYNAPI_PROC(void,SDL_FreeAudioStream,(SDL_AudioStream *a),(a),)
+ SDL_DYNAPI_PROC(int,SDL_AudioStreamFlush,(SDL_AudioStream *a),(a),return)
+ SDL_DYNAPI_PROC(float,SDL_acosf,(float a),(a),return)
+ SDL_DYNAPI_PROC(float,SDL_asinf,(float a),(a),return)
+ SDL_DYNAPI_PROC(float,SDL_atanf,(float a),(a),return)
+ SDL_DYNAPI_PROC(float,SDL_atan2f,(float a, float b),(a,b),return)
+ SDL_DYNAPI_PROC(float,SDL_ceilf,(float a),(a),return)
+ SDL_DYNAPI_PROC(float,SDL_copysignf,(float a, float b),(a,b),return)
+ SDL_DYNAPI_PROC(float,SDL_fabsf,(float a),(a),return)
+ SDL_DYNAPI_PROC(float,SDL_floorf,(float a),(a),return)
+ SDL_DYNAPI_PROC(float,SDL_logf,(float a),(a),return)
+ SDL_DYNAPI_PROC(float,SDL_powf,(float a, float b),(a,b),return)
+ SDL_DYNAPI_PROC(float,SDL_scalbnf,(float a, int b),(a,b),return)
+ SDL_DYNAPI_PROC(double,SDL_fmod,(double a, double b),(a,b),return)
+ SDL_DYNAPI_PROC(float,SDL_fmodf,(float a, float b),(a,b),return)
+ SDL_DYNAPI_PROC(void,SDL_SetYUVConversionMode,(SDL_YUV_CONVERSION_MODE a),(a),)
+ SDL_DYNAPI_PROC(SDL_YUV_CONVERSION_MODE,SDL_GetYUVConversionMode,(void),(),return)
+ SDL_DYNAPI_PROC(SDL_YUV_CONVERSION_MODE,SDL_GetYUVConversionModeForResolution,(int a, int b),(a,b),return)
+ SDL_DYNAPI_PROC(void*,SDL_RenderGetMetalLayer,(SDL_Renderer *a),(a),return)
+ SDL_DYNAPI_PROC(void*,SDL_RenderGetMetalCommandEncoder,(SDL_Renderer *a),(a),return)
+ #ifdef __WINRT__
+ SDL_DYNAPI_PROC(SDL_WinRT_DeviceFamily,SDL_WinRTGetDeviceFamily,(void),(),return)
+ #endif
+ #ifdef __ANDROID__
+ SDL_DYNAPI_PROC(SDL_bool,SDL_IsAndroidTV,(void),(),return)
+ #endif
+ SDL_DYNAPI_PROC(double,SDL_log10,(double a),(a),return)
+ SDL_DYNAPI_PROC(float,SDL_log10f,(float a),(a),return)
++SDL_DYNAPI_PROC(int,SDL_tizen_app_init,(int a, char *b[]),(a,b),return)
--- /dev/null
- #if !SDL_EVENTS_DISABLED
- event.type = SDL_JOYDEVICEADDED;
- if (SDL_GetEventState(event.type) == SDL_ENABLE)
- {
- event.jdevice.which = 0;
- if ( (SDL_EventOK == NULL) ||(*SDL_EventOK) (SDL_EventOKParam, &event) )
- {
- SDL_PushEvent(&event);
- }
- }
- #endif /* !SDL_EVENTS_DISABLED */
+/*
+ Simple DirectMedia Layer
+ Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
+
+ 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.
+*/
+#include "../../SDL_internal.h"
+
+//#ifdef SDL_JOYSTICK_TIZEN
+
+/* This is the Tizen implementation of the SDL joystick API */
+
+#include <stdio.h> /* For the definition of NULL */
+#include <stdlib.h>
+#include <unistd.h>
+#if !SDL_EVENTS_DISABLED
+#include "../../events/SDL_events_c.h"
+#endif
+#include "../SDL_sysjoystick.h"
+#include "../SDL_joystick_c.h"
+#include "SDL_sysjoystick_c.h"
+#include "SDL_events.h"
+#include "SDL_error.h"
+#include "SDL_hints.h"
+
+
+/* local variables */
+static SDL_bool s_bDeviceAttached = SDL_FALSE; /*joystick connect or not*/
+static int aixs_map[16]; /* Map aixs inputs -1,1 or 0~255*/
+static int buttons_map[16]; /* Map button inputs 0,1 and 2 is not available*/
+static int old_aixs_map[16]; /* old Map aixs inputs */
+static int old_buttons_map[16]; /* old Map button inputs */
+
+Eina_Bool
+_tizen_cb_event_joystick_change(void *data, int type EINA_UNUSED, void *event)
+{
+ if (!event) return ECORE_CALLBACK_PASS_ON;
+ Ecore_Event_Joystick *ev = event;
+ switch (ev->type)
+ {
+#if !SDL_EVENTS_DISABLED
+ SDL_Event event;
+#endif /* !SDL_EVENTS_DISABLED */
+ case ECORE_EVENT_JOYSTICK_EVENT_TYPE_CONNECTED:
+ s_bDeviceAttached = SDL_TRUE;
- #if !SDL_EVENTS_DISABLED
- event.type = SDL_JOYDEVICEREMOVED;
- if (SDL_GetEventState(event.type) == SDL_ENABLE)
- {
- event.jdevice.which = -1;
- if ( (SDL_EventOK == NULL) ||(*SDL_EventOK) (SDL_EventOKParam, &event) )
- {
- SDL_PushEvent(&event);
- }
- }
- #endif /* !SDL_EVENTS_DISABLED */
++ SDL_PrivateJoystickAdded(0);
+ break;
+ case ECORE_EVENT_JOYSTICK_EVENT_TYPE_DISCONNECTED:
+ s_bDeviceAttached = SDL_FALSE;
- }else
++ SDL_PrivateJoystickRemoved(-1);
+ break;
+ case ECORE_EVENT_JOYSTICK_EVENT_TYPE_BUTTON:
+ buttons_map[ev->button.index] = ev->button.value;
+ break;
+ case ECORE_EVENT_JOYSTICK_EVENT_TYPE_AXIS:
+ if ( ev->axis.value > 0 && ev->axis.value < 1)
+ {
+ aixs_map[ev->axis.index] = ev->axis.value*32768;
- aixs_map[ev->axis.index] = ev->axis.value;
++ }
++ else if(ev->axis.value > -1 && ev->axis.value < 0)
+ {
++ aixs_map[ev->axis.index] = ev->axis.value*32768;
+ }
+ break;
+ default:
+ printf("unhandled event type: %d\n", ev->type);
+ break;
+ }
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+/* Function to scan the system for joysticks.
+ * Joystick 0 should be the system default joystick.
+ * It should return number of joysticks, or -1 on an unrecoverable fatal error.
+ */
+int SDL_SYS_JoystickInit(void)
+{
+ SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, "1");
+ SDL_SetHint("SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS", "1");
+
+ //TIZEN_ONLY(20170703) Remove warning message
+ #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+ ecore_input_joystick_init();
+ #pragma GCC diagnostic pop
+
+ int i;
+ for (i = 0; i < 16; i++)
+ {
+ aixs_map[i] = 999.9f;
+ buttons_map[i] = 999.9f;
+ old_aixs_map[i] = 999.9f;
+ old_buttons_map[i] = 999.9f;
+ }
+ return 1;
+}
+
+int SDL_SYS_NumJoysticks()
+{
+ return 1;
+}
+
+void SDL_SYS_JoystickDetect()
+{
+}
+
+/* Function to get the device-dependent name of a joystick */
+const char * SDL_SYS_JoystickNameForDeviceIndex(int device_index)
+{
+ return "BT Joystick";
+}
+
+/* Function to perform the mapping from device index to the instance id for this index */
+SDL_JoystickID SDL_SYS_GetInstanceIdOfDeviceIndex(int device_index)
+{
+ return device_index;
+}
+
+/* Function to get the device-dependent name of a joystick */
+const char *SDL_SYS_JoystickName(int index)
+{
+ if (index == 0)
+ return "BT Joystick";
+
+ SDL_SetError("No joystick available with that index");
+ return(NULL);
+}
+
+/* Function to open a joystick for use.
+ The joystick to open is specified by the device index.
+ This should fill the nbuttons and naxes fields of the joystick structure.
+ It returns 0, or -1 if there is an error.
+ */
+int SDL_SYS_JoystickOpen(SDL_Joystick *joystick, int device_index)
+{
+ joystick->nbuttons = 11;
+ joystick->naxes = 8;
+ joystick->nhats = 0;
+
+ return 0;
+}
+
+/* Function to determine if this joystick is attached to the system right now */
+SDL_bool SDL_SYS_JoystickAttached(SDL_Joystick *joystick)
+{
+ return s_bDeviceAttached;
+}
+
+/* Function to update the state of a joystick - called as a device poll.
+ * This function shouldn't update the joystick structure directly,
+ * but instead should call SDL_PrivateJoystick*() to deliver events
+ * and update joystick device state.
+ */
+void SDL_SYS_JoystickUpdate(SDL_Joystick *joystick)
+{
+ int i;
+ if(!s_bDeviceAttached)
+ return;
+ for(i = 0;i<joystick->naxes;i++)
+ {
+ if(old_aixs_map[i + 1] != aixs_map[i + 1])
+ {
+ SDL_PrivateJoystickAxis(joystick, i + 1, aixs_map[i + 1]);
+ old_aixs_map[i + 1] = aixs_map[i + 1];
+ }
+ }
+ for(i = 0;i<joystick->nbuttons;i++)
+ {
+ if(old_buttons_map[i + 1] != buttons_map[i + 1])
+ {
+ SDL_PrivateJoystickButton(joystick, i + 1, buttons_map[i + 1]);
+ old_buttons_map[i + 1] = buttons_map[i + 1];
+ }
+ }
+}
+
+/* Function to close a joystick after use */
+void SDL_SYS_JoystickClose(SDL_Joystick *joystick)
+{
+}
+
+/* Function to perform any system-specific joystick related cleanup */
+void SDL_SYS_JoystickQuit(void)
+{
+ //TIZEN_ONLY(20170703) Remove warning message
+ #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+ ecore_input_joystick_shutdown();
+ #pragma GCC diagnostic pop
+}
+
+SDL_JoystickGUID SDL_SYS_JoystickGetDeviceGUID( int device_index )
+{
+ SDL_JoystickGUID guid;
+ /* the GUID is just the first 16 chars of the name for now */
+ const char *name = SDL_SYS_JoystickNameForDeviceIndex( device_index );
+ SDL_zero( guid );
+ SDL_memcpy( &guid, name, SDL_min( sizeof(guid), SDL_strlen( name ) ) );
+ return guid;
+}
+
+SDL_JoystickGUID SDL_SYS_JoystickGetGUID(SDL_Joystick * joystick)
+{
+ SDL_JoystickGUID guid;
+ /* the GUID is just the first 16 chars of the name for now */
+ const char *name = joystick->name;
+ SDL_zero( guid );
+ SDL_memcpy( &guid, name, SDL_min( sizeof(guid), SDL_strlen( name ) ) );
+ return guid;
+}
+
+//#endif
+
+/* vim: ts=4 sw=4
+ */
+++ /dev/null
--/*
-- Simple DirectMedia Layer
-- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
--
-- 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.
--*/
--#include "../../SDL_internal.h"
--
--#ifdef SDL_LOADSO_HAIKU
--
--/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
--/* System dependent library loading routines */
--
--#include <stdio.h>
--#include <os/kernel/image.h>
--
--#include "SDL_loadso.h"
--
--void *
--SDL_LoadObject(const char *sofile)
--{
-- void *handle = NULL;
-- image_id library_id = load_add_on(sofile);
-- if (library_id < 0) {
-- SDL_SetError(strerror((int) library_id));
-- } else {
-- handle = (void *) (library_id);
-- }
-- return (handle);
--}
--
--void *
--SDL_LoadFunction(void *handle, const char *name)
--{
-- void *sym = NULL;
-- image_id library_id = (image_id) handle;
-- status_t rc =
-- get_image_symbol(library_id, name, B_SYMBOL_TYPE_TEXT, &sym);
-- if (rc != B_NO_ERROR) {
-- SDL_SetError(strerror(rc));
-- }
-- return (sym);
--}
--
--void
--SDL_UnloadObject(void *handle)
--{
-- image_id library_id;
-- if (handle != NULL) {
-- library_id = (image_id) handle;
-- unload_add_on(library_id);
-- }
--}
--
--#endif /* SDL_LOADSO_HAIKU */
--
--/* vi: set ts=4 sw=4 expandtab: */
+++ /dev/null
--/*
-- Simple DirectMedia Layer
-- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
--
-- 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.
--*/
--#include "../SDL_internal.h"
--
--#if (__GNUC__ > 2) && defined(__i386__) && __OPTIMIZE__ && SDL_ASSEMBLY_ROUTINES
--
--#include "SDL_stdinc.h"
--
--#include "mmx.h"
--
--/* *INDENT-OFF* */
--
--static mmx_t MMX_0080w = { .ud = {0x00800080, 0x00800080} };
--static mmx_t MMX_00FFw = { .ud = {0x00ff00ff, 0x00ff00ff} };
--static mmx_t MMX_FF00w = { .ud = {0xff00ff00, 0xff00ff00} };
--
--static mmx_t MMX_Ycoeff = { .uw = {0x004a, 0x004a, 0x004a, 0x004a} };
--
--static mmx_t MMX_UbluRGB = { .uw = {0x0072, 0x0072, 0x0072, 0x0072} };
--static mmx_t MMX_VredRGB = { .uw = {0x0059, 0x0059, 0x0059, 0x0059} };
--static mmx_t MMX_UgrnRGB = { .uw = {0xffea, 0xffea, 0xffea, 0xffea} };
--static mmx_t MMX_VgrnRGB = { .uw = {0xffd2, 0xffd2, 0xffd2, 0xffd2} };
--
--static mmx_t MMX_Ublu5x5 = { .uw = {0x0081, 0x0081, 0x0081, 0x0081} };
--static mmx_t MMX_Vred5x5 = { .uw = {0x0066, 0x0066, 0x0066, 0x0066} };
--static mmx_t MMX_Ugrn565 = { .uw = {0xffe8, 0xffe8, 0xffe8, 0xffe8} };
--static mmx_t MMX_Vgrn565 = { .uw = {0xffcd, 0xffcd, 0xffcd, 0xffcd} };
--
--static mmx_t MMX_red565 = { .uw = {0xf800, 0xf800, 0xf800, 0xf800} };
--static mmx_t MMX_grn565 = { .uw = {0x07e0, 0x07e0, 0x07e0, 0x07e0} };
--
--/**
-- This MMX assembler is my first assembler/MMX program ever.
-- Thus it maybe buggy.
-- Send patches to:
-- mvogt@rhrk.uni-kl.de
--
-- After it worked fine I have "obfuscated" the code a bit to have
-- more parallism in the MMX units. This means I moved
-- initilisation around and delayed other instruction.
-- Performance measurement did not show that this brought any advantage
-- but in theory it _should_ be faster this way.
--
-- The overall performanve gain to the C based dither was 30%-40%.
-- The MMX routine calculates 256bit=8RGB values in each cycle
-- (4 for row1 & 4 for row2)
--
-- The red/green/blue.. coefficents are taken from the mpeg_play
-- player. They look nice, but I dont know if you can have
-- better values, to avoid integer rounding errors.
--
--
-- IMPORTANT:
-- ==========
--
-- It is a requirement that the cr/cb/lum are 8 byte aligned and
-- the out are 16byte aligned or you will/may get segfaults
--
--*/
--
--void ColorRGBDitherYV12MMX1X( int *colortab, Uint32 *rgb_2_pix,
-- unsigned char *lum, unsigned char *cr,
-- unsigned char *cb, unsigned char *out,
-- int rows, int cols, int mod )
--{
-- Uint32 *row1;
-- Uint32 *row2;
--
-- unsigned char* y = lum +cols*rows; /* Pointer to the end */
-- int x = 0;
-- row1 = (Uint32 *)out; /* 32 bit target */
-- row2 = (Uint32 *)out+cols+mod; /* start of second row */
-- mod = (mod+cols+mod)*4; /* increment for row1 in byte */
--
-- __asm__ __volatile__ (
-- /* tap dance to workaround the inability to use %%ebx at will... */
-- /* move one thing to the stack... */
-- "pushl $0\n" /* save a slot on the stack. */
-- "pushl %%ebx\n" /* save %%ebx. */
-- "movl %0, %%ebx\n" /* put the thing in ebx. */
-- "movl %%ebx,4(%%esp)\n" /* put the thing in the stack slot. */
-- "popl %%ebx\n" /* get back %%ebx (the PIC register). */
--
-- ".align 8\n"
-- "1:\n"
--
-- /* create Cr (result in mm1) */
-- "pushl %%ebx\n"
-- "movl 4(%%esp),%%ebx\n"
-- "movd (%%ebx),%%mm1\n" /* 0 0 0 0 v3 v2 v1 v0 */
-- "popl %%ebx\n"
-- "pxor %%mm7,%%mm7\n" /* 00 00 00 00 00 00 00 00 */
-- "movd (%2), %%mm2\n" /* 0 0 0 0 l3 l2 l1 l0 */
-- "punpcklbw %%mm7,%%mm1\n" /* 0 v3 0 v2 00 v1 00 v0 */
-- "punpckldq %%mm1,%%mm1\n" /* 00 v1 00 v0 00 v1 00 v0 */
-- "psubw %9,%%mm1\n" /* mm1-128:r1 r1 r0 r0 r1 r1 r0 r0 */
--
-- /* create Cr_g (result in mm0) */
-- "movq %%mm1,%%mm0\n" /* r1 r1 r0 r0 r1 r1 r0 r0 */
-- "pmullw %10,%%mm0\n" /* red*-46dec=0.7136*64 */
-- "pmullw %11,%%mm1\n" /* red*89dec=1.4013*64 */
-- "psraw $6, %%mm0\n" /* red=red/64 */
-- "psraw $6, %%mm1\n" /* red=red/64 */
--
-- /* create L1 L2 (result in mm2,mm4) */
-- /* L2=lum+cols */
-- "movq (%2,%4),%%mm3\n" /* 0 0 0 0 L3 L2 L1 L0 */
-- "punpckldq %%mm3,%%mm2\n" /* L3 L2 L1 L0 l3 l2 l1 l0 */
-- "movq %%mm2,%%mm4\n" /* L3 L2 L1 L0 l3 l2 l1 l0 */
-- "pand %12,%%mm2\n" /* L3 0 L1 0 l3 0 l1 0 */
-- "pand %13,%%mm4\n" /* 0 L2 0 L0 0 l2 0 l0 */
-- "psrlw $8,%%mm2\n" /* 0 L3 0 L1 0 l3 0 l1 */
--
-- /* create R (result in mm6) */
-- "movq %%mm2,%%mm5\n" /* 0 L3 0 L1 0 l3 0 l1 */
-- "movq %%mm4,%%mm6\n" /* 0 L2 0 L0 0 l2 0 l0 */
-- "paddsw %%mm1, %%mm5\n" /* lum1+red:x R3 x R1 x r3 x r1 */
-- "paddsw %%mm1, %%mm6\n" /* lum1+red:x R2 x R0 x r2 x r0 */
-- "packuswb %%mm5,%%mm5\n" /* R3 R1 r3 r1 R3 R1 r3 r1 */
-- "packuswb %%mm6,%%mm6\n" /* R2 R0 r2 r0 R2 R0 r2 r0 */
-- "pxor %%mm7,%%mm7\n" /* 00 00 00 00 00 00 00 00 */
-- "punpcklbw %%mm5,%%mm6\n" /* R3 R2 R1 R0 r3 r2 r1 r0 */
--
-- /* create Cb (result in mm1) */
-- "movd (%1), %%mm1\n" /* 0 0 0 0 u3 u2 u1 u0 */
-- "punpcklbw %%mm7,%%mm1\n" /* 0 u3 0 u2 00 u1 00 u0 */
-- "punpckldq %%mm1,%%mm1\n" /* 00 u1 00 u0 00 u1 00 u0 */
-- "psubw %9,%%mm1\n" /* mm1-128:u1 u1 u0 u0 u1 u1 u0 u0 */
--
-- /* create Cb_g (result in mm5) */
-- "movq %%mm1,%%mm5\n" /* u1 u1 u0 u0 u1 u1 u0 u0 */
-- "pmullw %14,%%mm5\n" /* blue*-109dec=1.7129*64 */
-- "pmullw %15,%%mm1\n" /* blue*114dec=1.78125*64 */
-- "psraw $6, %%mm5\n" /* blue=red/64 */
-- "psraw $6, %%mm1\n" /* blue=blue/64 */
--
-- /* create G (result in mm7) */
-- "movq %%mm2,%%mm3\n" /* 0 L3 0 L1 0 l3 0 l1 */
-- "movq %%mm4,%%mm7\n" /* 0 L2 0 L0 0 l2 0 l1 */
-- "paddsw %%mm5, %%mm3\n" /* lum1+Cb_g:x G3t x G1t x g3t x g1t */
-- "paddsw %%mm5, %%mm7\n" /* lum1+Cb_g:x G2t x G0t x g2t x g0t */
-- "paddsw %%mm0, %%mm3\n" /* lum1+Cr_g:x G3 x G1 x g3 x g1 */
-- "paddsw %%mm0, %%mm7\n" /* lum1+blue:x G2 x G0 x g2 x g0 */
-- "packuswb %%mm3,%%mm3\n" /* G3 G1 g3 g1 G3 G1 g3 g1 */
-- "packuswb %%mm7,%%mm7\n" /* G2 G0 g2 g0 G2 G0 g2 g0 */
-- "punpcklbw %%mm3,%%mm7\n" /* G3 G2 G1 G0 g3 g2 g1 g0 */
--
-- /* create B (result in mm5) */
-- "movq %%mm2,%%mm3\n" /* 0 L3 0 L1 0 l3 0 l1 */
-- "movq %%mm4,%%mm5\n" /* 0 L2 0 L0 0 l2 0 l1 */
-- "paddsw %%mm1, %%mm3\n" /* lum1+blue:x B3 x B1 x b3 x b1 */
-- "paddsw %%mm1, %%mm5\n" /* lum1+blue:x B2 x B0 x b2 x b0 */
-- "packuswb %%mm3,%%mm3\n" /* B3 B1 b3 b1 B3 B1 b3 b1 */
-- "packuswb %%mm5,%%mm5\n" /* B2 B0 b2 b0 B2 B0 b2 b0 */
-- "punpcklbw %%mm3,%%mm5\n" /* B3 B2 B1 B0 b3 b2 b1 b0 */
--
-- /* fill destination row1 (needed are mm6=Rr,mm7=Gg,mm5=Bb) */
--
-- "pxor %%mm2,%%mm2\n" /* 0 0 0 0 0 0 0 0 */
-- "pxor %%mm4,%%mm4\n" /* 0 0 0 0 0 0 0 0 */
-- "movq %%mm6,%%mm1\n" /* R3 R2 R1 R0 r3 r2 r1 r0 */
-- "movq %%mm5,%%mm3\n" /* B3 B2 B1 B0 b3 b2 b1 b0 */
--
-- /* process lower lum */
-- "punpcklbw %%mm4,%%mm1\n" /* 0 r3 0 r2 0 r1 0 r0 */
-- "punpcklbw %%mm4,%%mm3\n" /* 0 b3 0 b2 0 b1 0 b0 */
-- "movq %%mm1,%%mm2\n" /* 0 r3 0 r2 0 r1 0 r0 */
-- "movq %%mm3,%%mm0\n" /* 0 b3 0 b2 0 b1 0 b0 */
-- "punpcklwd %%mm1,%%mm3\n" /* 0 r1 0 b1 0 r0 0 b0 */
-- "punpckhwd %%mm2,%%mm0\n" /* 0 r3 0 b3 0 r2 0 b2 */
--
-- "pxor %%mm2,%%mm2\n" /* 0 0 0 0 0 0 0 0 */
-- "movq %%mm7,%%mm1\n" /* G3 G2 G1 G0 g3 g2 g1 g0 */
-- "punpcklbw %%mm1,%%mm2\n" /* g3 0 g2 0 g1 0 g0 0 */
-- "punpcklwd %%mm4,%%mm2\n" /* 0 0 g1 0 0 0 g0 0 */
-- "por %%mm3, %%mm2\n" /* 0 r1 g1 b1 0 r0 g0 b0 */
-- "movq %%mm2,(%3)\n" /* wrote out ! row1 */
--
-- "pxor %%mm2,%%mm2\n" /* 0 0 0 0 0 0 0 0 */
-- "punpcklbw %%mm1,%%mm4\n" /* g3 0 g2 0 g1 0 g0 0 */
-- "punpckhwd %%mm2,%%mm4\n" /* 0 0 g3 0 0 0 g2 0 */
-- "por %%mm0, %%mm4\n" /* 0 r3 g3 b3 0 r2 g2 b2 */
-- "movq %%mm4,8(%3)\n" /* wrote out ! row1 */
--
-- /* fill destination row2 (needed are mm6=Rr,mm7=Gg,mm5=Bb) */
-- /* this can be done "destructive" */
-- "pxor %%mm2,%%mm2\n" /* 0 0 0 0 0 0 0 0 */
-- "punpckhbw %%mm2,%%mm6\n" /* 0 R3 0 R2 0 R1 0 R0 */
-- "punpckhbw %%mm1,%%mm5\n" /* G3 B3 G2 B2 G1 B1 G0 B0 */
-- "movq %%mm5,%%mm1\n" /* G3 B3 G2 B2 G1 B1 G0 B0 */
-- "punpcklwd %%mm6,%%mm1\n" /* 0 R1 G1 B1 0 R0 G0 B0 */
-- "movq %%mm1,(%5)\n" /* wrote out ! row2 */
-- "punpckhwd %%mm6,%%mm5\n" /* 0 R3 G3 B3 0 R2 G2 B2 */
-- "movq %%mm5,8(%5)\n" /* wrote out ! row2 */
--
-- "addl $4,%2\n" /* lum+4 */
-- "leal 16(%3),%3\n" /* row1+16 */
-- "leal 16(%5),%5\n" /* row2+16 */
-- "addl $2,(%%esp)\n" /* cr+2 */
-- "addl $2,%1\n" /* cb+2 */
--
-- "addl $4,%6\n" /* x+4 */
-- "cmpl %4,%6\n"
--
-- "jl 1b\n"
-- "addl %4,%2\n" /* lum += cols */
-- "addl %8,%3\n" /* row1+= mod */
-- "addl %8,%5\n" /* row2+= mod */
-- "movl $0,%6\n" /* x=0 */
-- "cmpl %7,%2\n"
-- "jl 1b\n"
--
-- "addl $4,%%esp\n" /* get rid of the stack slot we reserved. */
-- "emms\n" /* reset MMX registers. */
-- :
-- : "m" (cr), "r"(cb),"r"(lum),
-- "r"(row1),"r"(cols),"r"(row2),"m"(x),"m"(y),"m"(mod),
-- "m"(MMX_0080w),"m"(MMX_VgrnRGB),"m"(MMX_VredRGB),
-- "m"(MMX_FF00w),"m"(MMX_00FFw),"m"(MMX_UgrnRGB),
-- "m"(MMX_UbluRGB)
-- );
--}
--
--void Color565DitherYV12MMX1X( int *colortab, Uint32 *rgb_2_pix,
-- unsigned char *lum, unsigned char *cr,
-- unsigned char *cb, unsigned char *out,
-- int rows, int cols, int mod )
--{
-- Uint16 *row1;
-- Uint16 *row2;
--
-- unsigned char* y = lum +cols*rows; /* Pointer to the end */
-- int x = 0;
-- row1 = (Uint16 *)out; /* 16 bit target */
-- row2 = (Uint16 *)out+cols+mod; /* start of second row */
-- mod = (mod+cols+mod)*2; /* increment for row1 in byte */
--
-- __asm__ __volatile__(
-- /* tap dance to workaround the inability to use %%ebx at will... */
-- /* move one thing to the stack... */
-- "pushl $0\n" /* save a slot on the stack. */
-- "pushl %%ebx\n" /* save %%ebx. */
-- "movl %0, %%ebx\n" /* put the thing in ebx. */
-- "movl %%ebx, 4(%%esp)\n" /* put the thing in the stack slot. */
-- "popl %%ebx\n" /* get back %%ebx (the PIC register). */
--
-- ".align 8\n"
-- "1:\n"
--
-- "movd (%1), %%mm0\n" /* 4 Cb 0 0 0 0 u3 u2 u1 u0 */
-- "pxor %%mm7, %%mm7\n"
-- "pushl %%ebx\n"
-- "movl 4(%%esp), %%ebx\n"
-- "movd (%%ebx), %%mm1\n" /* 4 Cr 0 0 0 0 v3 v2 v1 v0 */
-- "popl %%ebx\n"
--
-- "punpcklbw %%mm7, %%mm0\n" /* 4 W cb 0 u3 0 u2 0 u1 0 u0 */
-- "punpcklbw %%mm7, %%mm1\n" /* 4 W cr 0 v3 0 v2 0 v1 0 v0 */
-- "psubw %9, %%mm0\n"
-- "psubw %9, %%mm1\n"
-- "movq %%mm0, %%mm2\n" /* Cb 0 u3 0 u2 0 u1 0 u0 */
-- "movq %%mm1, %%mm3\n" /* Cr */
-- "pmullw %10, %%mm2\n" /* Cb2green 0 R3 0 R2 0 R1 0 R0 */
-- "movq (%2), %%mm6\n" /* L1 l7 L6 L5 L4 L3 L2 L1 L0 */
-- "pmullw %11, %%mm0\n" /* Cb2blue */
-- "pand %12, %%mm6\n" /* L1 00 L6 00 L4 00 L2 00 L0 */
-- "pmullw %13, %%mm3\n" /* Cr2green */
-- "movq (%2), %%mm7\n" /* L2 */
-- "pmullw %14, %%mm1\n" /* Cr2red */
-- "psrlw $8, %%mm7\n" /* L2 00 L7 00 L5 00 L3 00 L1 */
-- "pmullw %15, %%mm6\n" /* lum1 */
-- "paddw %%mm3, %%mm2\n" /* Cb2green + Cr2green == green */
-- "pmullw %15, %%mm7\n" /* lum2 */
--
-- "movq %%mm6, %%mm4\n" /* lum1 */
-- "paddw %%mm0, %%mm6\n" /* lum1 +blue 00 B6 00 B4 00 B2 00 B0 */
-- "movq %%mm4, %%mm5\n" /* lum1 */
-- "paddw %%mm1, %%mm4\n" /* lum1 +red 00 R6 00 R4 00 R2 00 R0 */
-- "paddw %%mm2, %%mm5\n" /* lum1 +green 00 G6 00 G4 00 G2 00 G0 */
-- "psraw $6, %%mm4\n" /* R1 0 .. 64 */
-- "movq %%mm7, %%mm3\n" /* lum2 00 L7 00 L5 00 L3 00 L1 */
-- "psraw $6, %%mm5\n" /* G1 - .. + */
-- "paddw %%mm0, %%mm7\n" /* Lum2 +blue 00 B7 00 B5 00 B3 00 B1 */
-- "psraw $6, %%mm6\n" /* B1 0 .. 64 */
-- "packuswb %%mm4, %%mm4\n" /* R1 R1 */
-- "packuswb %%mm5, %%mm5\n" /* G1 G1 */
-- "packuswb %%mm6, %%mm6\n" /* B1 B1 */
-- "punpcklbw %%mm4, %%mm4\n"
-- "punpcklbw %%mm5, %%mm5\n"
--
-- "pand %16, %%mm4\n"
-- "psllw $3, %%mm5\n" /* GREEN 1 */
-- "punpcklbw %%mm6, %%mm6\n"
-- "pand %17, %%mm5\n"
-- "pand %16, %%mm6\n"
-- "por %%mm5, %%mm4\n" /* */
-- "psrlw $11, %%mm6\n" /* BLUE 1 */
-- "movq %%mm3, %%mm5\n" /* lum2 */
-- "paddw %%mm1, %%mm3\n" /* lum2 +red 00 R7 00 R5 00 R3 00 R1 */
-- "paddw %%mm2, %%mm5\n" /* lum2 +green 00 G7 00 G5 00 G3 00 G1 */
-- "psraw $6, %%mm3\n" /* R2 */
-- "por %%mm6, %%mm4\n" /* MM4 */
-- "psraw $6, %%mm5\n" /* G2 */
-- "movq (%2, %4), %%mm6\n" /* L3 load lum2 */
-- "psraw $6, %%mm7\n"
-- "packuswb %%mm3, %%mm3\n"
-- "packuswb %%mm5, %%mm5\n"
-- "packuswb %%mm7, %%mm7\n"
-- "pand %12, %%mm6\n" /* L3 */
-- "punpcklbw %%mm3, %%mm3\n"
-- "punpcklbw %%mm5, %%mm5\n"
-- "pmullw %15, %%mm6\n" /* lum3 */
-- "punpcklbw %%mm7, %%mm7\n"
-- "psllw $3, %%mm5\n" /* GREEN 2 */
-- "pand %16, %%mm7\n"
-- "pand %16, %%mm3\n"
-- "psrlw $11, %%mm7\n" /* BLUE 2 */
-- "pand %17, %%mm5\n"
-- "por %%mm7, %%mm3\n"
-- "movq (%2,%4), %%mm7\n" /* L4 load lum2 */
-- "por %%mm5, %%mm3\n"
-- "psrlw $8, %%mm7\n" /* L4 */
-- "movq %%mm4, %%mm5\n"
-- "punpcklwd %%mm3, %%mm4\n"
-- "pmullw %15, %%mm7\n" /* lum4 */
-- "punpckhwd %%mm3, %%mm5\n"
--
-- "movq %%mm4, (%3)\n" /* write row1 */
-- "movq %%mm5, 8(%3)\n" /* write row1 */
--
-- "movq %%mm6, %%mm4\n" /* Lum3 */
-- "paddw %%mm0, %%mm6\n" /* Lum3 +blue */
--
-- "movq %%mm4, %%mm5\n" /* Lum3 */
-- "paddw %%mm1, %%mm4\n" /* Lum3 +red */
-- "paddw %%mm2, %%mm5\n" /* Lum3 +green */
-- "psraw $6, %%mm4\n"
-- "movq %%mm7, %%mm3\n" /* Lum4 */
-- "psraw $6, %%mm5\n"
-- "paddw %%mm0, %%mm7\n" /* Lum4 +blue */
-- "psraw $6, %%mm6\n" /* Lum3 +blue */
-- "movq %%mm3, %%mm0\n" /* Lum4 */
-- "packuswb %%mm4, %%mm4\n"
-- "paddw %%mm1, %%mm3\n" /* Lum4 +red */
-- "packuswb %%mm5, %%mm5\n"
-- "paddw %%mm2, %%mm0\n" /* Lum4 +green */
-- "packuswb %%mm6, %%mm6\n"
-- "punpcklbw %%mm4, %%mm4\n"
-- "punpcklbw %%mm5, %%mm5\n"
-- "punpcklbw %%mm6, %%mm6\n"
-- "psllw $3, %%mm5\n" /* GREEN 3 */
-- "pand %16, %%mm4\n"
-- "psraw $6, %%mm3\n" /* psr 6 */
-- "psraw $6, %%mm0\n"
-- "pand %16, %%mm6\n" /* BLUE */
-- "pand %17, %%mm5\n"
-- "psrlw $11, %%mm6\n" /* BLUE 3 */
-- "por %%mm5, %%mm4\n"
-- "psraw $6, %%mm7\n"
-- "por %%mm6, %%mm4\n"
-- "packuswb %%mm3, %%mm3\n"
-- "packuswb %%mm0, %%mm0\n"
-- "packuswb %%mm7, %%mm7\n"
-- "punpcklbw %%mm3, %%mm3\n"
-- "punpcklbw %%mm0, %%mm0\n"
-- "punpcklbw %%mm7, %%mm7\n"
-- "pand %16, %%mm3\n"
-- "pand %16, %%mm7\n" /* BLUE */
-- "psllw $3, %%mm0\n" /* GREEN 4 */
-- "psrlw $11, %%mm7\n"
-- "pand %17, %%mm0\n"
-- "por %%mm7, %%mm3\n"
-- "por %%mm0, %%mm3\n"
--
-- "movq %%mm4, %%mm5\n"
--
-- "punpcklwd %%mm3, %%mm4\n"
-- "punpckhwd %%mm3, %%mm5\n"
--
-- "movq %%mm4, (%5)\n"
-- "movq %%mm5, 8(%5)\n"
--
-- "addl $8, %6\n"
-- "addl $8, %2\n"
-- "addl $4, (%%esp)\n"
-- "addl $4, %1\n"
-- "cmpl %4, %6\n"
-- "leal 16(%3), %3\n"
-- "leal 16(%5),%5\n" /* row2+16 */
--
-- "jl 1b\n"
-- "addl %4, %2\n" /* lum += cols */
-- "addl %8, %3\n" /* row1+= mod */
-- "addl %8, %5\n" /* row2+= mod */
-- "movl $0, %6\n" /* x=0 */
-- "cmpl %7, %2\n"
-- "jl 1b\n"
-- "addl $4, %%esp\n" /* get rid of the stack slot we reserved. */
-- "emms\n"
-- :
-- : "m" (cr), "r"(cb),"r"(lum),
-- "r"(row1),"r"(cols),"r"(row2),"m"(x),"m"(y),"m"(mod),
-- "m"(MMX_0080w),"m"(MMX_Ugrn565),"m"(MMX_Ublu5x5),
-- "m"(MMX_00FFw),"m"(MMX_Vgrn565),"m"(MMX_Vred5x5),
-- "m"(MMX_Ycoeff),"m"(MMX_red565),"m"(MMX_grn565)
-- );
--}
--
--/* *INDENT-ON* */
--
--#endif /* GCC3 i386 inline assembly */
--
--/* vi: set ts=4 sw=4 expandtab: */
+++ /dev/null
--/* mmx.h
--
-- MultiMedia eXtensions GCC interface library for IA32.
--
-- To use this library, simply include this header file
-- and compile with GCC. You MUST have inlining enabled
-- in order for mmx_ok() to work; this can be done by
-- simply using -O on the GCC command line.
--
-- Compiling with -DMMX_TRACE will cause detailed trace
-- output to be sent to stderr for each mmx operation.
-- This adds lots of code, and obviously slows execution to
-- a crawl, but can be very useful for debugging.
--
-- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY
-- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
-- LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-- AND FITNESS FOR ANY PARTICULAR PURPOSE.
--
-- 1997-99 by H. Dietz and R. Fisher
--
-- Notes:
-- It appears that the latest gas has the pand problem fixed, therefore
-- I'll undefine BROKEN_PAND by default.
--*/
--
--#ifndef _MMX_H
--#define _MMX_H
--
--
--/* Warning: at this writing, the version of GAS packaged
-- with most Linux distributions does not handle the
-- parallel AND operation mnemonic correctly. If the
-- symbol BROKEN_PAND is defined, a slower alternative
-- coding will be used. If execution of mmxtest results
-- in an illegal instruction fault, define this symbol.
--*/
--#undef BROKEN_PAND
--
--
--/* The type of an value that fits in an MMX register
-- (note that long long constant values MUST be suffixed
-- by LL and unsigned long long values by ULL, lest
-- they be truncated by the compiler)
--*/
--typedef union
--{
-- long long q; /* Quadword (64-bit) value */
-- unsigned long long uq; /* Unsigned Quadword */
-- int d[2]; /* 2 Doubleword (32-bit) values */
-- unsigned int ud[2]; /* 2 Unsigned Doubleword */
-- short w[4]; /* 4 Word (16-bit) values */
-- unsigned short uw[4]; /* 4 Unsigned Word */
-- char b[8]; /* 8 Byte (8-bit) values */
-- unsigned char ub[8]; /* 8 Unsigned Byte */
-- float s[2]; /* Single-precision (32-bit) value */
--} __attribute__ ((aligned(8))) mmx_t; /* On an 8-byte (64-bit) boundary */
--
--
--#if 0
--/* Function to test if multimedia instructions are supported...
--*/
--inline extern int
--mm_support(void)
--{
-- /* Returns 1 if MMX instructions are supported,
-- 3 if Cyrix MMX and Extended MMX instructions are supported
-- 5 if AMD MMX and 3DNow! instructions are supported
-- 0 if hardware does not support any of these
-- */
-- register int rval = 0;
--
-- __asm__ __volatile__(
-- /* See if CPUID instruction is supported ... */
-- /* ... Get copies of EFLAGS into eax and ecx */
-- "pushf\n\t"
-- "popl %%eax\n\t" "movl %%eax, %%ecx\n\t"
-- /* ... Toggle the ID bit in one copy and store */
-- /* to the EFLAGS reg */
-- "xorl $0x200000, %%eax\n\t"
-- "push %%eax\n\t" "popf\n\t"
-- /* ... Get the (hopefully modified) EFLAGS */
-- "pushf\n\t" "popl %%eax\n\t"
-- /* ... Compare and test result */
-- "xorl %%eax, %%ecx\n\t" "testl $0x200000, %%ecx\n\t" "jz NotSupported1\n\t" /* CPUID not supported */
-- /* Get standard CPUID information, and
-- go to a specific vendor section */
-- "movl $0, %%eax\n\t" "cpuid\n\t"
-- /* Check for Intel */
-- "cmpl $0x756e6547, %%ebx\n\t"
-- "jne TryAMD\n\t"
-- "cmpl $0x49656e69, %%edx\n\t"
-- "jne TryAMD\n\t"
-- "cmpl $0x6c65746e, %%ecx\n"
-- "jne TryAMD\n\t" "jmp Intel\n\t"
-- /* Check for AMD */
-- "\nTryAMD:\n\t"
-- "cmpl $0x68747541, %%ebx\n\t"
-- "jne TryCyrix\n\t"
-- "cmpl $0x69746e65, %%edx\n\t"
-- "jne TryCyrix\n\t"
-- "cmpl $0x444d4163, %%ecx\n"
-- "jne TryCyrix\n\t" "jmp AMD\n\t"
-- /* Check for Cyrix */
-- "\nTryCyrix:\n\t"
-- "cmpl $0x69727943, %%ebx\n\t"
-- "jne NotSupported2\n\t"
-- "cmpl $0x736e4978, %%edx\n\t"
-- "jne NotSupported3\n\t"
-- "cmpl $0x64616574, %%ecx\n\t"
-- "jne NotSupported4\n\t"
-- /* Drop through to Cyrix... */
-- /* Cyrix Section */
-- /* See if extended CPUID level 80000001 is supported */
-- /* The value of CPUID/80000001 for the 6x86MX is undefined
-- according to the Cyrix CPU Detection Guide (Preliminary
-- Rev. 1.01 table 1), so we'll check the value of eax for
-- CPUID/0 to see if standard CPUID level 2 is supported.
-- According to the table, the only CPU which supports level
-- 2 is also the only one which supports extended CPUID levels.
-- */
-- "cmpl $0x2, %%eax\n\t" "jne MMXtest\n\t" /* Use standard CPUID instead */
-- /* Extended CPUID supported (in theory), so get extended
-- features */
-- "movl $0x80000001, %%eax\n\t" "cpuid\n\t" "testl $0x00800000, %%eax\n\t" /* Test for MMX */
-- "jz NotSupported5\n\t" /* MMX not supported */
-- "testl $0x01000000, %%eax\n\t" /* Test for Ext'd MMX */
-- "jnz EMMXSupported\n\t" "movl $1, %0:\n\n\t" /* MMX Supported */
-- "jmp Return\n\n" "EMMXSupported:\n\t" "movl $3, %0:\n\n\t" /* EMMX and MMX Supported */
-- "jmp Return\n\t"
-- /* AMD Section */
-- "AMD:\n\t"
-- /* See if extended CPUID is supported */
-- "movl $0x80000000, %%eax\n\t" "cpuid\n\t" "cmpl $0x80000000, %%eax\n\t" "jl MMXtest\n\t" /* Use standard CPUID instead */
-- /* Extended CPUID supported, so get extended features */
-- "movl $0x80000001, %%eax\n\t" "cpuid\n\t" "testl $0x00800000, %%edx\n\t" /* Test for MMX */
-- "jz NotSupported6\n\t" /* MMX not supported */
-- "testl $0x80000000, %%edx\n\t" /* Test for 3DNow! */
-- "jnz ThreeDNowSupported\n\t" "movl $1, %0:\n\n\t" /* MMX Supported */
-- "jmp Return\n\n" "ThreeDNowSupported:\n\t" "movl $5, %0:\n\n\t" /* 3DNow! and MMX Supported */
-- "jmp Return\n\t"
-- /* Intel Section */
-- "Intel:\n\t"
-- /* Check for MMX */
-- "MMXtest:\n\t" "movl $1, %%eax\n\t" "cpuid\n\t" "testl $0x00800000, %%edx\n\t" /* Test for MMX */
-- "jz NotSupported7\n\t" /* MMX Not supported */
-- "movl $1, %0:\n\n\t" /* MMX Supported */
-- "jmp Return\n\t"
-- /* Nothing supported */
-- "\nNotSupported1:\n\t" "#movl $101, %0:\n\n\t" "\nNotSupported2:\n\t" "#movl $102, %0:\n\n\t" "\nNotSupported3:\n\t" "#movl $103, %0:\n\n\t" "\nNotSupported4:\n\t" "#movl $104, %0:\n\n\t" "\nNotSupported5:\n\t" "#movl $105, %0:\n\n\t" "\nNotSupported6:\n\t" "#movl $106, %0:\n\n\t" "\nNotSupported7:\n\t" "#movl $107, %0:\n\n\t" "movl $0, %0:\n\n\t" "Return:\n\t":"=a"(rval): /* no input */
-- :"eax", "ebx", "ecx", "edx");
--
-- /* Return */
-- return (rval);
--}
--
--/* Function to test if mmx instructions are supported...
--*/
--inline extern int
--mmx_ok(void)
--{
-- /* Returns 1 if MMX instructions are supported, 0 otherwise */
-- return (mm_support() & 0x1);
--}
--#endif
--
--/* Helper functions for the instruction macros that follow...
-- (note that memory-to-register, m2r, instructions are nearly
-- as efficient as register-to-register, r2r, instructions;
-- however, memory-to-memory instructions are really simulated
-- as a convenience, and are only 1/3 as efficient)
--*/
--#ifdef MMX_TRACE
--
--/* Include the stuff for printing a trace to stderr...
--*/
--
--#define mmx_i2r(op, imm, reg) \
-- { \
-- mmx_t mmx_trace; \
-- mmx_trace.uq = (imm); \
-- printf(#op "_i2r(" #imm "=0x%08x%08x, ", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- __asm__ __volatile__ ("movq %%" #reg ", %0" \
-- : "=X" (mmx_trace) \
-- : /* nothing */ ); \
-- printf(#reg "=0x%08x%08x) => ", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- __asm__ __volatile__ (#op " %0, %%" #reg \
-- : /* nothing */ \
-- : "X" (imm)); \
-- __asm__ __volatile__ ("movq %%" #reg ", %0" \
-- : "=X" (mmx_trace) \
-- : /* nothing */ ); \
-- printf(#reg "=0x%08x%08x\n", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- }
--
--#define mmx_m2r(op, mem, reg) \
-- { \
-- mmx_t mmx_trace; \
-- mmx_trace = (mem); \
-- printf(#op "_m2r(" #mem "=0x%08x%08x, ", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- __asm__ __volatile__ ("movq %%" #reg ", %0" \
-- : "=X" (mmx_trace) \
-- : /* nothing */ ); \
-- printf(#reg "=0x%08x%08x) => ", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- __asm__ __volatile__ (#op " %0, %%" #reg \
-- : /* nothing */ \
-- : "X" (mem)); \
-- __asm__ __volatile__ ("movq %%" #reg ", %0" \
-- : "=X" (mmx_trace) \
-- : /* nothing */ ); \
-- printf(#reg "=0x%08x%08x\n", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- }
--
--#define mmx_r2m(op, reg, mem) \
-- { \
-- mmx_t mmx_trace; \
-- __asm__ __volatile__ ("movq %%" #reg ", %0" \
-- : "=X" (mmx_trace) \
-- : /* nothing */ ); \
-- printf(#op "_r2m(" #reg "=0x%08x%08x, ", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- mmx_trace = (mem); \
-- printf(#mem "=0x%08x%08x) => ", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- __asm__ __volatile__ (#op " %%" #reg ", %0" \
-- : "=X" (mem) \
-- : /* nothing */ ); \
-- mmx_trace = (mem); \
-- printf(#mem "=0x%08x%08x\n", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- }
--
--#define mmx_r2r(op, regs, regd) \
-- { \
-- mmx_t mmx_trace; \
-- __asm__ __volatile__ ("movq %%" #regs ", %0" \
-- : "=X" (mmx_trace) \
-- : /* nothing */ ); \
-- printf(#op "_r2r(" #regs "=0x%08x%08x, ", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- __asm__ __volatile__ ("movq %%" #regd ", %0" \
-- : "=X" (mmx_trace) \
-- : /* nothing */ ); \
-- printf(#regd "=0x%08x%08x) => ", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- __asm__ __volatile__ (#op " %" #regs ", %" #regd); \
-- __asm__ __volatile__ ("movq %%" #regd ", %0" \
-- : "=X" (mmx_trace) \
-- : /* nothing */ ); \
-- printf(#regd "=0x%08x%08x\n", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- }
--
--#define mmx_m2m(op, mems, memd) \
-- { \
-- mmx_t mmx_trace; \
-- mmx_trace = (mems); \
-- printf(#op "_m2m(" #mems "=0x%08x%08x, ", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- mmx_trace = (memd); \
-- printf(#memd "=0x%08x%08x) => ", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- __asm__ __volatile__ ("movq %0, %%mm0\n\t" \
-- #op " %1, %%mm0\n\t" \
-- "movq %%mm0, %0" \
-- : "=X" (memd) \
-- : "X" (mems)); \
-- mmx_trace = (memd); \
-- printf(#memd "=0x%08x%08x\n", \
-- mmx_trace.d[1], mmx_trace.d[0]); \
-- }
--
--#else
--
--/* These macros are a lot simpler without the tracing...
--*/
--
--#define mmx_i2r(op, imm, reg) \
-- __asm__ __volatile__ (#op " %0, %%" #reg \
-- : /* nothing */ \
-- : "X" (imm) )
--
--#define mmx_m2r(op, mem, reg) \
-- __asm__ __volatile__ (#op " %0, %%" #reg \
-- : /* nothing */ \
-- : "m" (mem))
--
--#define mmx_r2m(op, reg, mem) \
-- __asm__ __volatile__ (#op " %%" #reg ", %0" \
-- : "=m" (mem) \
-- : /* nothing */ )
--
--#define mmx_r2r(op, regs, regd) \
-- __asm__ __volatile__ (#op " %" #regs ", %" #regd)
--
--#define mmx_m2m(op, mems, memd) \
-- __asm__ __volatile__ ("movq %0, %%mm0\n\t" \
-- #op " %1, %%mm0\n\t" \
-- "movq %%mm0, %0" \
-- : "=X" (memd) \
-- : "X" (mems))
--
--#endif
--
--
--/* 1x64 MOVe Quadword
-- (this is both a load and a store...
-- in fact, it is the only way to store)
--*/
--#define movq_m2r(var, reg) mmx_m2r(movq, var, reg)
--#define movq_r2m(reg, var) mmx_r2m(movq, reg, var)
--#define movq_r2r(regs, regd) mmx_r2r(movq, regs, regd)
--#define movq(vars, vard) \
-- __asm__ __volatile__ ("movq %1, %%mm0\n\t" \
-- "movq %%mm0, %0" \
-- : "=X" (vard) \
-- : "X" (vars))
--
--
--/* 1x32 MOVe Doubleword
-- (like movq, this is both load and store...
-- but is most useful for moving things between
-- mmx registers and ordinary registers)
--*/
--#define movd_m2r(var, reg) mmx_m2r(movd, var, reg)
--#define movd_r2m(reg, var) mmx_r2m(movd, reg, var)
--#define movd_r2r(regs, regd) mmx_r2r(movd, regs, regd)
--#define movd(vars, vard) \
-- __asm__ __volatile__ ("movd %1, %%mm0\n\t" \
-- "movd %%mm0, %0" \
-- : "=X" (vard) \
-- : "X" (vars))
--
--
--/* 2x32, 4x16, and 8x8 Parallel ADDs
--*/
--#define paddd_m2r(var, reg) mmx_m2r(paddd, var, reg)
--#define paddd_r2r(regs, regd) mmx_r2r(paddd, regs, regd)
--#define paddd(vars, vard) mmx_m2m(paddd, vars, vard)
--
--#define paddw_m2r(var, reg) mmx_m2r(paddw, var, reg)
--#define paddw_r2r(regs, regd) mmx_r2r(paddw, regs, regd)
--#define paddw(vars, vard) mmx_m2m(paddw, vars, vard)
--
--#define paddb_m2r(var, reg) mmx_m2r(paddb, var, reg)
--#define paddb_r2r(regs, regd) mmx_r2r(paddb, regs, regd)
--#define paddb(vars, vard) mmx_m2m(paddb, vars, vard)
--
--
--/* 4x16 and 8x8 Parallel ADDs using Saturation arithmetic
--*/
--#define paddsw_m2r(var, reg) mmx_m2r(paddsw, var, reg)
--#define paddsw_r2r(regs, regd) mmx_r2r(paddsw, regs, regd)
--#define paddsw(vars, vard) mmx_m2m(paddsw, vars, vard)
--
--#define paddsb_m2r(var, reg) mmx_m2r(paddsb, var, reg)
--#define paddsb_r2r(regs, regd) mmx_r2r(paddsb, regs, regd)
--#define paddsb(vars, vard) mmx_m2m(paddsb, vars, vard)
--
--
--/* 4x16 and 8x8 Parallel ADDs using Unsigned Saturation arithmetic
--*/
--#define paddusw_m2r(var, reg) mmx_m2r(paddusw, var, reg)
--#define paddusw_r2r(regs, regd) mmx_r2r(paddusw, regs, regd)
--#define paddusw(vars, vard) mmx_m2m(paddusw, vars, vard)
--
--#define paddusb_m2r(var, reg) mmx_m2r(paddusb, var, reg)
--#define paddusb_r2r(regs, regd) mmx_r2r(paddusb, regs, regd)
--#define paddusb(vars, vard) mmx_m2m(paddusb, vars, vard)
--
--
--/* 2x32, 4x16, and 8x8 Parallel SUBs
--*/
--#define psubd_m2r(var, reg) mmx_m2r(psubd, var, reg)
--#define psubd_r2r(regs, regd) mmx_r2r(psubd, regs, regd)
--#define psubd(vars, vard) mmx_m2m(psubd, vars, vard)
--
--#define psubw_m2r(var, reg) mmx_m2r(psubw, var, reg)
--#define psubw_r2r(regs, regd) mmx_r2r(psubw, regs, regd)
--#define psubw(vars, vard) mmx_m2m(psubw, vars, vard)
--
--#define psubb_m2r(var, reg) mmx_m2r(psubb, var, reg)
--#define psubb_r2r(regs, regd) mmx_r2r(psubb, regs, regd)
--#define psubb(vars, vard) mmx_m2m(psubb, vars, vard)
--
--
--/* 4x16 and 8x8 Parallel SUBs using Saturation arithmetic
--*/
--#define psubsw_m2r(var, reg) mmx_m2r(psubsw, var, reg)
--#define psubsw_r2r(regs, regd) mmx_r2r(psubsw, regs, regd)
--#define psubsw(vars, vard) mmx_m2m(psubsw, vars, vard)
--
--#define psubsb_m2r(var, reg) mmx_m2r(psubsb, var, reg)
--#define psubsb_r2r(regs, regd) mmx_r2r(psubsb, regs, regd)
--#define psubsb(vars, vard) mmx_m2m(psubsb, vars, vard)
--
--
--/* 4x16 and 8x8 Parallel SUBs using Unsigned Saturation arithmetic
--*/
--#define psubusw_m2r(var, reg) mmx_m2r(psubusw, var, reg)
--#define psubusw_r2r(regs, regd) mmx_r2r(psubusw, regs, regd)
--#define psubusw(vars, vard) mmx_m2m(psubusw, vars, vard)
--
--#define psubusb_m2r(var, reg) mmx_m2r(psubusb, var, reg)
--#define psubusb_r2r(regs, regd) mmx_r2r(psubusb, regs, regd)
--#define psubusb(vars, vard) mmx_m2m(psubusb, vars, vard)
--
--
--/* 4x16 Parallel MULs giving Low 4x16 portions of results
--*/
--#define pmullw_m2r(var, reg) mmx_m2r(pmullw, var, reg)
--#define pmullw_r2r(regs, regd) mmx_r2r(pmullw, regs, regd)
--#define pmullw(vars, vard) mmx_m2m(pmullw, vars, vard)
--
--
--/* 4x16 Parallel MULs giving High 4x16 portions of results
--*/
--#define pmulhw_m2r(var, reg) mmx_m2r(pmulhw, var, reg)
--#define pmulhw_r2r(regs, regd) mmx_r2r(pmulhw, regs, regd)
--#define pmulhw(vars, vard) mmx_m2m(pmulhw, vars, vard)
--
--
--/* 4x16->2x32 Parallel Mul-ADD
-- (muls like pmullw, then adds adjacent 16-bit fields
-- in the multiply result to make the final 2x32 result)
--*/
--#define pmaddwd_m2r(var, reg) mmx_m2r(pmaddwd, var, reg)
--#define pmaddwd_r2r(regs, regd) mmx_r2r(pmaddwd, regs, regd)
--#define pmaddwd(vars, vard) mmx_m2m(pmaddwd, vars, vard)
--
--
--/* 1x64 bitwise AND
--*/
--#ifdef BROKEN_PAND
--#define pand_m2r(var, reg) \
-- { \
-- mmx_m2r(pandn, (mmx_t) -1LL, reg); \
-- mmx_m2r(pandn, var, reg); \
-- }
--#define pand_r2r(regs, regd) \
-- { \
-- mmx_m2r(pandn, (mmx_t) -1LL, regd); \
-- mmx_r2r(pandn, regs, regd) \
-- }
--#define pand(vars, vard) \
-- { \
-- movq_m2r(vard, mm0); \
-- mmx_m2r(pandn, (mmx_t) -1LL, mm0); \
-- mmx_m2r(pandn, vars, mm0); \
-- movq_r2m(mm0, vard); \
-- }
--#else
--#define pand_m2r(var, reg) mmx_m2r(pand, var, reg)
--#define pand_r2r(regs, regd) mmx_r2r(pand, regs, regd)
--#define pand(vars, vard) mmx_m2m(pand, vars, vard)
--#endif
--
--
--/* 1x64 bitwise AND with Not the destination
--*/
--#define pandn_m2r(var, reg) mmx_m2r(pandn, var, reg)
--#define pandn_r2r(regs, regd) mmx_r2r(pandn, regs, regd)
--#define pandn(vars, vard) mmx_m2m(pandn, vars, vard)
--
--
--/* 1x64 bitwise OR
--*/
--#define por_m2r(var, reg) mmx_m2r(por, var, reg)
--#define por_r2r(regs, regd) mmx_r2r(por, regs, regd)
--#define por(vars, vard) mmx_m2m(por, vars, vard)
--
--
--/* 1x64 bitwise eXclusive OR
--*/
--#define pxor_m2r(var, reg) mmx_m2r(pxor, var, reg)
--#define pxor_r2r(regs, regd) mmx_r2r(pxor, regs, regd)
--#define pxor(vars, vard) mmx_m2m(pxor, vars, vard)
--
--
--/* 2x32, 4x16, and 8x8 Parallel CoMPare for EQuality
-- (resulting fields are either 0 or -1)
--*/
--#define pcmpeqd_m2r(var, reg) mmx_m2r(pcmpeqd, var, reg)
--#define pcmpeqd_r2r(regs, regd) mmx_r2r(pcmpeqd, regs, regd)
--#define pcmpeqd(vars, vard) mmx_m2m(pcmpeqd, vars, vard)
--
--#define pcmpeqw_m2r(var, reg) mmx_m2r(pcmpeqw, var, reg)
--#define pcmpeqw_r2r(regs, regd) mmx_r2r(pcmpeqw, regs, regd)
--#define pcmpeqw(vars, vard) mmx_m2m(pcmpeqw, vars, vard)
--
--#define pcmpeqb_m2r(var, reg) mmx_m2r(pcmpeqb, var, reg)
--#define pcmpeqb_r2r(regs, regd) mmx_r2r(pcmpeqb, regs, regd)
--#define pcmpeqb(vars, vard) mmx_m2m(pcmpeqb, vars, vard)
--
--
--/* 2x32, 4x16, and 8x8 Parallel CoMPare for Greater Than
-- (resulting fields are either 0 or -1)
--*/
--#define pcmpgtd_m2r(var, reg) mmx_m2r(pcmpgtd, var, reg)
--#define pcmpgtd_r2r(regs, regd) mmx_r2r(pcmpgtd, regs, regd)
--#define pcmpgtd(vars, vard) mmx_m2m(pcmpgtd, vars, vard)
--
--#define pcmpgtw_m2r(var, reg) mmx_m2r(pcmpgtw, var, reg)
--#define pcmpgtw_r2r(regs, regd) mmx_r2r(pcmpgtw, regs, regd)
--#define pcmpgtw(vars, vard) mmx_m2m(pcmpgtw, vars, vard)
--
--#define pcmpgtb_m2r(var, reg) mmx_m2r(pcmpgtb, var, reg)
--#define pcmpgtb_r2r(regs, regd) mmx_r2r(pcmpgtb, regs, regd)
--#define pcmpgtb(vars, vard) mmx_m2m(pcmpgtb, vars, vard)
--
--
--/* 1x64, 2x32, and 4x16 Parallel Shift Left Logical
--*/
--#define psllq_i2r(imm, reg) mmx_i2r(psllq, imm, reg)
--#define psllq_m2r(var, reg) mmx_m2r(psllq, var, reg)
--#define psllq_r2r(regs, regd) mmx_r2r(psllq, regs, regd)
--#define psllq(vars, vard) mmx_m2m(psllq, vars, vard)
--
--#define pslld_i2r(imm, reg) mmx_i2r(pslld, imm, reg)
--#define pslld_m2r(var, reg) mmx_m2r(pslld, var, reg)
--#define pslld_r2r(regs, regd) mmx_r2r(pslld, regs, regd)
--#define pslld(vars, vard) mmx_m2m(pslld, vars, vard)
--
--#define psllw_i2r(imm, reg) mmx_i2r(psllw, imm, reg)
--#define psllw_m2r(var, reg) mmx_m2r(psllw, var, reg)
--#define psllw_r2r(regs, regd) mmx_r2r(psllw, regs, regd)
--#define psllw(vars, vard) mmx_m2m(psllw, vars, vard)
--
--
--/* 1x64, 2x32, and 4x16 Parallel Shift Right Logical
--*/
--#define psrlq_i2r(imm, reg) mmx_i2r(psrlq, imm, reg)
--#define psrlq_m2r(var, reg) mmx_m2r(psrlq, var, reg)
--#define psrlq_r2r(regs, regd) mmx_r2r(psrlq, regs, regd)
--#define psrlq(vars, vard) mmx_m2m(psrlq, vars, vard)
--
--#define psrld_i2r(imm, reg) mmx_i2r(psrld, imm, reg)
--#define psrld_m2r(var, reg) mmx_m2r(psrld, var, reg)
--#define psrld_r2r(regs, regd) mmx_r2r(psrld, regs, regd)
--#define psrld(vars, vard) mmx_m2m(psrld, vars, vard)
--
--#define psrlw_i2r(imm, reg) mmx_i2r(psrlw, imm, reg)
--#define psrlw_m2r(var, reg) mmx_m2r(psrlw, var, reg)
--#define psrlw_r2r(regs, regd) mmx_r2r(psrlw, regs, regd)
--#define psrlw(vars, vard) mmx_m2m(psrlw, vars, vard)
--
--
--/* 2x32 and 4x16 Parallel Shift Right Arithmetic
--*/
--#define psrad_i2r(imm, reg) mmx_i2r(psrad, imm, reg)
--#define psrad_m2r(var, reg) mmx_m2r(psrad, var, reg)
--#define psrad_r2r(regs, regd) mmx_r2r(psrad, regs, regd)
--#define psrad(vars, vard) mmx_m2m(psrad, vars, vard)
--
--#define psraw_i2r(imm, reg) mmx_i2r(psraw, imm, reg)
--#define psraw_m2r(var, reg) mmx_m2r(psraw, var, reg)
--#define psraw_r2r(regs, regd) mmx_r2r(psraw, regs, regd)
--#define psraw(vars, vard) mmx_m2m(psraw, vars, vard)
--
--
--/* 2x32->4x16 and 4x16->8x8 PACK and Signed Saturate
-- (packs source and dest fields into dest in that order)
--*/
--#define packssdw_m2r(var, reg) mmx_m2r(packssdw, var, reg)
--#define packssdw_r2r(regs, regd) mmx_r2r(packssdw, regs, regd)
--#define packssdw(vars, vard) mmx_m2m(packssdw, vars, vard)
--
--#define packsswb_m2r(var, reg) mmx_m2r(packsswb, var, reg)
--#define packsswb_r2r(regs, regd) mmx_r2r(packsswb, regs, regd)
--#define packsswb(vars, vard) mmx_m2m(packsswb, vars, vard)
--
--
--/* 4x16->8x8 PACK and Unsigned Saturate
-- (packs source and dest fields into dest in that order)
--*/
--#define packuswb_m2r(var, reg) mmx_m2r(packuswb, var, reg)
--#define packuswb_r2r(regs, regd) mmx_r2r(packuswb, regs, regd)
--#define packuswb(vars, vard) mmx_m2m(packuswb, vars, vard)
--
--
--/* 2x32->1x64, 4x16->2x32, and 8x8->4x16 UNPaCK Low
-- (interleaves low half of dest with low half of source
-- as padding in each result field)
--*/
--#define punpckldq_m2r(var, reg) mmx_m2r(punpckldq, var, reg)
--#define punpckldq_r2r(regs, regd) mmx_r2r(punpckldq, regs, regd)
--#define punpckldq(vars, vard) mmx_m2m(punpckldq, vars, vard)
--
--#define punpcklwd_m2r(var, reg) mmx_m2r(punpcklwd, var, reg)
--#define punpcklwd_r2r(regs, regd) mmx_r2r(punpcklwd, regs, regd)
--#define punpcklwd(vars, vard) mmx_m2m(punpcklwd, vars, vard)
--
--#define punpcklbw_m2r(var, reg) mmx_m2r(punpcklbw, var, reg)
--#define punpcklbw_r2r(regs, regd) mmx_r2r(punpcklbw, regs, regd)
--#define punpcklbw(vars, vard) mmx_m2m(punpcklbw, vars, vard)
--
--
--/* 2x32->1x64, 4x16->2x32, and 8x8->4x16 UNPaCK High
-- (interleaves high half of dest with high half of source
-- as padding in each result field)
--*/
--#define punpckhdq_m2r(var, reg) mmx_m2r(punpckhdq, var, reg)
--#define punpckhdq_r2r(regs, regd) mmx_r2r(punpckhdq, regs, regd)
--#define punpckhdq(vars, vard) mmx_m2m(punpckhdq, vars, vard)
--
--#define punpckhwd_m2r(var, reg) mmx_m2r(punpckhwd, var, reg)
--#define punpckhwd_r2r(regs, regd) mmx_r2r(punpckhwd, regs, regd)
--#define punpckhwd(vars, vard) mmx_m2m(punpckhwd, vars, vard)
--
--#define punpckhbw_m2r(var, reg) mmx_m2r(punpckhbw, var, reg)
--#define punpckhbw_r2r(regs, regd) mmx_r2r(punpckhbw, regs, regd)
--#define punpckhbw(vars, vard) mmx_m2m(punpckhbw, vars, vard)
--
--
--/* Empty MMx State
-- (used to clean-up when going from mmx to float use
-- of the registers that are shared by both; note that
-- there is no float-to-mmx operation needed, because
-- only the float tag word info is corruptible)
--*/
--#ifdef MMX_TRACE
--
--#define emms() \
-- { \
-- printf("emms()\n"); \
-- __asm__ __volatile__ ("emms"); \
-- }
--
--#else
--
--#define emms() __asm__ __volatile__ ("emms")
--
--#endif
--
--#endif
--/* vi: set ts=4 sw=4 expandtab: */
#include <time.h>
/* Invalid test name/description message format */
- const char *SDLTest_InvalidNameFormat = "(Invalid)";
+ #define SDLTEST_INVALID_NAME_FORMAT "(Invalid)"
/* Log summary message format */
- const char *SDLTest_LogSummaryFormat = "%s Summary: Total=%d Passed=%d Failed=%d Skipped=%d Unsupported=%d";
-#define SDLTEST_LOG_SUMMARY_FORMAT "%s Summary: Total=%d Passed=%d Failed=%d Skipped=%d"
++#define SDLTEST_LOG_SUMMARY_FORMAT "%s Summary: Total=%d Passed=%d Failed=%d Skipped=%d Unsupported=%d"
/* Final result message format */
- const char *SDLTest_FinalResultFormat = ">>> %s '%s': %s\n";
+ #define SDLTEST_FINAL_RESULT_FORMAT ">>> %s '%s': %s\n"
/* ! \brief Timeout for single test case execution */
static Uint32 SDLTest_TestCaseTimeout = 3600;
SDLTest_ResetAssertSummary();
/* Set timeout timer */
-- timer = SDLTest_SetTestTimeout(SDLTest_TestCaseTimeout, SDLTest_BailOut);
++ //timer = SDLTest_SetTestTimeout(SDLTest_TestCaseTimeout, SDLTest_BailOut);
/* Maybe run suite initalizer function */
if (testSuite->testSetUp) {
/* Final log based on test execution result */
if (testCaseResult == TEST_SKIPPED) {
/* Test was programatically skipped */
- SDLTest_Log((char *)SDLTest_FinalResultFormat, "Test", testCase->name, "Skipped (Programmatically)");
+ SDLTest_Log(SDLTEST_FINAL_RESULT_FORMAT, "Test", testCase->name, "Skipped (Programmatically)");
} else if (testCaseResult == TEST_STARTED) {
/* Test did not return a TEST_COMPLETED value; assume it failed */
- SDLTest_LogError((char *)SDLTest_FinalResultFormat, "Test", testCase->name, "Failed (test started, but did not return TEST_COMPLETED)");
+ SDLTest_LogError(SDLTEST_FINAL_RESULT_FORMAT, "Test", testCase->name, "Failed (test started, but did not return TEST_COMPLETED)");
} else if (testCaseResult == TEST_ABORTED) {
/* Test was aborted early; assume it failed */
- SDLTest_LogError((char *)SDLTest_FinalResultFormat, "Test", testCase->name, "Failed (Aborted)");
+ SDLTest_LogError(SDLTEST_FINAL_RESULT_FORMAT, "Test", testCase->name, "Failed (Aborted)");
+ } else if (testCaseResult == TEST_UNSUPPORTED) {
+ /* Test was unsupported */
- SDLTest_Log((char *)SDLTest_FinalResultFormat, "Test", testCase->name, "Unsupported");
++ SDLTest_Log(SDLTEST_FINAL_RESULT_FORMAT, "Test", testCase->name, "Unsupported");
} else {
SDLTest_LogAssertSummary();
}
}
/* Prints summary of all suites/tests contained in the given reference */
- void SDLTest_LogTestSuiteSummary(SDLTest_TestSuiteReference *testSuites)
-#if 0
++#if 0
+ static void SDLTest_LogTestSuiteSummary(SDLTest_TestSuiteReference *testSuites)
{
int suiteCounter;
int testCounter;
}
}
}
+ #endif
/* Gets a timer value in seconds */
- float GetClock()
+ static float GetClock()
{
- float currentClock = (float)clock();
- return currentClock / (float)CLOCKS_PER_SEC;
+ float currentClock = clock() / (float) CLOCKS_PER_SEC;
+ return currentClock;
}
+void SDLTest_writeLogFile(SDL_RWops *rwops, SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
+{
+ va_list list;
+ char logMessage[SDLTEST_MAX_LOGMESSAGE_LENGTH];
+
+ /* Print log message into a buffer */
+ SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
+ va_start(list, fmt);
+ SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, fmt, list);
+ va_end(list);
+
+ char *message = SDL_stack_alloc(char, SDLTEST_MAX_LOGMESSAGE_LENGTH);
+ if (!message)
+ return;
+
+ size_t len = SDL_strlen(logMessage);
+ SDL_strlcpy(message, logMessage,len+1);
+
+ char *text = SDL_stack_alloc(char, SDLTEST_MAX_LOGMESSAGE_LENGTH);
+ if(text)
+ {
+ SDL_snprintf(text, SDLTEST_MAX_LOGMESSAGE_LENGTH, " INFO: %s\n", message);
+ SDL_RWwrite(rwops, text, 1, SDL_strlen(text));
+ SDL_stack_free(text);
+ }
+ SDL_stack_free(message);
+
+}
/**
* \brief Execute a test suite using the given run seed and execution key.
*
Uint32 testFailedCount = 0;
Uint32 testPassedCount = 0;
Uint32 testSkippedCount = 0;
+ Uint32 testUnsupportedCount = 0;
Uint32 countSum = 0;
- char *logFormat = (char *)SDLTest_LogSummaryFormat;
- SDLTest_TestCaseReference **failedTests;
+ const SDLTest_TestCaseReference **failedTests;
/* Sanitize test iterations */
if (testIterations < 1) {
while (testSuite->testCases[testCounter])
{
testCounter++;
- totalNumberOfTests++;
- }
- }
-
- /* Pre-allocate an array for tracking failed tests (potentially all test cases) */
- failedTests = (const SDLTest_TestCaseReference **)SDL_malloc(totalNumberOfTests * sizeof(SDLTest_TestCaseReference *));
- if (failedTests == NULL) {
- SDLTest_LogError("Unable to allocate cache for failed tests");
- SDL_Error(SDL_ENOMEM);
+ totalNumberOfTests++;
+ }
+ }
+
+ /* Pre-allocate an array for tracking failed tests (potentially all test cases) */
- failedTests = (SDLTest_TestCaseReference **)SDL_malloc(totalNumberOfTests * sizeof(SDLTest_TestCaseReference *));
++ failedTests = (const SDLTest_TestCaseReference **)SDL_malloc(totalNumberOfTests * sizeof(SDLTest_TestCaseReference *));
+ if (failedTests == NULL) {
+ SDLTest_LogError("Unable to allocate cache for failed tests");
- SDL_Error(SDL_ENOMEM);
++ SDL_Error(SDL_ENOMEM);
return -1;
- }
+ }
/* Initialize filtering */
if (filter != NULL && filter[0] != '\0') {
/* Override 'disabled' flag if we specified a test filter (i.e. force run for debugging) */
if (testFilter == 1 && !testCase->enabled) {
SDLTest_Log("Force run of disabled test since test filter was set");
-- forceTestRun = SDL_TRUE;
++ forceTestRun = SDL_TRUE;
}
/* Take time - test start */
/* Log final test result */
switch (testResult) {
case TEST_RESULT_PASSED:
- SDLTest_Log((char *)SDLTest_FinalResultFormat, "Test", currentTestName, "Passed");
- SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Test", currentTestName, "Passed");
+ SDLTest_Log(SDLTEST_FINAL_RESULT_FORMAT, "Test", currentTestName, "Passed");
++ SDLTest_writeLogFile(rwops, SDLTEST_FINAL_RESULT_FORMAT, "Test", currentTestName, "Passed");
break;
case TEST_RESULT_FAILED:
- SDLTest_LogError((char *)SDLTest_FinalResultFormat, "Test", currentTestName, "Failed");
- SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Test", currentTestName, "Failed");
+ SDLTest_LogError(SDLTEST_FINAL_RESULT_FORMAT, "Test", currentTestName, "Failed");
++ SDLTest_writeLogFile(rwops, SDLTEST_FINAL_RESULT_FORMAT, "Test", currentTestName, "Failed");
break;
case TEST_RESULT_NO_ASSERT:
- SDLTest_LogError((char *)SDLTest_FinalResultFormat,"Test", currentTestName, "No Asserts");
- SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Test", currentTestName, "No Asserts");
+ SDLTest_LogError(SDLTEST_FINAL_RESULT_FORMAT,"Test", currentTestName, "No Asserts");
++ SDLTest_writeLogFile(rwops, SDLTEST_FINAL_RESULT_FORMAT, "Test", currentTestName, "No Asserts");
break;
}
/* Log suite runtime */
SDLTest_Log("Total Suite runtime: %.1f sec", runtime);
+ SDLTest_writeLogFile(rwops, "Total Suite runtime: %.1f sec", runtime);
/* Log summary and final Suite result */
- countSum = testPassedCount + testFailedCount + testSkippedCount;
+ countSum = testPassedCount + testFailedCount + testSkippedCount + testUnsupportedCount;
if (testFailedCount == 0)
{
- SDLTest_Log(logFormat, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
- SDLTest_writeLogFile(rwops, logFormat, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
- SDLTest_Log((char *)SDLTest_FinalResultFormat, "Suite", currentSuiteName, "Passed");
- SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Suite", currentSuiteName, "Passed");
- SDLTest_Log(SDLTEST_LOG_SUMMARY_FORMAT, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount);
++ SDLTest_Log(SDLTEST_LOG_SUMMARY_FORMAT, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
++ SDLTest_writeLogFile(rwops, SDLTEST_LOG_SUMMARY_FORMAT, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
+ SDLTest_Log(SDLTEST_FINAL_RESULT_FORMAT, "Suite", currentSuiteName, "Passed");
++ SDLTest_writeLogFile(rwops, SDLTEST_FINAL_RESULT_FORMAT, "Suite", currentSuiteName, "Passed");
}
else
{
- SDLTest_LogError(logFormat, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
- SDLTest_writeLogFile(rwops, logFormat, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
- SDLTest_LogError((char *)SDLTest_FinalResultFormat, "Suite", currentSuiteName, "Failed");
- SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Suite", currentSuiteName, "Failed");
-
- SDLTest_LogError(SDLTEST_LOG_SUMMARY_FORMAT, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount);
++ SDLTest_LogError(SDLTEST_LOG_SUMMARY_FORMAT, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
++ SDLTest_writeLogFile(rwops, SDLTEST_LOG_SUMMARY_FORMAT, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
+ SDLTest_LogError(SDLTEST_FINAL_RESULT_FORMAT, "Suite", currentSuiteName, "Failed");
++ SDLTest_writeLogFile(rwops, SDLTEST_FINAL_RESULT_FORMAT, "Suite", currentSuiteName, "Failed");
}
}
if (totalTestFailedCount == 0)
{
runResult = 0;
- SDLTest_Log(logFormat, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
- SDLTest_writeLogFile(rwops, logFormat, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
- SDLTest_Log((char *)SDLTest_FinalResultFormat, "Run /w seed", runSeed, "Passed");
- SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Run /w seed", runSeed, "Passed");
- SDLTest_Log(SDLTEST_LOG_SUMMARY_FORMAT, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount);
++ SDLTest_Log(SDLTEST_LOG_SUMMARY_FORMAT, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
++ SDLTest_writeLogFile(rwops, SDLTEST_LOG_SUMMARY_FORMAT, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
+ SDLTest_Log(SDLTEST_FINAL_RESULT_FORMAT, "Run /w seed", runSeed, "Passed");
++ SDLTest_writeLogFile(rwops, SDLTEST_FINAL_RESULT_FORMAT, "Run /w seed", runSeed, "Passed");
+
}
else
{
runResult = 1;
- SDLTest_LogError(logFormat, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
- SDLTest_writeLogFile(rwops, logFormat, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
- SDLTest_LogError((char *)SDLTest_FinalResultFormat, "Run /w seed", runSeed, "Failed");
- SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Run /w seed", runSeed, "Failed");
- SDLTest_LogError(SDLTEST_LOG_SUMMARY_FORMAT, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount);
++ SDLTest_LogError(SDLTEST_LOG_SUMMARY_FORMAT, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
++ SDLTest_writeLogFile(rwops, SDLTEST_LOG_SUMMARY_FORMAT, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
+ SDLTest_LogError(SDLTEST_FINAL_RESULT_FORMAT, "Run /w seed", runSeed, "Failed");
++ SDLTest_writeLogFile(rwops, SDLTEST_FINAL_RESULT_FORMAT, "Run /w seed", runSeed, "Failed");
}
/* Print repro steps for failed tests */
SDLTest_Log(" --seed %s --filter %s", runSeed, failedTests[testCounter]->name);
}
}
- SDL_free(failedTests);
+ SDL_RWclose(rwops);
+ SDL_free((void *) failedTests);
SDLTest_Log("Exit code: %d", runResult);
return runResult;
#include "SDL_timer_c.h"
#include "SDL_atomic.h"
#include "SDL_cpuinfo.h"
- #include "SDL_thread.h"
+ #include "../thread/SDL_systhread.h"
+#include "xf86drm.h"
+#include <fcntl.h>
/* #define DEBUG_TIMERS */
* 3. Wait until next dispatch time or new timer arrives
*/
for ( ; ; ) {
- /* Pending and freelist maintenance */
- SDL_AtomicLock(&data->lock);
- {
- /* Get any timers ready to be queued */
- pending = data->pending;
- data->pending = NULL;
-
- /* Make any unused timer structures available */
- if (freelist_head) {
- freelist_tail->next = data->freelist;
- data->freelist = freelist_head;
+#if defined(__TIZEN__)
+ if(data->drm_fd > -1) {
- if(!data->active)
++ if(!SDL_AtomicGet(&data->active))
+ break;
+ if(drmWaitVBlank(data->drm_fd, &(data->vblankInfo)) == 0) {
+ if(data->pending) {
+ current = data->pending;
+ current->callback(current->interval, current->param);
+ }
}
}
- SDL_AtomicUnlock(&data->lock);
+ else
+#endif
+ {
+ /* Pending and freelist maintenance */
+ SDL_AtomicLock(&data->lock);
+ {
+ /* Get any timers ready to be queued */
+ pending = data->pending;
+ data->pending = NULL;
+
+ /* Make any unused timer structures available */
+ if (freelist_head) {
+ freelist_tail->next = data->freelist;
+ data->freelist = freelist_head;
+ }
+ }
+ SDL_AtomicUnlock(&data->lock);
- /* Sort the pending timers into our list */
- while (pending) {
- current = pending;
- pending = pending->next;
- SDL_AddTimerInternal(data, current);
- }
- freelist_head = NULL;
- freelist_tail = NULL;
+ /* Sort the pending timers into our list */
+ while (pending) {
+ current = pending;
+ pending = pending->next;
+ SDL_AddTimerInternal(data, current);
+ }
+ freelist_head = NULL;
+ freelist_tail = NULL;
- break;
- }
+ /* Check to see if we're still running, after maintenance */
+ if (!SDL_AtomicGet(&data->active)) {
- /* Initial delay if there are no timers */
- delay = SDL_MUTEX_MAXWAIT;
+
- if (!data->active) {
+ /* Check to see if we're still running, after maintenance */
+ break;
+ }
- tick = SDL_GetTicks();
+ /* Initial delay if there are no timers */
+ delay = SDL_MUTEX_MAXWAIT;
- /* Process all the pending timers for this tick */
- while (data->timers) {
- current = data->timers;
+ tick = SDL_GetTicks();
- if ((Sint32)(tick-current->scheduled) < 0) {
- /* Scheduled for the future, wait a bit */
- delay = (current->scheduled - tick);
- break;
- }
+ /* Process all the pending timers for this tick */
+ while (data->timers) {
+ current = data->timers;
+
+ if ((Sint32)(tick-current->scheduled) < 0) {
+ /* Scheduled for the future, wait a bit */
+ delay = (current->scheduled - tick);
+ break;
+ }
- /* We're going to do something with this timer */
- data->timers = current->next;
+ /* We're going to do something with this timer */
+ data->timers = current->next;
- if (current->canceled) {
- interval = 0;
- } else {
- interval = current->callback(current->interval, current->param);
- }
+ if (SDL_AtomicGet(¤t->canceled)) {
+ interval = 0;
+ } else {
+ interval = current->callback(current->interval, current->param);
+ }
+
+ if (interval > 0) {
+ /* Reschedule this timer */
+ current->interval = interval;
- current->scheduled = tick + interval;
- SDL_AddTimerInternal(data, current);
- } else {
- if (!freelist_head) {
- freelist_head = current;
- }
- if (freelist_tail) {
- freelist_tail->next = current;
+
- if (interval > 0) {
+ /* Reschedule this timer */
+ current->scheduled = tick + interval;
+ SDL_AddTimerInternal(data, current);
+ } else {
+ if (!freelist_head) {
+ freelist_head = current;
+ }
+ if (freelist_tail) {
+ freelist_tail->next = current;
+ }
+ freelist_tail = current;
+
- current->canceled = SDL_TRUE;
++ SDL_AtomicSet(¤t->canceled, 1);
}
- freelist_tail = current;
+ }
- SDL_AtomicSet(¤t->canceled, 1);
+ /* Adjust the delay based on processing time */
+ now = SDL_GetTicks();
+ interval = (now - tick);
+ if (interval > delay) {
+ delay = 0;
+ } else {
+ delay -= interval;
}
- }
- /* Adjust the delay based on processing time */
- now = SDL_GetTicks();
- interval = (now - tick);
- if (interval > delay) {
- delay = 0;
- } else {
- delay -= interval;
+ /* Note that each time a timer is added, this will return
+ immediately, but we process the timers added all at once.
+ That's okay, it just means we run through the loop a few
+ extra times.
+ */
+ SDL_SemWaitTimeout(data->sem, delay);
}
-
- /* Note that each time a timer is added, this will return
- immediately, but we process the timers added all at once.
- That's okay, it just means we run through the loop a few
- extra times.
- */
- SDL_SemWaitTimeout(data->sem, delay);
}
return 0;
}
return -1;
}
- data->active = SDL_TRUE;
+ SDL_AtomicSet(&data->active, 1);
- #if defined(__WIN32__) && !defined(HAVE_LIBC)
- #undef SDL_CreateThread
- #if SDL_DYNAMIC_API
- data->thread = SDL_CreateThread_REAL(SDL_TimerThread, name, data, NULL, NULL);
- #else
- data->thread = SDL_CreateThread(SDL_TimerThread, name, data, NULL, NULL);
- #endif
- #else
- data->thread = SDL_CreateThread(SDL_TimerThread, name, data);
- #endif
+#if defined(__TIZEN__)
+ const char* DRM_DEVICE = "/dev/dri/card0";
+ data->drm_fd = -1;
+ data->drm_fd = open( DRM_DEVICE, O_RDWR );
+
+ if (data->drm_fd > -1) {
+ data->vblankInfo.request.type = DRM_VBLANK_NEXTONMISS;
+ data->vblankInfo.request.sequence = 0;
+ data->vblankInfo.request.signal = 0;
+
+ data->vblankInfo.reply.type = DRM_VBLANK_NEXTONMISS;
+ data->vblankInfo.reply.sequence = 0;
+ data->vblankInfo.reply.tval_sec = 0;
+ data->vblankInfo.reply.tval_usec = 0;
+ }
+#endif
+ /* !!! FIXME: this is nasty. */
++
+ /* Timer threads use a callback into the app, so we can't set a limited stack size here. */
+ data->thread = SDL_CreateThreadInternal(SDL_TimerThread, name, 0, data);
if (!data->thread) {
SDL_TimerQuit();
return -1;
}
}
- if ((SDL_EGL_HasExtension(_this, "EGL_IMG_context_priority"))
+#ifdef __TIZEN__
++ if ((SDL_EGL_HasExtension(_this, SDL_EGL_DISPLAY_EXTENSION, "EGL_IMG_context_priority"))
+ && (_this->gl_config.context_priority_level > SDL_GL_CONTEXT_PRIORITY_NONE)) {
+ if (_this->gl_config.flags == SDL_GL_CONTEXT_PRIORITY_HIGH) {
+ attribs[attr++] = EGL_CONTEXT_PRIORITY_HIGH_IMG;
+ }
+ else if (_this->gl_config.flags == SDL_GL_CONTEXT_PRIORITY_MEDIUM) {
+ attribs[attr++] = EGL_CONTEXT_PRIORITY_MEDIUM_IMG;
+ }
+ else if (_this->gl_config.flags == SDL_GL_CONTEXT_PRIORITY_LOW) {
+ attribs[attr++] = EGL_CONTEXT_PRIORITY_LOW_IMG;
+ }
+ }
+#endif
+
++ if (_this->gl_config.no_error) {
++#ifdef EGL_KHR_create_context_no_error
++ if (SDL_EGL_HasExtension(_this, SDL_EGL_DISPLAY_EXTENSION, "EGL_KHR_create_context_no_error")) {
++ attribs[attr++] = EGL_CONTEXT_OPENGL_NO_ERROR_KHR;
++ attribs[attr++] = _this->gl_config.no_error;
++ } else
++#endif
++ {
++ SDL_SetError("EGL implementation does not support no_error contexts");
++ return NULL;
++ }
++ }
++
+ if (_this->gl_config.no_error) {
+ #ifdef EGL_KHR_create_context_no_error
+ if (SDL_EGL_HasExtension(_this, SDL_EGL_DISPLAY_EXTENSION, "EGL_KHR_create_context_no_error")) {
+ attribs[attr++] = EGL_CONTEXT_OPENGL_NO_ERROR_KHR;
+ attribs[attr++] = _this->gl_config.no_error;
+ } else
+ #endif
+ {
+ SDL_SetError("EGL implementation does not support no_error contexts");
+ return NULL;
+ }
+ }
+
attribs[attr++] = EGL_NONE;
/* Bind the API */
if (!_this->egl_data) {
return SDL_SetError("OpenGL not initialized");
}
-
- /* The android emulator crashes badly if you try to eglMakeCurrent
- * with a valid context and invalid surface, so we have to check for both here.
- */
- if (!egl_context || !egl_surface) {
- _this->egl_data->eglMakeCurrent(_this->egl_data->egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
- } else {
+#ifdef __TIZEN__
- if ((SDL_EGL_HasExtension(_this, "EGL_KHR_surfaceless_context")) && (!egl_surface)) {
++ if ((SDL_EGL_HasExtension(_this, SDL_EGL_DISPLAY_EXTENSION, "EGL_KHR_surfaceless_context")) && (!egl_surface)) {
if (!_this->egl_data->eglMakeCurrent(_this->egl_data->egl_display,
- egl_surface, egl_surface, egl_context)) {
- return SDL_EGL_SetError("Unable to make EGL context current", "eglMakeCurrent");
+ EGL_NO_SURFACE , EGL_NO_SURFACE , egl_context)) {
+ return SDL_SetError("Unable to make EGL context current");
+ }
+ }
+ else
+#endif
+ {
+ /* The android emulator crashes badly if you try to eglMakeCurrent
+ * with a valid context and invalid surface, so we have to check for both here.
+ */
+ if (!egl_context || !egl_surface) {
+ _this->egl_data->eglMakeCurrent(_this->egl_data->egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
+ } else {
+ if (!_this->egl_data->eglMakeCurrent(_this->egl_data->egl_display,
+ egl_surface, egl_surface, egl_context)) {
- return SDL_SetError("Unable to make EGL context current");
++ return SDL_EGL_SetError("Unable to make EGL context current", "eglMakeCurrent");
+ }
}
}
-
return 0;
}
/* * * */
/* The function used to dispose of this structure */
void (*free) (_THIS);
- /* * * */
- /* Data used by the Vulkan drivers */
- struct {
- int driver_loaded;
- } vk_config;
+
- SDL_bool (*vulkan_GetInstanceExtensions) (_THIS, const char* driver, unsigned int* count, char** names);
- SDL_bool (*vulkan_CreateSurface) (_THIS, SDL_Window* window, SDL_vulkanInstance instance, SDL_vulkanSurface* surface);
- int (*vulkan_LoadLibrary) (_THIS, const char *path);
+
- struct SDL_vulkan_Data *vk_data;
+
++
+#if __TIZEN__
+ void (*GetWindowSize) (_THIS, SDL_Window * window, int *w, int *h);
+#endif
};
typedef struct VideoBootStrap
SDL_VideoDevice *(*create) (int devindex);
} VideoBootStrap;
- #if SDL_VIDEO_DRIVER_COCOA
+ /* Not all of these are available in a given build. Use #ifdefs, etc. */
extern VideoBootStrap COCOA_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_X11
extern VideoBootStrap X11_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_MIR
extern VideoBootStrap MIR_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_DIRECTFB
extern VideoBootStrap DirectFB_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_WINDOWS
extern VideoBootStrap WINDOWS_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_WINRT
extern VideoBootStrap WINRT_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_HAIKU
extern VideoBootStrap HAIKU_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_PANDORA
extern VideoBootStrap PND_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_UIKIT
extern VideoBootStrap UIKIT_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_ANDROID
extern VideoBootStrap Android_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_PSP
extern VideoBootStrap PSP_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_RPI
extern VideoBootStrap RPI_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_DUMMY
+ extern VideoBootStrap KMSDRM_bootstrap;
extern VideoBootStrap DUMMY_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_WAYLAND
extern VideoBootStrap Wayland_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_NACL
extern VideoBootStrap NACL_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_VIVANTE
extern VideoBootStrap VIVANTE_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_EMSCRIPTEN
extern VideoBootStrap Emscripten_bootstrap;
- #endif
- #if SDL_VIDEO_DRIVER_TIZEN
+ extern VideoBootStrap QNX_bootstrap;
+extern VideoBootStrap TIZEN_bootstrap;
- #endif
extern SDL_VideoDevice *SDL_GetVideoDevice(void);
extern int SDL_AddBasicVideoDisplay(const SDL_DisplayMode * desktop_mode);
_this->current_glwin_tls = SDL_TLSCreate();
_this->current_glctx_tls = SDL_TLSCreate();
- _this->vk_config.driver_loaded = 0;
+ /* Set vk_config to default values */
+
/* Initialize the video subsystem */
if (_this->VideoInit(_this) < 0) {
SDL_VideoQuit();
}
}
++
+#if __TIZEN__
+ if ((flags & SDL_WINDOW_OPENGL) && (flags & SDL_WINDOW_VULKAN)) {
+ SDL_SetError("Don't use both OPENGL and VULKAN");
+ return NULL;
+ }
+#endif
+
+ if (flags & SDL_WINDOW_VULKAN) {
+ if (!_this->Vulkan_CreateSurface) {
+ SDL_SetError("Vulkan support is either not configured in SDL "
+ "or not available in video driver");
+ return NULL;
+ }
+ if (flags & SDL_WINDOW_OPENGL) {
+ SDL_SetError("Vulkan and OpenGL not supported on same window");
+ return NULL;
+ }
+ if (SDL_Vulkan_LoadLibrary(NULL) < 0) {
+ return NULL;
+ }
+ }
+
/* Unless the user has specified the high-DPI disabling hint, respect the
* SDL_WINDOW_ALLOW_HIGHDPI flag.
*/
if (h) {
*h = window->h;
}
+#endif
}
+ int
+ SDL_GetWindowBordersSize(SDL_Window * window, int *top, int *left, int *bottom, int *right)
+ {
+ int dummy = 0;
+
+ if (!top) { top = &dummy; }
+ if (!left) { left = &dummy; }
+ if (!right) { right = &dummy; }
+ if (!bottom) { bottom = &dummy; }
+
+ /* Always initialize, so applications don't have to care */
+ *top = *left = *bottom = *right = 0;
+
+ CHECK_WINDOW_MAGIC(window, -1);
+
+ if (!_this->GetWindowBordersSize) {
+ return SDL_Unsupported();
+ }
+
+ return _this->GetWindowBordersSize(_this, window, top, left, bottom, right);
+ }
+
void
SDL_SetWindowMinimumSize(SDL_Window * window, int min_w, int min_h)
{
_this->gl_config.multisamplesamples = 0;
_this->gl_config.retained_backing = 1;
_this->gl_config.accelerated = -1; /* accelerated or not, both are fine */
- _this->gl_config.profile_mask = 0;
+
+ if (_this->GL_DefaultProfileConfig) {
+ _this->GL_DefaultProfileConfig(_this, &_this->gl_config.profile_mask,
+ &_this->gl_config.major_version,
+ &_this->gl_config.minor_version);
+ } else {
#if SDL_VIDEO_OPENGL
- _this->gl_config.major_version = 2;
- _this->gl_config.minor_version = 1;
+ _this->gl_config.major_version = 2;
+ _this->gl_config.minor_version = 1;
+ _this->gl_config.profile_mask = 0;
#elif SDL_VIDEO_OPENGL_ES2
- _this->gl_config.major_version = 2;
- _this->gl_config.minor_version = 0;
- _this->gl_config.profile_mask = SDL_GL_CONTEXT_PROFILE_ES;
+ _this->gl_config.major_version = 2;
+ _this->gl_config.minor_version = 0;
+ _this->gl_config.profile_mask = SDL_GL_CONTEXT_PROFILE_ES;
#elif SDL_VIDEO_OPENGL_ES
- _this->gl_config.major_version = 1;
- _this->gl_config.minor_version = 1;
- _this->gl_config.profile_mask = SDL_GL_CONTEXT_PROFILE_ES;
+ _this->gl_config.major_version = 1;
+ _this->gl_config.minor_version = 1;
+ _this->gl_config.profile_mask = SDL_GL_CONTEXT_PROFILE_ES;
#endif
+ }
+
_this->gl_config.flags = 0;
_this->gl_config.framebuffer_srgb_capable = 0;
+ _this->gl_config.no_error = 0;
_this->gl_config.release_behavior = SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH;
+ _this->gl_config.reset_notification = SDL_GL_CONTEXT_RESET_NO_NOTIFICATION;
_this->gl_config.share_with_current_context = 0;
+#ifdef __TIZEN__
+ _this->gl_config.context_priority_level = SDL_GL_CONTEXT_PRIORITY_NONE;
+#endif
}
int
case SDL_GL_CONTEXT_RELEASE_BEHAVIOR:
_this->gl_config.release_behavior = value;
break;
+ case SDL_GL_CONTEXT_RESET_NOTIFICATION:
+ _this->gl_config.reset_notification = value;
+ break;
+ case SDL_GL_CONTEXT_NO_ERROR:
+ _this->gl_config.no_error = value;
+ break;
+#ifdef __TIZEN__
+ case SDL_GL_CONTEXT_PRIORITY:
+ _this->gl_config.context_priority_level = value;
+ break;
+#endif
default:
retval = SDL_SetError("Unknown OpenGL attribute");
break;
*value = _this->gl_config.framebuffer_srgb_capable;
return 0;
}
+#ifdef __TIZEN__
+ case SDL_GL_CONTEXT_PRIORITY:
+ {
+ *value = _this->gl_config.context_priority_level;
+ return 0;
+ }
+#endif
+ case SDL_GL_CONTEXT_NO_ERROR:
+ {
+ *value = _this->gl_config.no_error;
+ return 0;
+ }
default:
return SDL_SetError("Unknown OpenGL attribute");
}
}
if (!surface) {
- SDL_SetError("'surface' is null");
- return SDL_FALSE;
+ SDL_InvalidParamError("surface");
+ return SDL_FALSE;
}
- return _this->vulkan_CreateSurface(_this, window, instance, surface);
+ return _this->Vulkan_CreateSurface(_this, window, instance, surface);
+ }
+
+ void SDL_Vulkan_GetDrawableSize(SDL_Window * window, int *w, int *h)
+ {
+ CHECK_WINDOW_MAGIC(window,);
+
+ if (_this->Vulkan_GetDrawableSize) {
+ _this->Vulkan_GetDrawableSize(_this, window, w, h);
+ } else {
+ SDL_GetWindowSize(window, w, h);
+ }
}
++
++
++
++
++
++
++
++
++
/* vi: set ts=4 sw=4 expandtab: */
--- /dev/null
+ /*
+ Simple DirectMedia Layer
+ Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
+
+ 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.
+ */
+ #ifndef SDL_vulkan_internal_h_
+ #define SDL_vulkan_internal_h_
+
+ #include "../SDL_internal.h"
+
+ #include "SDL_stdinc.h"
+
+ #if defined(SDL_LOADSO_DISABLED)
+ #undef SDL_VIDEO_VULKAN
+ #define SDL_VIDEO_VULKAN 0
+ #endif
+
+ #if SDL_VIDEO_VULKAN
+
+ #if SDL_VIDEO_DRIVER_ANDROID
+ #define VK_USE_PLATFORM_ANDROID_KHR
+ #endif
+ #if SDL_VIDEO_DRIVER_COCOA
+ #define VK_USE_PLATFORM_MACOS_MVK
+ #endif
+ #if SDL_VIDEO_DRIVER_MIR
+ #define VK_USE_PLATFORM_MIR_KHR
+ #endif
+ #if SDL_VIDEO_DRIVER_UIKIT
+ #define VK_USE_PLATFORM_IOS_MVK
+ #endif
+ #if SDL_VIDEO_DRIVER_WAYLAND
+ #define VK_USE_PLATFORM_WAYLAND_KHR
+ #include "wayland/SDL_waylanddyn.h"
+ #endif
+ #if SDL_VIDEO_DRIVER_WINDOWS
+ #define VK_USE_PLATFORM_WIN32_KHR
+ #include "../core/windows/SDL_windows.h"
+ #endif
+ #if SDL_VIDEO_DRIVER_X11
+ #define VK_USE_PLATFORM_XLIB_KHR
+ #define VK_USE_PLATFORM_XCB_KHR
+ #endif
+
++#if SDL_VIDEO_DRIVER_TIZEN
++#define VK_USE_PLATFORM_WAYLAND_KHR
++#endif
++#define VK_NO_PROTOTYPES
++#include "vulkan/vulkan.h"
+ #define VK_NO_PROTOTYPES
+ #include "./khronos/vulkan/vulkan.h"
+
+ #include "SDL_vulkan.h"
+
+
+ extern const char *SDL_Vulkan_GetResultString(VkResult result);
+
+ extern VkExtensionProperties *SDL_Vulkan_CreateInstanceExtensionsList(
+ PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties,
+ Uint32 *extensionCount); /* free returned list with SDL_free */
+
+ /* Implements functionality of SDL_Vulkan_GetInstanceExtensions for a list of
+ * names passed in nameCount and names. */
+ extern SDL_bool SDL_Vulkan_GetInstanceExtensions_Helper(unsigned *userCount,
+ const char **userNames,
+ unsigned nameCount,
+ const char *const *names);
+
+ #else
+
+ /* No SDL Vulkan support, just include the header for typedefs */
+ #include "SDL_vulkan.h"
+
+ typedef void (*PFN_vkGetInstanceProcAddr) (void);
+ typedef int (*PFN_vkEnumerateInstanceExtensionProperties) (void);
+
+ #endif /* SDL_VIDEO_VULKAN */
+
+ #endif /* SDL_vulkan_internal_h_ */
+
+ /* vi: set ts=4 sw=4 expandtab: */
--- /dev/null
- ret = SDL_EGL_LoadLibrary(_this, path, (NativeDisplayType)ecore_wl2_display_get(wl2_display));
+/*
+ Simple DirectMedia Layer
+ Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
+ Copyright 2015 Samsung Electronics co., Ltd. All Rights Reserved.
+
+ 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.
+*/
+#include "../../SDL_internal.h"
+
+#if SDL_VIDEO_OPENGL_EGL
+
+#include "SDL_log.h"
+#include "SDL_hints.h"
+#include "SDL_tizenopengles.h"
+#include "SDL_tizenvideo.h"
+#include "SDL_tizenwindow.h"
+
+#include "../../events/SDL_windowevents_c.h"
+
+#if SDL_VIDEO_OPENGL
+#include "SDL_opengl.h"
+#endif /* SDL_VIDEO_OPENGL */
+
+#if SDL_VIDEO_OPENGL_ES
+#include "SDL_opengles.h"
+#endif /* SDL_VIDEO_OPENGL_ES */
+
+/* GL and GLES2 headers conflict on Linux 32 bits */
+#if SDL_VIDEO_OPENGL_ES2 && !SDL_VIDEO_OPENGL
+#include "SDL_opengles2.h"
+#endif /* SDL_VIDEO_OPENGL_ES2 && !SDL_VIDEO_OPENGL */
+
+int
+Tizen_GLES_LoadLibrary(_THIS, const char *path)
+{
+ int ret;
+
+ Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get(NULL);
+
++ ret = SDL_EGL_LoadLibrary(_this, path, (NativeDisplayType)ecore_wl2_display_get(wl2_display), 0);
+ return ret;
+}
+
+SDL_GLContext
+Tizen_GLES_CreateContext(_THIS, SDL_Window *window)
+{
+ SDL_GLContext context = SDL_EGL_CreateContext(_this, ((SDL_WindowData *) window->driverdata)->egl_surface);
+ return context;
+}
+
+void
+Tizen_GLES_SwapWindow(_THIS, SDL_Window *window)
+{
+ SDL_EGL_SwapBuffers(_this, ((SDL_WindowData *) window->driverdata)->egl_surface);
+ SDL_WindowData* wind = (SDL_WindowData*)window->driverdata;
+ int x, y, w, h;
+ if (wind->received_rotation != TIZEN_ROTATION_RECEIVED_NONE) {
+ Tizen_rotate_update(window);
+
+ ecore_wl2_window_geometry_get(wind->window, &x, &y, &w, &h);
+
+ if(wind->received_rotation == TIZEN_ROTATION_RECEIVED_WINDOW_ROATION)
+ ecore_wl2_window_rotation_change_done_send(wind->window, wind->rotation, w, h);
+
+ wind->received_rotation = TIZEN_ROTATION_RECEIVED_NONE;
+
+ SDL_VideoData* videoData = SDL_GetVideoDevice()->driverdata;
+ if(videoData->indicator_on && wind->support_indicator)
+ {
+ videoData->indicator_parent_id = wind->id;
+ _tizen_ecore_ipc_client_send(OP_INDICATOR_SHOW, wind->rotation, wind->g_res_id, 0);
+ _tizen_quickpanel_on(window->driverdata);
+ }
+ }
+}
+
+int
+Tizen_GLES_MakeCurrent(_THIS, SDL_Window *window, SDL_GLContext context)
+{
+ int ret;
+
+ if (window && context) {
+ ret = SDL_EGL_MakeCurrent(_this, ((SDL_WindowData *) window->driverdata)->egl_surface, context);
+ }
+ else if(!window && context) {
+ ret = SDL_EGL_MakeCurrent(_this, NULL, context);
+ }
+ else {
+ ret = SDL_EGL_MakeCurrent(_this, NULL, NULL);
+ }
+
+ return ret;
+}
+
+void
+Tizen_GLES_DeleteContext(_THIS, SDL_GLContext context)
+{
+ SDL_EGL_DeleteContext(_this, context);
+}
+
+int
+Tizen_GLES_GetAlphaSize(_THIS)
+{
+ EGLint alpha_size = 0;
+
+ if (!_this->egl_data) {
+ /* The EGL library wasn't loaded, SDL_GetError() should have info */
+ SDL_Log("egl_data is NULL");
+ return 0;
+ }
+
+ if (_this->egl_data->eglGetConfigAttrib(_this->egl_data->egl_display,
+ _this->egl_data->egl_config,
+ EGL_ALPHA_SIZE,
+ &alpha_size) == EGL_FALSE || !alpha_size) {
+ alpha_size = 0;
+ }
+ return alpha_size;
+}
+
+#endif /* SDL_VIDEO_DRIVER_TIZEN && SDL_VIDEO_OPENGL_EGL */
+
+/* vi: set ts=4 sw=4 expandtab: */
--- /dev/null
- device->CreateWindow = Tizen_CreateWindow;
+/*
+ Simple DirectMedia Layer
+ Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
+ Copyright 2015 Samsung Electronics co., Ltd. All Rights Reserved.
+
+ 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.
+ */
+
+#include "../../SDL_internal.h"
+
+#if SDL_VIDEO_DRIVER_TIZEN
+
+#include "SDL_video.h"
+#include "SDL_mouse.h"
+#include "SDL_stdinc.h"
+
+#include "../../events/SDL_events_c.h"
+#include "../../core/tizen/SDL_tizen.h"
+
+#include "SDL_tizenvideo.h"
+#include "SDL_tizenwindow.h"
+#include "SDL_tizenkeyboard.h"
+#include "SDL_tizenvulkan.h"
+#include "SDL_tizenopengles.h"
+
+#include "SDL_tizenevents_c.h"
+#include "SDL_tizenmouse.h"
+
+
+#define TIZENVID_DRIVER_NAME "tizen"
+
+static void
+_tizen_add_display(SDL_VideoData *d, uint32_t id)
+{
+ SDL_VideoDisplay display;
+ SDL_DisplayMode mode;
+ static char *display_name = "tizen";
+ Ecore_Wl2_Display *wl2_display = NULL;
+
+ SDL_zero(display);
+ SDL_zero(mode);
+
+ display.name = display_name;
+
+ if (!ecore_wl2_init()) return;
+
+ wl2_display = ecore_wl2_display_connect(NULL);
+ if (!wl2_display) return;
+
+ d->wl2_display = wl2_display;
+ ecore_wl2_display_screen_size_get(wl2_display, &mode.w, &mode.h);
+ mode.refresh_rate = 60; //Hz
+ mode.format = SDL_PIXELFORMAT_ARGB8888;
+
+ SDL_AddDisplayMode(&display, &mode);
+
+ display.current_mode = mode;
+ display.desktop_mode = mode;
+
+ SDL_AddVideoDisplay(&display);
+}
+
+/* Wayland driver bootstrap functions */
+static int
+Tizen_Available(void)
+{
+ return 1;
+}
+
+static void
+Tizen_DeleteDevice(SDL_VideoDevice *device)
+{
+ SDL_free(device->driverdata);
+ SDL_free(device);
+}
+
+static SDL_VideoDevice *
+Tizen_CreateDevice(int devindex)
+{
+ SDL_VideoDevice *device;
+
+ /* Initialize all variables that we clean on shutdown */
+ device = SDL_calloc(1, sizeof(SDL_VideoDevice));
+ if (!device) {
+ SDL_OutOfMemory();
+ return NULL;
+ }
+
+ /* Tizen video */
+ device->VideoInit = Tizen_VideoInit;
+ device->VideoQuit = Tizen_VideoQuit;
+ device->SetDisplayMode = Tizen_SetDisplayMode;
+ device->GetDisplayModes = Tizen_GetDisplayModes;
+ device->free = Tizen_DeleteDevice;
+
+ device->PumpEvents = Tizen_PumpEvents;
+#if SDL_VIDEO_OPENGL_EGL
+ device->GL_SwapWindow = Tizen_GLES_SwapWindow;
+ device->GL_GetSwapInterval = Tizen_GLES_GetSwapInterval;
+ device->GL_SetSwapInterval = Tizen_GLES_SetSwapInterval;
+ device->GL_MakeCurrent = Tizen_GLES_MakeCurrent;
+ device->GL_CreateContext = Tizen_GLES_CreateContext;
+ device->GL_LoadLibrary = Tizen_GLES_LoadLibrary;
+ device->GL_UnloadLibrary = Tizen_GLES_UnloadLibrary;
+ device->GL_GetProcAddress = Tizen_GLES_GetProcAddress;
+ device->GL_DeleteContext = Tizen_GLES_DeleteContext;
+ device->SetWindowBordered = Tizen_SetWindowBordered;
+#endif
- device->vulkan_GetInstanceExtensions = Tizen_vulkan_GetInstanceExtensions;
- device->vulkan_CreateSurface = Tizen_vulkan_CreateSurface;
- device->vulkan_LoadLibrary = Tizen_vulkan_LoadLibrary;
++ device->CreateSDLWindow = Tizen_CreateWindow;
+ device->SetWindowTitle = Tizen_SetWindowTitle;
+ device->ShowWindow = Tizen_ShowWindow;
+ device->HideWindow = Tizen_HideWindow;
+ device->RaiseWindow = Tizen_RaiseWindow;
+ device->SetWindowFullscreen = Tizen_SetWindowFullscreen;
+ device->SetWindowSize = Tizen_SetWindowSize;
+ device->DestroyWindow = Tizen_DestroyWindow;
+ device->SetWindowHitTest = Tizen_SetWindowHitTest;
+ device->GetWindowWMInfo = Tizen_GetWindowWMInfo;
+ device->SetWindowPosition = Tizen_SetWindowPosition;
+
+ /* Text input */
+ device->StartTextInput = Tizen_StartTextInput;
+ device->StopTextInput = Tizen_StopTextInput;
+ //device->SetTextInputRect = Tizen_SetTextInputRect;
+
+ /* Screen keyboard */
+ device->HasScreenKeyboardSupport = Tizen_HasScreenKeyboardSupport;
+ device->ShowScreenKeyboard = Tizen_ShowScreenKeyboard;
+ //device->HideScreenKeyboard = Tizen_HideScreenKeyboard;
+ device->IsScreenKeyboardShown = Tizen_IsScreenKeyboardShown;
+
+#if SDL_VIDEO_VULKAN
++ device->Vulkan_GetInstanceExtensions = Tizen_Vulkan_GetInstanceExtensions;
++ device->Vulkan_CreateSurface = Tizen_Vulkan_CreateSurface;
++ device->Vulkan_LoadLibrary = Tizen_Vulkan_LoadLibrary;
+#endif
+ device->GetWindowSize = Tizen_GetWindowSize;
+
+ return device;
+}
+
+VideoBootStrap TIZEN_bootstrap = {
+ TIZENVID_DRIVER_NAME, "SDL tizen video driver",
+ Tizen_Available, Tizen_CreateDevice
+};
+
+int
+Tizen_VideoInit(_THIS)
+{
+ SDL_VideoData *data = SDL_malloc(sizeof * data);
+
+ if (data == NULL)
+ return SDL_OutOfMemory();
+ memset(data, 0, sizeof * data);
+
+ _this->driverdata = data;
+
+ _tizen_add_display(data, 0);
+ data->display = ecore_wl2_display_get(data->wl2_display);
+
+ Tizen_InitWindow(_this);
+ Tizen_InitMouse();
+ return 0;
+}
+
+void
+Tizen_GetDisplayModes(_THIS, SDL_VideoDisplay *sdl_display)
+{
+ SDL_Unsupported();
+}
+
+int
+Tizen_SetDisplayMode(_THIS, SDL_VideoDisplay *display, SDL_DisplayMode *mode)
+{
+ return SDL_Unsupported();
+}
+
+void
+Tizen_VideoQuit(_THIS)
+{
+ if(!_this)
+ return;
+
+ SDL_VideoData *data = _this->driverdata;
+ if(!data)
+ return;
+
+ _tizen_ecore_ipc_client_send(OP_TERMINATE, 0, 0, 0);
+
+ Tizen_DeinitWindow(_this);
+ Tizen_FiniKeyboard();
+ Tizen_FiniMouse();
+
+ ecore_wl2_display_disconnect(data->wl2_display);
+ ecore_wl2_shutdown();
+ SDL_tizen_app_exit();
+
+}
+
+
+#endif /* SDL_VIDEO_DRIVER_TIZEN */
+
+/* vi: set ts=4 sw=4 expandtab: */
--- /dev/null
- #include "../../SDL_internal.h"
+/*
+ Simple DirectMedia Layer
+ Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
+ Copyright 2015 Samsung Electronics co., Ltd. All Rights Reserved.
+
+ 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.
+*/
- #include "../SDL_sysvideo.h"
+
- #include "SDL_syswm.h"
- #include "SDL_video.h"
- #include "SDL_loadso.h"
++#include "../../SDL_internal.h"
+
- #include "SDL_tizenwindow.h"
++#if SDL_VIDEO_VULKAN && SDL_VIDEO_DRIVER_TIZEN
+
- #include "SDL_tizenvulkan.h"
- #include "SDL_log.h"
-
- #if SDL_VIDEO_VULKAN
- #define DEFAULT_VULKAN "libvulkan.so"
+#include "SDL_tizenvideo.h"
- #define LOAD_FUNC(NAME) \
- _this->vk_data->NAME = SDL_LoadFunction(_this->vk_data->vk_dll_handle, #NAME); \
- if (!_this->vk_data->NAME) \
- { \
- SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Could not retrieve Vulkan function " #NAME); \
- return -1; \
- }
++#include "SDL_tizenwindow.h"
++#include "SDL_assert.h"
+
- SDL_bool
- Tizen_vulkan_GetInstanceExtensions(_THIS, const char* driver, unsigned int* count, char** names)
++#include "SDL_loadso.h"
++#include "SDL_tizenvulkan.h"
++#include "SDL_syswm.h"
+
- uint32_t instance_extension_count = 0;
- uint32_t enabled_extension_count = 0;
- VkResult err;
-
- if (strcmp(driver, "tizen")) {
- SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Unsupported video driver '%s'", driver);
- return SDL_FALSE;
++int Tizen_Vulkan_LoadLibrary(_THIS, const char *path)
+{
-
- if (!names) *count = 0;
-
- err = _this->vk_data->vkEnumerateInstanceExtensionProperties(NULL, &instance_extension_count, NULL);
- if (err < 0) {
- SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Fail to get Instance extension");
- return SDL_FALSE;
++ VkExtensionProperties *extensions = NULL;
++ Uint32 i, extensionCount = 0;
++ SDL_bool hasSurfaceExtension = SDL_FALSE;
++ SDL_bool hasWaylandSurfaceExtension = SDL_FALSE;
++ PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = NULL;
++ if(_this->vulkan_config.loader_handle)
++ return SDL_SetError("Vulkan already loaded");
++
++ /* Load the Vulkan loader library */
++ if(!path)
++ path = SDL_getenv("SDL_VULKAN_LIBRARY");
++ if(!path)
++ path = "libvulkan.so.1";
++ _this->vulkan_config.loader_handle = SDL_LoadObject(path);
++ if(!_this->vulkan_config.loader_handle)
++ return -1;
++ SDL_strlcpy(_this->vulkan_config.loader_path, path,
++ SDL_arraysize(_this->vulkan_config.loader_path));
++ vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)SDL_LoadFunction(
++ _this->vulkan_config.loader_handle, "vkGetInstanceProcAddr");
++ if(!vkGetInstanceProcAddr)
++ goto fail;
++ _this->vulkan_config.vkGetInstanceProcAddr = (void *)vkGetInstanceProcAddr;
++ _this->vulkan_config.vkEnumerateInstanceExtensionProperties =
++ (void *)((PFN_vkGetInstanceProcAddr)_this->vulkan_config.vkGetInstanceProcAddr)(
++ VK_NULL_HANDLE, "vkEnumerateInstanceExtensionProperties");
++ if(!_this->vulkan_config.vkEnumerateInstanceExtensionProperties)
++ goto fail;
++ extensions = SDL_Vulkan_CreateInstanceExtensionsList(
++ (PFN_vkEnumerateInstanceExtensionProperties)
++ _this->vulkan_config.vkEnumerateInstanceExtensionProperties,
++ &extensionCount);
++ if(!extensions)
++ goto fail;
++ for(i = 0; i < extensionCount; i++)
++ {
++ if(SDL_strcmp(VK_KHR_SURFACE_EXTENSION_NAME, extensions[i].extensionName) == 0)
++ hasSurfaceExtension = SDL_TRUE;
++ else if(SDL_strcmp(VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME, extensions[i].extensionName) == 0)
++ hasWaylandSurfaceExtension = SDL_TRUE;
+ }
-
- if (instance_extension_count > 0) {
- uint32_t i;
- VkExtensionProperties *instance_extensions =
- malloc(sizeof(VkExtensionProperties) * instance_extension_count);
- err = _this->vk_data->vkEnumerateInstanceExtensionProperties(
- NULL, &instance_extension_count, instance_extensions);
- for (i = 0; i < instance_extension_count; i++) {
- if (!strcmp(VK_KHR_SURFACE_EXTENSION_NAME,instance_extensions[i].extensionName)) {
- if (names && (*count > 0)) names[enabled_extension_count++] = VK_KHR_SURFACE_EXTENSION_NAME;
- else enabled_extension_count++;
- }
-
- if (!strcmp(VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,instance_extensions[i].extensionName)) {
- if (names && (*count > 0)) names[enabled_extension_count++] = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
- else enabled_extension_count++;
- }
- }
- free(instance_extensions);
++ SDL_free(extensions);
++ if(!hasSurfaceExtension)
++ {
++ SDL_SetError("Installed Vulkan doesn't implement the "
++ VK_KHR_SURFACE_EXTENSION_NAME " extension");
++ goto fail;
+ }
- if (*count == 0)
- *count = enabled_extension_count;
-
- return SDL_TRUE;
++ else if(!hasWaylandSurfaceExtension)
++ {
++ SDL_SetError("Installed Vulkan doesn't implement the "
++ VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "extension");
++ goto fail;
+ }
++ return 0;
+
- SDL_bool
- Tizen_vulkan_CreateSurface(_THIS, SDL_Window* window, SDL_vulkanInstance instance, SDL_vulkanSurface* surface)
++fail:
++ SDL_UnloadObject(_this->vulkan_config.loader_handle);
++ _this->vulkan_config.loader_handle = NULL;
++ return -1;
+}
+
- SDL_SysWMinfo wminfo;
- SDL_WindowData *wmdata = (SDL_WindowData *)window->driverdata;
- SDL_VideoData *video_data = (SDL_VideoData *)_this->driverdata;
-
- if (!SDL_GetWindowWMInfo(window, &wminfo))
- return SDL_FALSE;
-
- switch (wminfo.subsystem)
++void Tizen_Vulkan_UnloadLibrary(_THIS)
+{
- case SDL_SYSWM_TIZEN:
- {
- VkWaylandSurfaceCreateInfoKHR createInfo;
- VkResult ret;
- createInfo.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
- createInfo.pNext = NULL;
- createInfo.flags = 0;
- createInfo.display = video_data->display;
- createInfo.surface = wmdata->surface;
-
- ret = _this->vk_data->vkCreateWaylandSurfaceKHR((VkInstance)instance, &createInfo, NULL, (VkSurfaceKHR*)surface);
- if (ret != VK_SUCCESS) {
- SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "fail to vkCreateWaylandSurfaceKHR : %i", (int)ret);
- return SDL_FALSE;
- }
- return SDL_TRUE;
- }
- default:
- (void)surface;
- SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Unsupported subsystem %i", (int)wminfo.subsystem);
- return SDL_FALSE;
++ if(_this->vulkan_config.loader_handle)
+ {
-
- int
- Tizen_vulkan_LoadLibrary(_THIS, const char *vk_path)
++ SDL_UnloadObject(_this->vulkan_config.loader_handle);
++ _this->vulkan_config.loader_handle = NULL;
+ }
+}
+
- void *vk_dll_handle = NULL;
- char *path = NULL;
-
- if (_this->vk_config.driver_loaded) {
- return 0;
- }
-
- _this->vk_data = (struct SDL_vulkan_Data *) SDL_calloc(1, sizeof(SDL_vulkan_Data));
- if (!_this->vk_data) {
- return SDL_OutOfMemory();
++SDL_bool Tizen_Vulkan_GetInstanceExtensions(_THIS,
++ SDL_Window *window,
++ unsigned *count,
++ const char **names)
+{
- if (vk_path) {
- vk_dll_handle = SDL_LoadObject(vk_path);
++ static const char *const extensionsForTizen[] = {
++ VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME
++ };
++ if(!_this->vulkan_config.loader_handle)
++ {
++ SDL_SetError("Vulkan is not loaded");
++ return SDL_FALSE;
+ }
++ return SDL_Vulkan_GetInstanceExtensions_Helper(
++ count, names, SDL_arraysize(extensionsForTizen),
++ extensionsForTizen);
++}
+
- if (!vk_dll_handle) {
- path = SDL_getenv("SDL_VIDEO_VULKAN_DRIVER");
-
- if (!path) {
- path = DEFAULT_VULKAN;
- }
-
- vk_dll_handle = SDL_LoadObject(path);
++SDL_bool Tizen_Vulkan_CreateSurface(_THIS,
++ SDL_Window *window,
++ VkInstance instance,
++ VkSurfaceKHR *surface)
++{
++ SDL_WindowData *windowData = (SDL_WindowData *)window->driverdata;
++ SDL_VideoData* video_data = (SDL_VideoData *)_this->driverdata;
++ PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr =
++ (PFN_vkGetInstanceProcAddr)_this->vulkan_config.vkGetInstanceProcAddr;
++ PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR =
++ (PFN_vkCreateWaylandSurfaceKHR)vkGetInstanceProcAddr(
++ (VkInstance)instance,
++ "vkCreateWaylandSurfaceKHR");
++ VkWaylandSurfaceCreateInfoKHR createInfo;
++ VkResult result;
++
++ if(!_this->vulkan_config.loader_handle)
++ {
++ SDL_SetError("Vulkan is not loaded");
++ return SDL_FALSE;
+ }
+
-
- _this->vk_data->vk_dll_handle = vk_dll_handle;
-
- if (vk_dll_handle == NULL) {
- SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Could not initialize Vulkan library");
- return -1;
++ if(!vkCreateWaylandSurfaceKHR)
++ {
++ SDL_SetError(VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME
++ " extension is not enabled in the Vulkan instance.");
++ return SDL_FALSE;
+ }
-
- LOAD_FUNC(vkEnumerateInstanceExtensionProperties);
- LOAD_FUNC(vkCreateWaylandSurfaceKHR);
-
- _this->vk_config.driver_loaded = 1;
-
- return 0;
++ SDL_zero(createInfo);
++ createInfo.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
++ createInfo.pNext = NULL;
++ createInfo.flags = 0;
++ createInfo.display = video_data->display;
++ createInfo.surface = windowData->surface;
++ result = vkCreateWaylandSurfaceKHR(instance, &createInfo,
++ NULL, surface);
++ if(result != VK_SUCCESS)
++ {
++ SDL_SetError("vkCreateWaylandSurfaceKHR failed: %s",
++ SDL_Vulkan_GetResultString(result));
++ return SDL_FALSE;
+ }
- #endif
++ return SDL_TRUE;
+}
+
++#endif
--- /dev/null
- #ifndef _SDL_tizenvulkan_h
- #define _SDL_tizenvulkan_h
-
-
+/*
+ Simple DirectMedia Layer
+ Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
+ Copyright 2015 Samsung Electronics co., Ltd. All Rights Reserved.
+
+ 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.
+*/
+
- #define VK_USE_PLATFORM_WAYLAND_KHR
+#include "../../SDL_internal.h"
- //#include <vulkan/vulkan.h>
- #include "../SDL_vulkan_c.h"
+
- #if SDL_VIDEO_VULKAN
++#ifndef SDL_tizenvulkan_h_
++#define SDL_tizenvulkan_h_
+
- typedef struct SDL_vulkan_Data{
- void *vk_dll_handle;
- VkResult (VKAPI_PTR *vkEnumerateInstanceExtensionProperties) (const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
- VkResult (VKAPI_PTR *vkCreateWaylandSurfaceKHR) (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
- } SDL_vulkan_Data;
++#include "../SDL_vulkan_internal.h"
+#include "../SDL_sysvideo.h"
+
- extern SDL_bool Tizen_vulkan_GetInstanceExtensions(_THIS, const char* driver, unsigned int* count, char** names);
- extern SDL_bool Tizen_vulkan_CreateSurface(_THIS, SDL_Window* window, SDL_vulkanInstance instance, SDL_vulkanSurface* surface);
- extern int Tizen_vulkan_LoadLibrary(_THIS, const char *vk_path);
++#if SDL_VIDEO_VULKAN && SDL_VIDEO_DRIVER_TIZEN
++
++int Tizen_Vulkan_LoadLibrary(_THIS, const char *path);
++void Tizen_Vulkan_UnloadLibrary(_THIS);
++SDL_bool Tizen_Vulkan_GetInstanceExtensions(_THIS,
++ SDL_Window *window,
++ unsigned *count,
++ const char **names);
++SDL_bool Tizen_Vulkan_CreateSurface(_THIS,
++ SDL_Window *window,
++ VkInstance instance,
++ VkSurfaceKHR *surface);
+
- #endif /* _SDL_tizenvulkan_h */
+#endif
++
++#endif /* SDL_tizenvulkan_h_ */
--- /dev/null
- #include "../SDL_vulkan_c.h"
+/*
+ Simple DirectMedia Layer
+ Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
+ Copyright 2015 Samsung Electronics co., Ltd. All Rights Reserved.
+
+ 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.
+*/
+
+#include "../../SDL_internal.h"
+
+#if SDL_VIDEO_DRIVER_TIZEN
+
+#include "SDL_log.h"
+#include "SDL_hints.h"
+#include "SDL_loadso.h"
+
+#include "SDL_tizenvideo.h"
+#include "SDL_tizentouch.h"
+#include "SDL_tizenkeyboard.h"
+#include "SDL_tizenmouse.h"
+#include "SDL_tizenevents_c.h"
+
+#include "SDL_tizenwindow.h"
+#include "SDL_tizenopengles.h"
+
+#include "../../events/SDL_mouse_c.h"
+#include "../../joystick/tizen/SDL_sysjoystick_c.h"
+
+#include "../SDL_egl_c.h"
- if (!_this->vulkan_GetInstanceExtensions) {
+#include "../SDL_sysvideo.h"
+#include "../../events/SDL_windowevents_c.h"
+
+#include <Ecore_Ipc.h>
+#include <unistd.h>
+
+/*SDL indicator*/
+Ecore_Ipc_Server *ipc = NULL;
+
+#define IPC_HEAD(_type) \
+ Ecore_Ipc_Event_Client_##_type *e = event; \
+ if (ecore_ipc_client_server_get(e->client) != ipc) \
+ return ECORE_CALLBACK_PASS_ON
+
+void _tizen_quickpanel_on(SDL_WindowData *wind)
+{
+ SDL_Log("[SDL]Quick panel on");
+ ecore_wl2_window_indicator_state_set(wind->window, ECORE_WL2_INDICATOR_STATE_ON);
+ ecore_wl2_indicator_visible_type_set(wind->window, ECORE_WL2_INDICATOR_VISIBLE_TYPE_SHOWN);
+}
+
+void _tizen_quickpanel_off(SDL_WindowData *wind)
+{
+ SDL_Log("[SDL]Quick panel off");
+ ecore_wl2_window_indicator_state_set(wind->window, ECORE_WL2_INDICATOR_STATE_OFF);
+ ecore_wl2_indicator_visible_type_set(wind->window, ECORE_WL2_INDICATOR_VISIBLE_TYPE_HIDDEN);
+}
+
+void Tizen_ExecuteIndicatorProcess(SDL_WindowData *wind)
+{
+ SDL_VideoData* videoData = SDL_GetVideoDevice()->driverdata;
+ if(!videoData) return;
+
+
+ _tizen_init_ecore_ipc();
+ unsigned int childPID = fork();
+ if(childPID == 0)
+ {
+ SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "[SDL] child process : %d", getpid());
+ int ret = execl("/usr/bin/sdl_indicator", "/usr/bin/sdl_indicator", NULL);
+ if(ret == -1)
+ {
+ SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "[SDL] Failed indicator process");
+ kill(getpid(), SIGKILL);
+ }
+ }
+ else if(childPID == -1)
+ {
+ SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "[SDL] Failed fork");
+ videoData->indicator_on = SDL_FALSE;
+ videoData->indicator_visible = SDL_FALSE;
+ }
+ else
+ {
+ SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "[SDL] parent process : %d", getpid());
+ videoData->indicator_on = SDL_TRUE;
+ videoData->indicator_visible = SDL_TRUE;
+ videoData->indicator_parent_id = wind->id;
+ }
+}
+
+void
+Tizen_TerminateIndicatorProcess(SDL_WindowData *wind)
+{
+ if(!wind) return;
+
+ SDL_VideoData* videoData = SDL_GetVideoDevice()->driverdata;
+ if(videoData->indicator_on)
+ {
+ _tizen_ecore_ipc_client_send(OP_TERMINATE, 0, 0, 0);
+ _tizen_quickpanel_off(wind);
+ }
+}
+
+void
+Tizen_chk_indicator(SDL_Window *window)
+{
+ SDL_WindowData *wind = window->driverdata;
+ int screen_w, screen_h;
+ int rotation = wind->rotation % 360;
+ Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get(NULL);
+
+ if(rotation % 180 == 0)
+ ecore_wl2_display_screen_size_get(wl2_display, &screen_w, &screen_h);
+ else
+ ecore_wl2_display_screen_size_get(wl2_display, &screen_h, &screen_w);
+
+ if(window->w == screen_w && window->h == screen_h && window->x == 0 && window->y == 0 && !(window->flags & SDL_WINDOW_BORDERLESS))
+ {
+ SDL_VideoData* videoData = SDL_GetVideoDevice()->driverdata;
+ if(!videoData->indicator_on)
+ {
+ wind->support_indicator = SDL_TRUE;
+ Tizen_ExecuteIndicatorProcess(wind);
+ }
+ }
+ else
+ {
+ wind->support_indicator = SDL_FALSE;
+ Tizen_TerminateIndicatorProcess(wind);
+ }
+}
+
+void
+_tizen_ecore_ipc_client_send(int major, int minor, int ref, int ref_to)
+{
+ Eina_List *ipc_clients = ecore_ipc_server_clients_get(ipc);
+ Eina_List *l;
+ Ecore_Ipc_Client *cl;
+ EINA_LIST_FOREACH(ipc_clients, l, cl)
+ ecore_ipc_client_send(cl, major, minor, ref, ref_to, 0, NULL, 0);
+}
+
+static Eina_Bool
+_cb_client_add(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
+{
+ IPC_HEAD(Add);
+
+ SDL_Log("[SDL]_cb_client_add");
+
+ SDL_VideoData* videoData = SDL_GetVideoDevice()->driverdata;
+ videoData->indicator_on = SDL_TRUE;
+
+ SDL_Window * window = SDL_GetVideoDevice()->windows;
+ SDL_WindowData *wind = window->driverdata;
+
+ int window_w, window_h;
+ Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get(NULL);
+
+ ecore_wl2_display_screen_size_get(wl2_display, &window_w, &window_h);
+
+ _tizen_ecore_ipc_client_send(OP_INDICATOR_SHOW, wind->rotation, wind->g_res_id, videoData->indicator_mode);
+
+ return ECORE_CALLBACK_DONE;
+}
+
+static Eina_Bool
+_cb_client_del(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
+{
+ IPC_HEAD(Del);
+ SDL_Log("[SDL]_cb_client_del");
+ Eina_List *ipc_clients = ecore_ipc_server_clients_get(ipc);
+ Eina_List *l;
+ Ecore_Ipc_Client *cl;
+ EINA_LIST_FOREACH(ipc_clients, l, cl)
+ {
+ ecore_ipc_client_del(cl);
+ }
+
+ SDL_VideoData* videoData = SDL_GetVideoDevice()->driverdata;
+ videoData->indicator_on = SDL_FALSE;
+
+ return ECORE_CALLBACK_DONE;
+}
+
+static Eina_Bool
+_cb_client_data(void *data, int type EINA_UNUSED, void *event)
+{
+ IPC_HEAD(Data);
+
+ Ecore_Ipc_Event_Server_Data* epcEvent = (Ecore_Ipc_Event_Server_Data*)event;
+ SDL_Log("[SDL]_cb_client_data: %d -> %d", epcEvent->major, epcEvent->minor);
+
+ SDL_VideoData* videoData = SDL_GetVideoDevice()->driverdata;
+ SDL_Window * window = (SDL_Window*)eina_hash_find(videoData->windows, &videoData->indicator_parent_id);
+ switch(epcEvent->major)
+ {
+ case OP_INDICATOR_INIT:
+ videoData->indicator_height = epcEvent->minor;
+ _tizen_quickpanel_on(window->driverdata);
+ break;
+ case OP_INDICATOR_SHOW:
+ videoData->indicator_visible = SDL_TRUE;
+ break;
+ case OP_INDICATOR_HIDE:
+ if(epcEvent->minor == 1)
+ {
+ _tizen_quickpanel_off(window->driverdata);
+ }
+ else if(epcEvent->minor == 2)
+ {
+ videoData->indicator_visible = SDL_FALSE;
+ }
+ break;
+ case OP_TERMINATE:
+ videoData->indicator_on = SDL_FALSE;
+ videoData->indicator_visible = SDL_FALSE;
+ break;
+ }
+
+ return ECORE_CALLBACK_DONE;
+}
+
+int
+_tizen_init_ecore_ipc()
+{
+
+ if(!ipc)
+ {
+ if(!ecore_ipc_init())
+ SDL_Log("[SDL]Fail ecore_ipc");
+
+ ipc = ecore_ipc_server_add(ECORE_IPC_LOCAL_USER, "sdl_indicator", 0, NULL);
+
+ if(!ipc)
+ ecore_ipc_shutdown();
+
+ ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_ADD, _cb_client_add, NULL);
+ ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_DEL, _cb_client_del, NULL);
+ ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_DATA, _cb_client_data, NULL);
+ }
+ return 0;
+}
+
+SDL_bool
+Tizen_GetWindowWMInfo(_THIS, SDL_Window *window, SDL_SysWMinfo *info)
+{
+ SDL_WindowData *wmdata = (SDL_WindowData *)window->driverdata;
+ info->info.tizen.egl_display = NULL;
+ info->info.tizen.egl_surface = NULL;
+#if SDL_VIDEO_OPENGL_EGL
+ if (_this->egl_data)
+ {
+ info->info.tizen.egl_display = (void*)_this->egl_data->egl_display;
+ }
+ info->info.tizen.egl_surface = (void*)wmdata->egl_surface;
+#endif
+ info->subsystem = SDL_SYSWM_TIZEN;
+ return SDL_TRUE;
+}
+
+int
+Tizen_SetWindowHitTest(SDL_Window *window, SDL_bool enabled)
+{
+ return 0; /* just succeed, the real work is done elsewhere. */
+}
+
+void
+Tizen_SetWindowTitle(_THIS, SDL_Window * window)
+{
+ SDL_WindowData *wind = window->driverdata;
+ ecore_wl2_window_title_set(wind->window, window->title);
+}
+
+void
+Tizen_ShowWindow(_THIS, SDL_Window *window)
+{
+ SDL_WindowData *wind = window->driverdata;
+ ecore_wl2_window_show(wind->window);
+ Tizen_chk_indicator(window);
+}
+
+
+void
+Tizen_HideWindow(_THIS, SDL_Window *window)
+{
+ SDL_WindowData *wind = window->driverdata;
+ ecore_wl2_window_hide(wind->window);
+}
+
+void
+Tizen_RaiseWindow(_THIS, SDL_Window *window)
+{
+ SDL_WindowData *wind = window->driverdata;
+ ecore_wl2_window_raise(wind->window);
+}
+
+void
+Tizen_SetWindowFullscreen(_THIS, SDL_Window *window,
+ SDL_VideoDisplay *_display, SDL_bool fullscreen)
+{
+ SDL_WindowData *wind = window->driverdata;
+ if(!wind) return;
+
+ int screen_w, screen_h;
+ int rotation = (wind->output_rotation + wind->rotation) % 360;
+ Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get(NULL);
+
+ if(rotation == 90 || rotation == 270)
+ ecore_wl2_display_screen_size_get(wl2_display, &screen_h, &screen_w);
+ else
+ ecore_wl2_display_screen_size_get(wl2_display, &screen_w, &screen_h);
+
+ _tizen_set_window_size(window, screen_w, screen_h);
+ Tizen_SetWindowSize(_this, window);
+
+ window->fullscreen_mode.w = screen_w;
+ window->fullscreen_mode.h = screen_h;
+ Tizen_chk_indicator(window);
+}
+
+void
+_tizen_set_window_size(SDL_Window * window, int w, int h)
+{
+ if(!window)
+ {
+ SDL_SetError("Invalid window");
+ return;
+ }
+
+ SDL_VideoDevice *_this = SDL_GetVideoDevice();
+ if (!_this) {
+ SDL_SetError("Video subsystem has not been initialized");
+ return;
+ }
+
+ if (window->magic != &_this->window_magic) {
+ return;
+ }
+
+ if (w <= 0) {
+ SDL_InvalidParamError("w");
+ return;
+ }
+ if (h <= 0) {
+ SDL_InvalidParamError("h");
+ return;
+ }
+
+ /* Make sure we don't exceed any window size limits */
+ if (window->min_w && w < window->min_w)
+ {
+ w = window->min_w;
+ }
+ if (window->max_w && w > window->max_w)
+ {
+ w = window->max_w;
+ }
+ if (window->min_h && h < window->min_h)
+ {
+ h = window->min_h;
+ }
+ if (window->max_h && h > window->max_h)
+ {
+ h = window->max_h;
+ }
+
+ if(window->flags & SDL_WINDOW_FULLSCREEN)
+ {
+ window->fullscreen_mode.w = w;
+ window->fullscreen_mode.h = h;
+ }
+
+ window->windowed.w = w;
+ window->windowed.h = h;
+
+ window->w = w;
+ window->h = h;
+}
+
+void
+_tizen_send_rotation_event(SDL_Window *window, unsigned int angle)
+{
+ SDL_Event event;
+ SDL_WindowData *wind;
+ wind = window->driverdata;
+
+ SDL_memset(&event, 0, sizeof(event));
+ event.type = SDL_ROTATEEVENT;
+ event.user.code = 0;
+ if (wind->support_pre_rotation)
+ event.user.data1 = (void*)0;
+ else
+ event.user.data1 = (void*)angle;
+ event.user.data2 = (void*)-1;
+
+ SDL_PushEvent(&event);
+ return;
+}
+
+int
+_tizen_get_rotation_idx(int rotation)
+{
+ return ((rotation % 360) / 90);
+}
+
+void
+_tizen_rotation_do(SDL_Window *window, SDL_WindowData* wind, int rotation)
+{
+ int window_w, window_h;
+ if(wind->rotation == 0 || wind->rotation == 180)
+ ecore_wl2_window_geometry_get(wind->window, 0, 0, &window_w, &window_h);
+ else
+ ecore_wl2_window_geometry_get(wind->window, 0, 0, &window_h, &window_w);
+
+ _tizen_set_window_size(window, window_w, window_h);
+
+ SDL_VideoData* _this = SDL_GetVideoDevice()->driverdata;
+#if SDL_VIDEO_OPENGL_EGL
+ if (window->flags & SDL_WINDOW_OPENGL)
+ {
+ if(wind->support_pre_rotation)
+ {
+ wl_egl_window_tizen_set_rotation(wind->egl_window, 360 - rotation);
+ wl_egl_window_tizen_set_buffer_transform(wind->egl_window, _tizen_get_rotation_idx(rotation));
+ wl_egl_window_tizen_set_window_transform(wind->egl_window, _tizen_get_rotation_idx(wind->rotation));
+ }
+ else
+ {
+ wl_egl_window_resize(wind->egl_window, window_w, window_h, 0, 0);
+ wl_egl_window_tizen_set_buffer_transform(wind->egl_window, _tizen_get_rotation_idx((360 - wind->rotation)));
+ wl_egl_window_tizen_set_window_transform(wind->egl_window, _tizen_get_rotation_idx(0));
+ }
+ }
+#endif
+ _tizen_send_rotation_event(window, 0);
+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SIZE_CHANGED, window->w, window->h);
+
+}
+
+void
+Tizen_rotate_update(SDL_Window *window)
+{
+ SDL_WindowData *wind = window->driverdata;
+ if(!wind) return;
+
+ int screen_rotation;
+ if (ecore_wl2_window_ignore_output_transform_get(wind->window))
+ {
+ screen_rotation = 0;
+ }
+ else
+ {
+ Ecore_Wl2_Output *output = ecore_wl2_window_output_find(wind->window);
+ screen_rotation = ecore_wl2_output_transform_get(output) * 90;
+ }
+
+ //Set Screen Rotation
+ wind->output_rotation = screen_rotation;
+
+ ecore_wl2_window_rotation_set(wind->window, wind->rotation);
+
+ int rotation = (wind->output_rotation + wind->rotation) % 360;
+ _tizen_rotation_do(window, wind, rotation);
+}
+
+SDL_Window*
+Tizen_FindWindow(_THIS, Ecore_Wl2_Window *ewin)
+{
+ SDL_VideoData *data = _this->driverdata;
+ int id;
+
+ id = ecore_wl2_window_id_get(ewin);
+ return (SDL_Window*)eina_hash_find(data->windows, &id);
+}
+
+void
+_tizen_window_orientaiton_hint_callback(void *userdata, const char *name, const char *oldValue, const char *newValue)
+{
+ char *p_str = NULL;
+ char orientation_type[4][20] = {"Portrait","LandscapeLeft","PortraitUpsideDown","LandscapeRight"};
+ int checked[4] = {0,};
+ int i;
+ unsigned int j = 0;
+ SDL_WindowData *wind = (SDL_WindowData*)userdata;
+ Ecore_Wl2_Window *window = wind->window;
+
+ if (wind->rotation_supported == 0)
+ return;
+
+ SDL_assert(SDL_strncmp(name, SDL_HINT_ORIENTATIONS, SDL_strlen(SDL_HINT_ORIENTATIONS)) == 0);
+
+ if ((oldValue == NULL) && (newValue == NULL))
+ return;
+
+ for (i=0;i<4;i++) {
+ p_str = SDL_strstr(newValue, orientation_type[i]);
+ if (p_str) {
+ if (p_str == newValue) {
+ int rot = 0;
+ if (i == 0) rot = 0;
+ else if (i == 1) rot = 90;
+ else if (i == 2) rot = 180;
+ else if (i == 3) rot = 270;
+ wind->rotation = rot;
+ }
+
+ if (i == 0) {
+ checked[j] = 0;
+ }
+ else if (i == 1) {
+ checked[j] = 90;
+ }
+ else if (i == 2) {
+ checked[j] = 180;
+ }
+ else if (i == 3) {
+ checked[j] = 270;
+ }
+ j++;
+ }
+ }
+
+ if (j > 0) {
+ if (j == 1) {
+ ecore_wl2_window_preferred_rotation_set(window, wind->rotation);
+ }else {
+ ecore_wl2_window_available_rotations_set(window, (const int*)checked, j);
+ }
+ }
+
+ Tizen_rotate_update(Tizen_FindWindow(SDL_GetVideoDevice(), window));
+}
+
+void
+_tizen_window_orientation_add_hint(void *data)
+{
+ SDL_WindowData *wind = (SDL_WindowData*)data;
+ if (wind->rotation_supported == 0)
+ return;
+
+ SDL_AddHintCallback(SDL_HINT_ORIENTATIONS, _tizen_window_orientaiton_hint_callback, data);
+}
+
+static Eina_Bool
+_tizen_cb_output_transform(void *data, int type EINA_UNUSED, void *event)
+{
+ SDL_Window * window = SDL_GetVideoDevice()->windows;
+ SDL_WindowData *wind = window->driverdata;
+
+ if(!wind) return ECORE_CALLBACK_PASS_ON;
+
+ Ecore_Wl2_Event_Output_Transform *ev = event;
+ Ecore_Wl2_Output *output;
+
+ output = ecore_wl2_window_output_find(wind->window);
+ if (output != ev->output) return ECORE_CALLBACK_PASS_ON;
+
+ wind->received_rotation = TIZEN_ROTATION_RECEIVED_SCREEN_ROTATION;
+
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+static Eina_Bool
+_tizen_cb_ignore_output_transform(void *data, int type EINA_UNUSED, void *event EINA_UNUSED)
+{
+ SDL_Window * window = SDL_GetVideoDevice()->windows;
+ SDL_WindowData *wind = window->driverdata;
+
+ if(!wind) return ECORE_CALLBACK_PASS_ON;
+
+ wind->received_rotation = TIZEN_ROTATION_RECEIVED_SCREEN_ROTATION;
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+void
+_tizen_output_transform_register(SDL_WindowData *wind)
+{
+ if(!wind) return;
+
+ Ecore_Wl2_Output *output = ecore_wl2_window_output_find(wind->window);
+ wind->output_rotation = ecore_wl2_output_transform_get(output) * 90;
+
+ ecore_event_handler_add(ECORE_WL2_EVENT_OUTPUT_TRANSFORM,
+ _tizen_cb_output_transform, NULL);
+ ecore_event_handler_add(ECORE_WL2_EVENT_IGNORE_OUTPUT_TRANSFORM,
+ _tizen_cb_ignore_output_transform, NULL);
+}
+
+void
+_tizen_indicator_opacity_hint_callback(void *userdata, const char *name, const char *oldValue, const char *newValue)
+{
+ SDL_VideoData *data = (SDL_VideoData *)userdata;
+
+ if ((oldValue == NULL) && (newValue == NULL))
+ return;
+
+ SDL_assert(SDL_strncmp(name, SDL_HINT_TIZEN_INDICATOR_OPACITY, SDL_strlen(SDL_HINT_TIZEN_INDICATOR_OPACITY)) == 0);
+ char indicator_type[4][20] = {"opaque","translucent","transparent","bg_transparent"};
+ for (int i=0;i<4;i++) {
+ if(SDL_strncmp(newValue, indicator_type[i], SDL_strlen(indicator_type[i])) == 0)
+ {
+ data->indicator_mode = i+1;
+ break;
+ }
+ }
+}
+
+int
+Tizen_CreateWindow(_THIS, SDL_Window *window)
+{
+ SDL_VideoData *data = _this->driverdata;
+ SDL_WindowData *wind;
+ Ecore_Wl2_Global *global;
+ Eina_Iterator *globals;
+ Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get(NULL);
+
+
+ wind = calloc(1, sizeof * wind);
+ if (!wind) {
+ return SDL_OutOfMemory();
+ }
+
+ window->driverdata = wind;
+ window->flags |= SDL_WINDOW_INPUT_FOCUS; /* always has input focus */
+
+#if SDL_VIDEO_OPENGL_EGL
+ if (window->flags & SDL_WINDOW_OPENGL) {
+ SDL_GL_LoadLibrary(NULL);
+ }
+#endif
+
+#if SDL_VIDEO_VULKAN
+ if (window->flags & SDL_WINDOW_VULKAN) {
- if (_this->vulkan_LoadLibrary(_this, NULL) < 0) {
++ if (!_this->Vulkan_GetInstanceExtensions) {
+ SDL_SetError("No Vulkan support in video driver");
+ }
+
++ if (_this->Vulkan_LoadLibrary(_this, NULL) < 0) {
+ SDL_SetError("Fail to load Vulkan Library");
+ }
+ }
+#endif
+
+ if (window->x == SDL_WINDOWPOS_UNDEFINED) {
+ window->x = 0;
+ }
+ if (window->y == SDL_WINDOWPOS_UNDEFINED) {
+ window->y = 0;
+ }
+
+ if (!(globals = ecore_wl2_display_globals_get(wl2_display)))
+ {
+ SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Failed to get wayland globals");
+ return -1;
+ }
+
+ wind->window = ecore_wl2_window_new(wl2_display, NULL,
+ window->x, window->y, window->w, window->h);
+
+ if (!wind->window) {
+ SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Failed to create wayland window");
+ if(globals) {
+ eina_iterator_free(globals);
+ }
+ return -1;
+ }
+ _tizen_output_transform_register(wind);
+#if 0
+ wind->wl2_surface = ecore_wl2_surface_create(wind->window, EINA_FALSE);
+ if (!wind->wl2_surface) {
+ SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Failed to create wayland window surface");
+ return -1;
+ }
+#endif
+ wind->surface = ecore_wl2_window_surface_get(wind->window);
+ if (!wind->surface) {
+ SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "Failed to create wayland window surface");
+ if(globals) {
+ eina_iterator_free(globals);
+ }
+ return -1;
+ }
+
+ ecore_wl2_window_type_set(wind->window, ECORE_WL2_WINDOW_TYPE_UTILITY);
+
+ wind->rotation = 0;
+ wind->rotation_supported = 0;
+ wind->received_rotation = TIZEN_ROTATION_RECEIVED_NONE;
+
+#if SDL_VIDEO_OPENGL_EGL
+ if (window->flags & SDL_WINDOW_OPENGL) {
+
+ if(wind->output_rotation == 90 || wind->output_rotation == 270)
+ wind->egl_window = wl_egl_window_create(wind->surface, window->h, window->w);
+ else
+ wind->egl_window = wl_egl_window_create(wind->surface, window->w, window->h);
+
+ /* Create the GLES window surface */
+ wind->egl_surface = SDL_EGL_CreateSurface(_this, (NativeWindowType) wind->egl_window);
+ if (wind->egl_surface == EGL_NO_SURFACE) {
+ SDL_LogError(SDL_LOG_CATEGORY_ASSERT, "failed to create a window surface");
+ if(globals) {
+ eina_iterator_free(globals);
+ }
+ return -1;
+ }
+
+ if (!_this->gl_config.alpha_size) {
+ ecore_wl2_window_opaque_region_set(wind->window, window->x, window->y, window->w, window->h);
+ }
+ else {
+ wl_surface_set_opaque_region(wind->surface, NULL);
+ }
+
+ //Support PreRotation
+ wind->support_pre_rotation = 0;
+ if (wl_egl_window_tizen_get_capabilities(wind->egl_window) == WL_EGL_WINDOW_TIZEN_CAPABILITY_ROTATION_SUPPORTED ) {
+ wind->support_pre_rotation = 1;
+ }
+ else
+ {
+ wl_egl_window_resize(wind->egl_window, window->w, window->h, 0, 0);
+ }
+
+
+ }
+#endif
+
+ wind->id = ecore_wl2_window_id_get(wind->window);
+ eina_hash_add(data->windows, &wind->id, window);
+
+ Tizen_InitKeyboard(_this);
+ SDL_SetMouseFocus(window);
+
+ if (window->flags & 0x00008000) {
+ ecore_wl2_window_input_region_set(wind->window, -1, -1, 1, 1);
+ ecore_wl2_window_focus_skip_set(wind->window, EINA_TRUE);
+ }
+
+ EINA_ITERATOR_FOREACH(globals, global) {
+ if (!strcmp(global->interface, "tizen_policy_ext")) {
+ wind->rotation_supported = 1;
+ break;
+ }
+ }
+ eina_iterator_free(globals);
+ // Add orientaiton hint cb
+ _tizen_window_orientation_add_hint((void*)wind);
+ SDL_AddHintCallback(SDL_HINT_TIZEN_INDICATOR_OPACITY, _tizen_indicator_opacity_hint_callback, data);
+
+ Tizen_rotate_update(window);
+
+ return 0;
+}
+
+void
+Tizen_SetWindowBordered(_THIS, SDL_Window * window, SDL_bool bordered)
+{
+ if(!bordered)
+ {
+ SDL_WindowData *wind = window->driverdata;
+ wind->support_indicator = SDL_FALSE;
+ Tizen_TerminateIndicatorProcess(window->driverdata);
+ }
+ else
+ {
+ Tizen_chk_indicator(window);
+ }
+}
+
+void
+Tizen_SetWindowSize(_THIS, SDL_Window *window)
+{
+ SDL_WindowData *wind = window->driverdata;
+ if (!wind->egl_window)
+ return;
+
+// TODO : consider to rotation status.
+#if SDL_VIDEO_OPENGL_EGL
+ if (window->flags & SDL_WINDOW_OPENGL)
+ {
+ int rotation = (wind->output_rotation + wind->rotation) % 360;
+ if(rotation == 90 || rotation == 270)
+ {
+ ecore_wl2_window_geometry_set(wind->window, window->y, window->x, window->h, window->w);
+ wl_egl_window_resize(wind->egl_window, window->h, window->w, 0, 0);
+ }
+ else
+ {
+ ecore_wl2_window_geometry_set(wind->window, window->x, window->y, window->w, window->h);
+ wl_egl_window_resize(wind->egl_window, window->w, window->h, 0, 0);
+ }
+ }
+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SIZE_CHANGED, window->w, window->h);
+#endif
+ Tizen_chk_indicator(window);
+}
+
+void
+Tizen_GetWindowSize(_THIS, SDL_Window *window, int *w, int *h)
+{
+ SDL_WindowData *wind = window->driverdata;
+ if (!wind->window) {
+ return;
+ }
+
+ if (w) *w = window->w;
+ if (h) *h = window->h;
+}
+
+void
+Tizen_SetWindowPosition(_THIS, SDL_Window * window)
+{
+ SDL_WindowData *wind = window->driverdata;
+ if (!wind->window) {
+ return;
+ }
+
+ // TODO : consider to rotation status.
+ ecore_wl2_window_position_set(wind->window, window->x, window->y);
+ Tizen_chk_indicator(window);
+}
+
+void
+Tizen_DestroyWindow(_THIS, SDL_Window *window)
+{
+ SDL_VideoData *data = _this->driverdata;
+ SDL_WindowData *wind = window->driverdata;
+
+ if (data) {
+ eina_hash_del(data->windows, &wind->id, window);
+#if SDL_VIDEO_OPENGL_EGL
+ if (window->flags & SDL_WINDOW_OPENGL) {
+ SDL_EGL_DestroySurface(_this, wind->egl_surface);
+ wl_egl_window_destroy(wind->egl_window);
+ }
+#endif
+ ecore_wl2_window_free(wind->window);
+ SDL_free(wind);
+ }
+
+ window->driverdata = NULL;
+}
+
+Eina_Bool
+_tizen_cb_event_window_visibility_change(void *data, int type, void *event)
+{
+ _THIS = data;
+ Ecore_Wl2_Event_Window_Visibility_Change *ev;
+ Ecore_Wl2_Window *ew;
+ SDL_Window *window;
+
+ Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get(NULL);
+
+
+ ev = event;
+ ew = ecore_wl2_display_window_find(wl2_display, ev->win);
+ window = Tizen_FindWindow(_this, ew);
+
+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SHOWN, 0, 0);
+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESTORED, 0, 0);
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+Eina_Bool
+_tizen_cb_window_configure(void *data, int type EINA_UNUSED, void *event)
+{
+ _THIS = data;
+ Ecore_Wl2_Window *ew;
+ SDL_Window *window;
+ SDL_WindowData *wind;
+ Ecore_Wl2_Event_Window_Configure *ev;
+
+ Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get(NULL);
+
+ ev = event;
+ ew = ecore_wl2_display_window_find(wl2_display, ev->win);
+ window = Tizen_FindWindow(_this, ew);
+ wind = window->driverdata;
+
+ if (wind->rotation_supported == 0){
+ return ECORE_CALLBACK_PASS_ON;
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+Eina_Bool
+_tizen_cb_event_window_rotate(void *data, int type EINA_UNUSED, void *event)
+{
+ _THIS = data;
+ Ecore_Wl2_Event_Window_Rotation *ev;
+ Ecore_Wl2_Window *ew;
+ SDL_Window *window;
+ SDL_WindowData *wind;
+
+ Ecore_Wl2_Display *wl2_display = ecore_wl2_connected_display_get(NULL);
+
+ ev = event;
+ if (!ev) {
+ return ECORE_CALLBACK_PASS_ON;
+ }
+
+ ew = ecore_wl2_display_window_find(wl2_display, ev->win);
+ window = Tizen_FindWindow(_this, ew);
+ wind = window->driverdata;
+
+ /* set ecore_wl2 window rotation */
+ wind->rotation = ev->angle;
+ wind->received_rotation = TIZEN_ROTATION_RECEIVED_WINDOW_ROATION;
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+static Eina_Bool _tizen_cb_event_window_show(void *data, int type, void *event)
+{
+ Ecore_Wl2_Event_Window_Show *e;
+ uint32_t g_res_id = 0;
+
+ e = event;
+ if (e->data[0] > 0)
+ g_res_id = e->data[0];
+
+ if(g_res_id!=0)
+ {
+ SDL_VideoData *this = SDL_GetVideoDevice()->driverdata;
+ SDL_Window * window = (SDL_Window*)eina_hash_find(this->windows, &e->win);
+ SDL_WindowData *wind = window->driverdata;
+ wind->g_res_id = g_res_id;
+ SDL_Log("[SDL] SDL Window Resource ID %d", g_res_id);
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+int
+Tizen_InitWindow(_THIS)
+{
+ SDL_VideoData *data = _this->driverdata;
+
+ data->windows = eina_hash_int32_new(NULL);
+
+ ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_VISIBILITY_CHANGE,
+ _tizen_cb_event_window_visibility_change,_this);
+ ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_ROTATE,
+ _tizen_cb_event_window_rotate,_this);
+ ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_CONFIGURE,
+ _tizen_cb_window_configure,_this);
+ ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_SHOW,
+ _tizen_cb_event_window_show, _this);
+
+ ecore_event_handler_add(ECORE_EVENT_KEY_UP,
+ _tizen_cb_event_keyup_change,_this);
+ ecore_event_handler_add(ECORE_EVENT_KEY_DOWN,
+ _tizen_cb_event_keydown_change,_this);
+
+ ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN,
+ _tizen_cb_event_mousedown_change,_this);
+ ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP,
+ _tizen_cb_event_mouseup_change,_this);
+ ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE,
+ _tizen_cb_event_mousemove_change,_this);
+ ecore_event_handler_add(ECORE_EVENT_MOUSE_IN,
+ _tizen_cb_event_mouse_in,_this);
+ ecore_event_handler_add(ECORE_EVENT_MOUSE_OUT,
+ _tizen_cb_event_mouse_out,_this);
+
+ ecore_event_handler_add(ECORE_WL2_EVENT_FOCUS_IN,
+ _tizen_cb_event_focus_in,_this);
+ ecore_event_handler_add(ECORE_WL2_EVENT_FOCUS_OUT,
+ _tizen_cb_event_focus_out,_this);
+
+ ecore_event_handler_add(ECORE_EVENT_JOYSTICK,
+ _tizen_cb_event_joystick_change,_this);
+
+ return 0;
+}
+
+void
+Tizen_DeinitWindow(_THIS)
+{
+ SDL_VideoData *data = _this->driverdata;
+
+ eina_hash_free(data->windows);
+}
+#endif /* SDL_VIDEO_DRIVER_TIZEN */
+
+/* vi: set ts=4 sw=4 expandtab: */
depth = displaydata->depth;
}
- #if SDL_VIDEO_VULKAN
- if (window->flags & SDL_WINDOW_VULKAN) {
- if (!_this->vulkan_GetInstanceExtensions) {
- SDL_SetError("No Vulkan support in video driver");
- }
+
- if (_this->vulkan_LoadLibrary(_this, NULL) < 0) {
- SDL_SetError("Fail to load Vulkan Library");
- }
- }
- #endif
+
- xattr.override_redirect = False;
+ xattr.override_redirect = ((window->flags & SDL_WINDOW_TOOLTIP) || (window->flags & SDL_WINDOW_POPUP_MENU)) ? True : False;
xattr.background_pixmap = None;
xattr.border_pixel = 0;
-cmake_minimum_required(VERSION 2.8.11)
-project(SDL2 C)
-
-# Global settings for all of the test targets
-# FIXME: is this wrong?
-remove_definitions(-DUSING_GENERATED_CONFIG_H)
-link_libraries(SDL2_test SDL2-static)
-
-# FIXME: Parent directory CMakeLists.txt only sets these for mingw/cygwin,
-# but we need them for VS as well.
-if(WINDOWS)
- link_libraries(SDL2main)
- add_definitions(-Dmain=SDL_main)
-endif()
-
-add_executable(checkkeys checkkeys.c)
-add_executable(loopwave loopwave.c)
-add_executable(loopwavequeue loopwavequeue.c)
-add_executable(testresample testresample.c)
-add_executable(testaudioinfo testaudioinfo.c)
-
-file(GLOB TESTAUTOMATION_SOURCE_FILES testautomation*.c)
-add_executable(testautomation ${TESTAUTOMATION_SOURCE_FILES})
-
-add_executable(testmultiaudio testmultiaudio.c)
-add_executable(testaudiohotplug testaudiohotplug.c)
-add_executable(testaudiocapture testaudiocapture.c)
-add_executable(testatomic testatomic.c)
-add_executable(testintersections testintersections.c)
-add_executable(testrelative testrelative.c)
-add_executable(testhittesting testhittesting.c)
-add_executable(testdraw2 testdraw2.c)
-add_executable(testdrawchessboard testdrawchessboard.c)
-add_executable(testdropfile testdropfile.c)
-add_executable(testerror testerror.c)
-add_executable(testfile testfile.c)
-add_executable(testgamecontroller testgamecontroller.c)
-add_executable(testgesture testgesture.c)
-add_executable(testgl2 testgl2.c)
-add_executable(testgles testgles.c)
-add_executable(testgles2 testgles2.c)
-add_executable(testhaptic testhaptic.c)
-add_executable(testhotplug testhotplug.c)
-add_executable(testrumble testrumble.c)
-add_executable(testthread testthread.c)
-add_executable(testiconv testiconv.c)
-add_executable(testime testime.c)
-add_executable(testjoystick testjoystick.c)
-add_executable(testkeys testkeys.c)
-add_executable(testloadso testloadso.c)
-add_executable(testlock testlock.c)
-
-if(APPLE)
- add_executable(testnative testnative.c
- testnativecocoa.m
- testnativex11.c)
-elseif(WINDOWS)
- add_executable(testnative testnative.c testnativew32.c)
-elseif(UNIX)
- add_executable(testnative testnative.c testnativex11.c)
-endif()
-
-add_executable(testoverlay2 testoverlay2.c testyuv_cvt.c)
-add_executable(testplatform testplatform.c)
-add_executable(testpower testpower.c)
-add_executable(testfilesystem testfilesystem.c)
-add_executable(testrendertarget testrendertarget.c)
-add_executable(testscale testscale.c)
-add_executable(testsem testsem.c)
-add_executable(testshader testshader.c)
-add_executable(testshape testshape.c)
-add_executable(testsprite2 testsprite2.c)
-add_executable(testspriteminimal testspriteminimal.c)
-add_executable(teststreaming teststreaming.c)
-add_executable(testtimer testtimer.c)
-add_executable(testver testver.c)
-add_executable(testviewport testviewport.c)
-add_executable(testwm2 testwm2.c)
-add_executable(testyuv testyuv.c testyuv_cvt.c)
-add_executable(torturethread torturethread.c)
-add_executable(testrendercopyex testrendercopyex.c)
-add_executable(testmessage testmessage.c)
-add_executable(testdisplayinfo testdisplayinfo.c)
-add_executable(testqsort testqsort.c)
-add_executable(testbounds testbounds.c)
-add_executable(testcustomcursor testcustomcursor.c)
-add_executable(controllermap controllermap.c)
-add_executable(testvulkan testvulkan.c)
-
-# HACK: Dummy target to cause the resource files to be copied to the build directory.
-# Need to make it an executable so we can use the TARGET_FILE_DIR generator expression.
-# This is needed so they get copied to the correct Debug/Release subdirectory in Xcode.
-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/resources_dummy.c "int main(int argc, const char **argv){ return 1; }\n")
-add_executable(SDL2_test_resoureces ${CMAKE_CURRENT_BINARY_DIR}/resources_dummy.c)
-
-file(GLOB RESOURCE_FILES *.bmp *.wav)
-foreach(RESOURCE_FILE ${RESOURCE_FILES})
- add_custom_command(TARGET SDL2_test_resoureces POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${RESOURCE_FILE} $<TARGET_FILE_DIR:SDL2_test_resoureces>)
-endforeach(RESOURCE_FILE)
-
-file(COPY ${RESOURCE_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-
-# TODO: Might be easier to make all targets depend on the resources...?
-add_dependencies(testscale SDL2_test_resoureces)
-add_dependencies(testrendercopyex SDL2_test_resoureces)
-add_dependencies(controllermap SDL2_test_resoureces)
-add_dependencies(testyuv SDL2_test_resoureces)
-add_dependencies(testgamecontroller SDL2_test_resoureces)
-add_dependencies(testshape SDL2_test_resoureces)
-add_dependencies(testshader SDL2_test_resoureces)
-add_dependencies(testnative SDL2_test_resoureces)
-add_dependencies(testspriteminimal SDL2_test_resoureces)
-add_dependencies(testautomation SDL2_test_resoureces)
-add_dependencies(testcustomcursor SDL2_test_resoureces)
-add_dependencies(testrendertarget SDL2_test_resoureces)
-add_dependencies(testsprite2 SDL2_test_resoureces)
-
-add_dependencies(loopwave SDL2_test_resoureces)
-add_dependencies(loopwavequeue SDL2_test_resoureces)
-add_dependencies(testresample SDL2_test_resoureces)
-add_dependencies(testaudiohotplug SDL2_test_resoureces)
-add_dependencies(testmultiaudio SDL2_test_resoureces)
+INCLUDE(FindPkgConfig)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(sdl2_test C CXX)
+
- IF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "armv7l")
- ADD_DEFINITIONS("-DARCH_ARMV7")
- ELSE()
- ADD_DEFINITIONS("-DARCH_I586")
++IF("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "armv7l")
++ADD_DEFINITIONS("-DARCH_ARMV7")
++ELSE()
++ADD_DEFINITIONS("-DARCH_I586")
+ENDIF()
+
- IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
- SET(CMAKE_BUILD_TYPE "Debug")
++IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
++ SET(CMAKE_BUILD_TYPE "Debug")
+ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
- MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
++ MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
+
- IF(NOT DEFINED PACKAGE_NAME)
- SET(PACKAGE_NAME "org.tizen.${PROJECT_NAME}")
++IF(NOT DEFINED PACKAGE_NAME)
++ SET(PACKAGE_NAME "org.tizen.${PROJECT_NAME}")
+ENDIF(NOT DEFINED PACKAGE_NAME)
+IF(NOT DEFINED RESDIR)
+ SET(RESDIR "${PREFIX}/res")
+ENDIF(NOT DEFINED RESDIR)
+
+set(SDL_MAJOR_VERSION 2)
+set(SDL_MINOR_VERSION 0)
- set(SDL_MICRO_VERSION 4)
++set(SDL_MICRO_VERSION 8)
+set(SDL_INTERFACE_AGE 0)
+set(SDL_BINARY_AGE 4)
+set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}")
+
+set(LIBNAME SDL2)
+set(CMAKE_C_FLAGS "-g -O2")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-multichar")
+
+ADD_DEFINITIONS(-D__TIZEN__)
+INCLUDE(FindPkgConfig)
+pkg_check_modules(APPS_PKGS REQUIRED
- dlog
- egl
- glesv2
- glesv1
- sdl2
++ dlog
++ egl
++ glesv2
++ glesv1
++ sdl2
+)
+FOREACH(flag ${APPS_PKGS_CFLAGS}) #${APPS_PKGS_LDFLAGS}
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS}")
+
- set (SDL_TEST_SOURCE
- testmain.c
- )
+set (AUTOMATION_SOURCE
- testautomation.c
- testautomation_audio.c
- testautomation_clipboard.c
- testautomation_events.c
- testautomation_hints.c
- testautomation_keyboard.c
- testautomation_main.c
- testautomation_mouse.c
- testautomation_pixels.c
- testautomation_platform.c
- testautomation_rect.c
- testautomation_render.c
- testautomation_rwops.c
- testautomation_sdltest.c
- testautomation_stdlib.c
- testautomation_surface.c
- testautomation_syswm.c
- testautomation_timer.c
- testautomation_video.c
- )
++ testautomation.c
++ testautomation_audio.c
++ testautomation_clipboard.c
++ testautomation_events.c
++ testautomation_hints.c
++ testautomation_keyboard.c
++ testautomation_main.c
++ testautomation_mouse.c
++ testautomation_pixels.c
++ testautomation_platform.c
++ testautomation_rect.c
++ testautomation_render.c
++ testautomation_rwops.c
++ testautomation_sdltest.c
++ testautomation_stdlib.c
++ testautomation_surface.c
++ testautomation_syswm.c
++ testautomation_timer.c
++ testautomation_video.c
++ )
+set (LOOPWAVE_SOURCE
- loopwave.c
- )
++ loopwave.c
++ )
+set (LOOPWAVEQUEUE_SOURCE
- loopwavequeue.c
- )
- set (AUTOMIC_SOURCE
- testatomic.c
- )
++ loopwavequeue.c
++ )
++set (ATOMIC_SOURCE
++ testatomic.c
++ )
++set (AUDIOCAPTURE_SOURCE
++ testaudiocapture.c
++ )
+set (AUDIOHOTPLUGIN_SOURCE
- testaudiohotplug.c
- )
++ testaudiohotplug.c
++ )
+set (AUDIOINFO_SOURCE
- testaudioinfo.c
- )
++ testaudioinfo.c
++ )
++set (BOUNDS_SOURCE
++ testbounds.c
++ )
++set (CUSTOMCURSOR_SOURCE
++ testcustomcursor.c
++ )
+set (DISPLAYINFO_SOURCE
- testdisplayinfo.c
- )
++ testdisplayinfo.c
++ )
+set (DRAW2_SOURCE
- testdraw2.c
- )
++ testdraw2.c
++ )
+set (DRAWCHESSBOARD_SOURCE
- testdrawchessboard.c
- )
++ testdrawchessboard.c
++ )
+set (DORPFILE_SOURCE
- testdropfile.c
- )
++ testdropfile.c
++ )
+set (ERROR_SOURCE
- testerror.c
- )
++ testerror.c
++ )
+set (FILE_SOURCE
- testfile.c
- )
++ testfile.c
++ )
+set (FILESYSTEM_SOURCE
- testfilesystem.c
- )
++ testfilesystem.c
++ )
+set (GLES_SOURCE
- testgles.c
- )
++ testgles.c
++ )
+set (GLES2_SOURCE
- testgles2.c
- )
++ testgles2.c
++ )
+set (HIT_SOURCE
- testhittesting.c
- )
++ testhittesting.c
++ )
+set (CONV_SOURCE
- testiconv.c
- )
++ testiconv.c
++ )
+set (TIME_SOURCE
- testime.c
- )
++ testime.c
++ )
+set (INTERSECTION_SOURCE
- testintersections.c
- )
++ testintersections.c
++ )
+set (KEYS_SOURCE
- testkeys.c
- )
++ testkeys.c
++ )
+set (LOADSO_SOURCE
- testloadso.c
- )
++ testloadso.c
++ )
+set (LOCK_SOURCE
- testlock.c
- )
- set (MESSAGE_SOURCE
- testmessage.c
- )
++ testlock.c
++ )
+set (MULTIAUDIO_SOURCE
- testmultiaudio.c
- )
++ testmultiaudio.c
++ )
+set (OVERLAY2_SOURCE
- testoverlay2.c
- )
++ testoverlay2.c testyuv_cvt.c
++ )
+set (PLATFORM_SOURCE
- testplatform.c
- )
++ testplatform.c
++ )
++set (QSORT_SOURCE
++ testqsort.c
++ )
+set (RELATIVE_SOURCE
- testrelative.c
- )
++ testrelative.c
++ )
+set (RENDERCOPYEX_SOURCE
- testrendercopyex.c
- )
++ testrendercopyex.c
++ )
+set (RENDERTARGET_SOURCE
- testrendertarget.c
- )
++ testrendertarget.c
++ )
+set (RESAMPLE_SOURCE
- testresample.c
- )
++ testresample.c
++ )
+set (SCALE_SOURCE
- testscale.c
- )
++ testscale.c
++ )
+set (SEM_SOURCE
- testsem.c
- )
++ testsem.c
++ )
+set (SHADER_SOURCE
- testshader.c
- )
- set (SHAPE_SOURCE
- testshape.c
- )
++ testshader.c
++ )
+set (SPRITE2_SOURCE
- testsprite2.c
- )
++ testsprite2.c
++ )
+set (SPRITEMINIMAL_SOURCE
- testspriteminimal.c
- )
++ testspriteminimal.c
++ )
+set (STREAMING_SOURCE
- teststreaming.c
- )
++ teststreaming.c
++ )
+set (THREAD_SOURCE
- testthread.c
- )
++ testthread.c
++ )
+set (TIMER_SOURCE
- testtimer.c
- )
++ testtimer.c
++ )
+set (VER_SOURCE
- testver.c
- )
++ testver.c
++ )
+set (VIEWPORT_SOURCE
- testviewport.c
- )
++ testviewport.c
++ )
+set (TORTURETHREAD_SOURCE
- torturethread.c
- )
++ torturethread.c
++ )
+set (VULKAN_SOURCE
- testvulkan.c
- )
- add_executable(testmain ${SDL_TEST_SOURCE})
- TARGET_LINK_LIBRARIES(testmain ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++ testvulkan.c
++ )
++set (YUV_SOURCE
++ testyuv.c testyuv_cvt.c
++ )
++set (JOYSTICK_SOURCE
++ testjoystick.c
++ )
+add_executable(testautomation ${AUTOMATION_SOURCE})
+TARGET_LINK_LIBRARIES(testautomation ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(loopwave ${LOOPWAVE_SOURCE})
+TARGET_LINK_LIBRARIES(loopwave ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(loopwavequeue ${LOOPWAVEQUEUE_SOURCE})
+TARGET_LINK_LIBRARIES(loopwavequeue ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
- add_executable(testautomic ${AUTOMIC_SOURCE})
- TARGET_LINK_LIBRARIES(testautomic ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++add_executable(testatomic ${ATOMIC_SOURCE})
++TARGET_LINK_LIBRARIES(testatomic ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testaudiohotplug ${AUDIOHOTPLUGIN_SOURCE})
+TARGET_LINK_LIBRARIES(testaudiohotplug ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++add_executable(testaudiocapture ${AUDIOCAPTURE_SOURCE})
++TARGET_LINK_LIBRARIES(testaudiocapture ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testaudioinfo ${AUDIOINFO_SOURCE})
+TARGET_LINK_LIBRARIES(testaudioinfo ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++add_executable(testbounds ${BOUNDS_SOURCE})
++TARGET_LINK_LIBRARIES(testbounds ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++add_executable(testcustomcursor ${CUSTOMCURSOR_SOURCE})
++TARGET_LINK_LIBRARIES(testcustomcursor ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testdisplayinfo ${DISPLAYINFO_SOURCE})
+TARGET_LINK_LIBRARIES(testdisplayinfo ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testdraw2 ${DRAW2_SOURCE})
+TARGET_LINK_LIBRARIES(testdraw2 ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testdrawchessboard ${DRAWCHESSBOARD_SOURCE})
+TARGET_LINK_LIBRARIES(testdrawchessboard ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
- add_executable(testdorpfile ${DRAWCHESSBOARD_SOURCE})
- TARGET_LINK_LIBRARIES(testdorpfile ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++add_executable(testdropfile ${DORPFILE_SOURCE})
++TARGET_LINK_LIBRARIES(testdropfile ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testerror ${ERROR_SOURCE})
+TARGET_LINK_LIBRARIES(testerror ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testfile ${FILE_SOURCE})
+TARGET_LINK_LIBRARIES(testfile ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testfilesystem ${FILESYSTEM_SOURCE})
+TARGET_LINK_LIBRARIES(testfilesystem ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testgles ${GLES_SOURCE})
+TARGET_LINK_LIBRARIES(testgles ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testgles2 ${GLES2_SOURCE})
+TARGET_LINK_LIBRARIES(testgles2 ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testhit ${HIT_SOURCE})
+TARGET_LINK_LIBRARIES(testhit ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
- add_executable(testconv ${CONV_SOURCE})
- TARGET_LINK_LIBRARIES(testconv ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
- add_executable(testtime ${TIME_SOURCE})
- TARGET_LINK_LIBRARIES(testtime ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++add_executable(testiconv ${CONV_SOURCE})
++TARGET_LINK_LIBRARIES(testiconv ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++add_executable(testime ${TIME_SOURCE})
++TARGET_LINK_LIBRARIES(testime ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testintersection ${INTERSECTION_SOURCE})
+TARGET_LINK_LIBRARIES(testintersection ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
- add_executable(testkes ${KEYS_SOURCE})
- TARGET_LINK_LIBRARIES(testkes ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++add_executable(testkeys ${KEYS_SOURCE})
++TARGET_LINK_LIBRARIES(testkeys ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testloadso ${LOADSO_SOURCE})
+TARGET_LINK_LIBRARIES(testloadso ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testlock ${LOCK_SOURCE})
+TARGET_LINK_LIBRARIES(testlock ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
- add_executable(testmessage ${MESSAGE_SOURCE})
- TARGET_LINK_LIBRARIES(testmessage ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testmultiaudio ${MULTIAUDIO_SOURCE})
+TARGET_LINK_LIBRARIES(testmultiaudio ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testoverlay2 ${OVERLAY2_SOURCE})
+TARGET_LINK_LIBRARIES(testoverlay2 ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testplatform ${PLATFORM_SOURCE})
+TARGET_LINK_LIBRARIES(testplatform ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++add_executable(testqsort ${QSORT_SOURCE})
++TARGET_LINK_LIBRARIES(testqsort ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testrelative ${RELATIVE_SOURCE})
+TARGET_LINK_LIBRARIES(testrelative ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testrendercopyex ${RENDERCOPYEX_SOURCE})
+TARGET_LINK_LIBRARIES(testrendercopyex ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testrendertarget ${RENDERTARGET_SOURCE})
+TARGET_LINK_LIBRARIES(testrendertarget ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testresample ${RESAMPLE_SOURCE})
+TARGET_LINK_LIBRARIES(testresample ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testscale ${SCALE_SOURCE})
+TARGET_LINK_LIBRARIES(testscale ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testsem ${SEM_SOURCE})
+TARGET_LINK_LIBRARIES(testsem ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testshader ${SHADER_SOURCE})
+TARGET_LINK_LIBRARIES(testshader ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
- add_executable(testshape ${SHAPE_SOURCE})
- TARGET_LINK_LIBRARIES(testshape ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testsprite2 ${SPRITE2_SOURCE})
+TARGET_LINK_LIBRARIES(testsprite2 ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testspriteminimal ${SPRITEMINIMAL_SOURCE})
+TARGET_LINK_LIBRARIES(testspriteminimal ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(teststreaming ${STREAMING_SOURCE})
+TARGET_LINK_LIBRARIES(teststreaming ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testthread ${THREAD_SOURCE})
+TARGET_LINK_LIBRARIES(testthread ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testtimer ${TIMER_SOURCE})
+TARGET_LINK_LIBRARIES(testtimer ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testver ${VER_SOURCE})
+TARGET_LINK_LIBRARIES(testver ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(testviewport ${VIEWPORT_SOURCE})
+TARGET_LINK_LIBRARIES(testviewport ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+add_executable(torturethread ${TORTURETHREAD_SOURCE})
+TARGET_LINK_LIBRARIES(torturethread ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
- add_executable(testvulkan ${VULKAN_SOURCE})
- TARGET_LINK_LIBRARIES(testvulkan SDL2main SDL2 pthread vulkan)
++#add_executable(testvulkan ${VULKAN_SOURCE})
++#TARGET_LINK_LIBRARIES(testvulkan SDL2main SDL2 pthread vulkan)
++add_executable(testyuv ${YUV_SOURCE})
++TARGET_LINK_LIBRARIES(testyuv ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
++add_executable(testjoystick ${JOYSTICK_SOURCE})
++TARGET_LINK_LIBRARIES(testjoystick ${APPS_PKGS_LDFLAGS} SDL2_test SDL2main)
+# Install
- INSTALL(TARGETS testmain DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testautomation DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS loopwave DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS loopwavequeue DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
- INSTALL(TARGETS testautomic DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testatomic DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testaudiocapture DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testaudiohotplug DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testaudioinfo DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testbounds DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testcustomcursor DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testdisplayinfo DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testdraw2 DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testdrawchessboard DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
- INSTALL(TARGETS testdorpfile DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testdropfile DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testerror DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testfile DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testfilesystem DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testgles DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testgles2 DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testhit DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
- INSTALL(TARGETS testconv DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
- INSTALL(TARGETS testtime DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testiconv DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testime DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testintersection DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
- INSTALL(TARGETS testkes DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testkeys DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testloadso DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testlock DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
- INSTALL(TARGETS testmessage DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testmultiaudio DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testoverlay2 DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testplatform DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testqsort DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testrelative DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testrendercopyex DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testrendertarget DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testresample DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testscale DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testsem DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testshader DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
- INSTALL(TARGETS testshape DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testsprite2 DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testspriteminimal DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS teststreaming DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testthread DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testtimer DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testver DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS testviewport DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
+INSTALL(TARGETS torturethread DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
- INSTALL(TARGETS testvulkan DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
- INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++#INSTALL(TARGETS testvulkan DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testyuv DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(TARGETS testjoystick DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res DESTINATION /opt/usr/apps/org.tizen.sdl2_test/)
++
++
++
++
++
++
++
++
++
++
++
++
testgles2$(EXE): $(srcdir)/testgles2.c
$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@
-
+ testhaptic$(EXE): $(srcdir)/testhaptic.c
+ $(CC) -o $@ $^ $(CFLAGS) $(LIBS)
testhotplug$(EXE): $(srcdir)/testhotplug.c
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)
-
+ testrumble$(EXE): $(srcdir)/testrumble.c
+ $(CC) -o $@ $^ $(CFLAGS) $(LIBS)
testthread$(EXE): $(srcdir)/testthread.c
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)
--- /dev/null
+/*
+ Simple DirectMedia Layer
+ Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
+
+ 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.
+*/
+
+SDL_PROC(void, glActiveTexture, (GLenum))
+SDL_PROC(void, glAttachShader, (GLuint, GLuint))
+SDL_PROC(void, glBindAttribLocation, (GLuint, GLuint, const char *))
+SDL_PROC(void, glBindTexture, (GLenum, GLuint))
++SDL_PROC(void, glBlendEquationSeparate, (GLenum, GLenum))
+SDL_PROC(void, glBlendFuncSeparate, (GLenum, GLenum, GLenum, GLenum))
+SDL_PROC(void, glClear, (GLbitfield))
+SDL_PROC(void, glClearColor, (GLclampf, GLclampf, GLclampf, GLclampf))
+SDL_PROC(void, glCompileShader, (GLuint))
+SDL_PROC(GLuint, glCreateProgram, (void))
+SDL_PROC(GLuint, glCreateShader, (GLenum))
+SDL_PROC(void, glDeleteProgram, (GLuint))
+SDL_PROC(void, glDeleteShader, (GLuint))
+SDL_PROC(void, glDeleteTextures, (GLsizei, const GLuint *))
+SDL_PROC(void, glDisable, (GLenum))
+SDL_PROC(void, glDisableVertexAttribArray, (GLuint))
+SDL_PROC(void, glDrawArrays, (GLenum, GLint, GLsizei))
+SDL_PROC(void, glEnable, (GLenum))
+SDL_PROC(void, glEnableVertexAttribArray, (GLuint))
+SDL_PROC(void, glFinish, (void))
+SDL_PROC(void, glGenFramebuffers, (GLsizei, GLuint *))
+SDL_PROC(void, glGenTextures, (GLsizei, GLuint *))
+SDL_PROC(void, glGetBooleanv, (GLenum, GLboolean *))
+SDL_PROC(const GLubyte *, glGetString, (GLenum))
+SDL_PROC(GLenum, glGetError, (void))
+SDL_PROC(void, glGetIntegerv, (GLenum, GLint *))
+SDL_PROC(void, glGetProgramiv, (GLuint, GLenum, GLint *))
+SDL_PROC(void, glGetShaderInfoLog, (GLuint, GLsizei, GLsizei *, char *))
+SDL_PROC(void, glGetShaderiv, (GLuint, GLenum, GLint *))
+SDL_PROC(GLint, glGetUniformLocation, (GLuint, const char *))
+SDL_PROC(void, glLinkProgram, (GLuint))
+SDL_PROC(void, glPixelStorei, (GLenum, GLint))
+SDL_PROC(void, glReadPixels, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid*))
+SDL_PROC(void, glScissor, (GLint, GLint, GLsizei, GLsizei))
+SDL_PROC(void, glShaderBinary, (GLsizei, const GLuint *, GLenum, const void *, GLsizei))
++#if __NACL__ || __ANDROID__
++SDL_PROC(void, glShaderSource, (GLuint, GLsizei, const GLchar **, const GLint *))
++#else
+SDL_PROC(void, glShaderSource, (GLuint, GLsizei, const GLchar* const*, const GLint *))
++#endif
+SDL_PROC(void, glTexImage2D, (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *))
+SDL_PROC(void, glTexParameteri, (GLenum, GLenum, GLint))
+SDL_PROC(void, glTexSubImage2D, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *))
+SDL_PROC(void, glUniform1i, (GLint, GLint))
+SDL_PROC(void, glUniform4f, (GLint, GLfloat, GLfloat, GLfloat, GLfloat))
+SDL_PROC(void, glUniformMatrix4fv, (GLint, GLsizei, GLboolean, const GLfloat *))
+SDL_PROC(void, glUseProgram, (GLuint))
+SDL_PROC(void, glVertexAttribPointer, (GLuint, GLint, GLenum, GLboolean, GLsizei, const void *))
+SDL_PROC(void, glViewport, (GLint, GLint, GLsizei, GLsizei))
+SDL_PROC(void, glBindFramebuffer, (GLenum, GLuint))
+SDL_PROC(void, glFramebufferTexture2D, (GLenum, GLenum, GLenum, GLuint, GLint))
+SDL_PROC(GLenum, glCheckFramebufferStatus, (GLenum))
+SDL_PROC(void, glDeleteFramebuffers, (GLsizei, const GLuint *))
+SDL_PROC(GLint, glGetAttribLocation, (GLuint, const GLchar *))
+SDL_PROC(void, glGetProgramInfoLog, (GLuint, GLsizei, GLsizei*, GLchar*))
+SDL_PROC(void, glGenBuffers, (GLsizei, GLuint *))
+SDL_PROC(void, glBindBuffer, (GLenum, GLuint))
+SDL_PROC(void, glBufferData, (GLenum, GLsizeiptr, const GLvoid *, GLenum))
+SDL_PROC(void, glBufferSubData, (GLenum, GLintptr, GLsizeiptr, const GLvoid *))
++SDL_PROC(GLboolean , glIsEnabled, (GLenum))
emscripten_cancel_main_loop();
}
#endif
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int i;
char filename[4096];
}
wave.spec.callback = fillerup;
- #if HAVE_SIGNAL_H
- /* Set the signals */
- #ifdef SIGHUP
- signal(SIGHUP, poked);
- #endif
- signal(SIGINT, poked);
- #ifdef SIGQUIT
- signal(SIGQUIT, poked);
- #endif
- signal(SIGTERM, poked);
- #endif /* HAVE_SIGNAL_H */
/* Show the list of available drivers */
- SDLTest_Log("Available audio drivers:");
+ SDL_Log("Available audio drivers:");
for (i = 0; i < SDL_GetNumAudioDrivers(); ++i) {
- SDLTest_Log("%i: %s", i, SDL_GetAudioDriver(i));
+ SDL_Log("%i: %s", i, SDL_GetAudioDriver(i));
}
- /* Initialize fillerup() variables */
- if (SDL_OpenAudio(&wave.spec, NULL) < 0) {
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't open audio: %s\n", SDL_GetError());
- SDL_FreeWAV(wave.sound);
- quit(2);
- }
+
- SDLTest_Log("Using audio driver: %s\n", SDL_GetCurrentAudioDriver());
+
- /* Let the audio run */
- SDL_PauseAudio(0);
+ SDL_Log("Using audio driver: %s\n", SDL_GetCurrentAudioDriver());
+
+ open_audio();
+
+ SDL_FlushEvents(SDL_AUDIODEVICEADDED, SDL_AUDIODEVICEREMOVED);
#ifdef __EMSCRIPTEN__
emscripten_set_main_loop(loop, 0, 1);
}
}
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
char filename[4096];
-
/* Enable standard application logging */
SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
if (argc > 1) {
SDL_strlcpy(filename, argv[1], sizeof(filename));
} else {
- SDL_strlcpy(filename, "res/sample.wav", sizeof(filename));
- SDL_strlcpy(filename, "sample.wav", sizeof(filename));
++ SDL_strlcpy(filename, "./res/sample.wav", sizeof(filename));
}
/* Load the wave file into memory */
if (SDL_LoadWAV(filename, &wave.spec, &wave.sound, &wave.soundlen) == NULL) {
/* Note that we stuff the entire audio buffer into the queue in one
shot. Most apps would want to feed it a little at a time, as it
plays, but we're going for simplicity here. */
--
++
#ifdef __EMSCRIPTEN__
emscripten_set_main_loop(loop, 0, 1);
#else
SDL_AtomicSet(&v, 10);
tfret = (SDL_AtomicCAS(&v, 0, 20) == SDL_FALSE) ? SDL_TRUE : SDL_FALSE;
- SDLTest_Log("AtomicCAS() tfret=%s val=%d\n", tf(tfret), SDL_AtomicGet(&v));
+ SDL_Log("AtomicCAS() tfret=%s val=%d\n", tf(tfret), SDL_AtomicGet(&v));
value = SDL_AtomicGet(&v);
tfret = (SDL_AtomicCAS(&v, value, 20) == SDL_TRUE) ? SDL_TRUE : SDL_FALSE;
- SDLTest_Log("AtomicCAS() tfret=%s val=%d\n", tf(tfret), SDL_AtomicGet(&v));
-
- SDL_MemoryBarrierAcquire();
- SDL_MemoryBarrierRelease();
+ SDL_Log("AtomicCAS() tfret=%s val=%d\n", tf(tfret), SDL_AtomicGet(&v));
++
}
/**************************************************************************/
/* End FIFO test */
/**************************************************************************/
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
/* Enable standard application logging */
SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
SDL_Event e;
SDL_AudioDeviceID dev;
while (SDL_PollEvent(&e)) {
- if (e.type == SDL_QUIT) {
+ if (e.type == SDL_QUIT || e.key.keysym.sym == 0) {
done = 1;
+ } else if (e.type == SDL_KEYUP) {
+ if (e.key.keysym.sym == SDLK_ESCAPE)
+ done = 1;
} else if (e.type == SDL_AUDIODEVICEADDED) {
- const char *name = SDL_GetAudioDeviceName(e.adevice.which, 0);
- SDLTest_Log("New %s audio device: %s\n", e.adevice.iscapture ? "capture" : "output", name);
- if (!e.adevice.iscapture) {
+ int index = e.adevice.which;
+ int iscapture = e.adevice.iscapture;
+ const char *name = SDL_GetAudioDeviceName(index, iscapture);
+ if (name != NULL)
+ SDL_Log("New %s audio device at index %u: %s\n", devtypestr(iscapture), (unsigned int) index, name);
+ else {
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Got new %s device at index %u, but failed to get the name: %s\n",
+ devtypestr(iscapture), (unsigned int) index, SDL_GetError());
+ continue;
+ }
+ if (!iscapture) {
positions[posindex] = 0;
spec.userdata = &positions[posindex++];
spec.callback = fillerup;
iteration();
}
#endif
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int i;
char filename[4096];
if (argc > 1) {
SDL_strlcpy(filename, argv[1], sizeof(filename));
} else {
- SDL_strlcpy(filename, "res/sample.wav", sizeof(filename));
- SDL_strlcpy(filename, "sample.wav", sizeof(filename));
++ SDL_strlcpy(filename, "./res/sample.wav", sizeof(filename));
}
/* Load the wave file into memory */
if (SDL_LoadWAV(filename, &spec, &sound, &soundlen) == NULL) {
else {
int i;
for (i = 0; i < n; i++) {
- SDLTest_Log(" %s\n", SDL_GetAudioDeviceName(i, iscapture));
+ const char *name = SDL_GetAudioDeviceName(i, iscapture);
+ if (name != NULL)
+ SDL_Log(" %d: %s\n", i, name);
+ else
+ SDL_Log(" %d Error: %s\n", i, SDL_GetError());
}
- SDLTest_Log("\n");
+ SDL_Log("\n");
}
}
-
int
- SDL_main(int argc, char **argv)
+ main(int argc, char **argv)
{
int n;
SDLTest_CommonQuit(state);
exit(rc);
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
-
++ SDL_Log("====In testautomation====");
int result;
int testIterations = 1;
Uint64 userExecKey = 0;
for (i = 0; i < count; i++) {
/* Get device name */
device = (char *)SDL_GetAudioDeviceName(i, 0);
- /*add by majunqing for skip the device 1*/
- const char* ignoreDevice = "VIRTUAL AUDIO W";
- if(SDL_strcmp(device, ignoreDevice) == 0)
- {
- continue;
- }
++
SDLTest_AssertPass("SDL_GetAudioDeviceName(%i,0)", i);
SDLTest_AssertCheck(device != NULL, "Validate device name is not NULL; got: %s", (device != NULL) ? device : "NULL");
if (device == NULL) return TEST_ABORTED;
char *result1;
char *result2;
int i;
--
++
for (i=0; i<_numHintsEnum; i++) {
result1 = (char *)SDL_GetHint((char*)_HintsEnum[i]);
SDLTest_AssertPass("Call to SDL_GetHint(%s) - using define definition", (char*)_HintsEnum[i]);
result2 = (char *)SDL_GetHint((char *)_HintsVerbose[i]);
SDLTest_AssertPass("Call to SDL_GetHint(%s) - using string definition", (char*)_HintsVerbose[i]);
- int res = -1;
- if(result1!=NULL && result2!=NULL)
- res = SDL_strcmp(result1, result2);
+
+
SDLTest_AssertCheck(
- (result1 == NULL && result2 == NULL) || (res == 0),
+ (result1 == NULL && result2 == NULL) || (SDL_strcmp(result1, result2) == 0),
"Verify returned values are equal; got: result1='%s' result2='%s",
(result1 == NULL) ? "null" : result1,
(result2 == NULL) ? "null" : result2);
}
--
++
return TEST_COMPLETED;
}
{ (SDLTest_TestCaseFp)hints_getHint, "hints_getHint", "Call to SDL_GetHint", TEST_ENABLED };
static const SDLTest_TestCaseReference hintsTest2 =
-- { (SDLTest_TestCaseFp)hints_setHint, "hints_setHint", "Call to SDL_SetHint", TEST_ENABLED };
++ { (SDLTest_TestCaseFp)hints_setHint, "hints_setHint", "Call to SDL_SetHint", TEST_DISABLED };
/* Sequence of Hints test cases */
static const SDLTest_TestCaseReference *hintsTests[] = {
{ (SDLTest_TestCaseFp)keyboard_getSetModState, "keyboard_getSetModState", "Check call to SDL_GetModState and SDL_SetModState", TEST_ENABLED };
static const SDLTest_TestCaseReference keyboardTest7 =
-- { (SDLTest_TestCaseFp)keyboard_startStopTextInput, "keyboard_startStopTextInput", "Check call to SDL_StartTextInput and SDL_StopTextInput", TEST_ENABLED };
++ { (SDLTest_TestCaseFp)keyboard_startStopTextInput, "keyboard_startStopTextInput", "Check call to SDL_StartTextInput and SDL_StopTextInput", TEST_DISABLED };
static const SDLTest_TestCaseReference keyboardTest8 =
{ (SDLTest_TestCaseFp)keyboard_setTextInputRect, "keyboard_setTextInputRect", "Check call to SDL_SetTextInputRect", TEST_ENABLED };
int subsystem;
subsystem = SDL_WasInit(SDL_INIT_EVERYTHING);
-- SDLTest_AssertCheck( subsystem != 0,
++ SDLTest_AssertCheck( subsystem == 0,
"SDL_WasInit(0): returned %i, expected != 0",
subsystem);
{ (SDLTest_TestCaseFp)platform_testSetErrorInvalidInput, "platform_testSetErrorInvalidInput", "Tests SDL_SetError with invalid input", TEST_ENABLED};
static const SDLTest_TestCaseReference platformTest11 =
-- { (SDLTest_TestCaseFp)platform_testGetPowerInfo, "platform_testGetPowerInfo", "Tests SDL_GetPowerInfo function", TEST_ENABLED };
++ { (SDLTest_TestCaseFp)platform_testGetPowerInfo, "platform_testGetPowerInfo", "Tests SDL_GetPowerInfo function", TEST_DISABLED };
/* Sequence of Platform test cases */
static const SDLTest_TestCaseReference *platformTests[] = {
result = SDLTest_CompareSurfaces( testSurface, referenceSurface, allowable_error );
SDLTest_AssertCheck(result == 0, "Validate result from SDLTest_CompareSurfaces, expected: 0, got: %i", result);
++ /*Create surface. */
++ testSurface = SDL_CreateRGBSurfaceWithFormatFrom(pixels, TESTRENDER_SCREEN_W, TESTRENDER_SCREEN_H, 32, TESTRENDER_SCREEN_W*4, RENDER_COMPARE_FORMAT);
++ SDLTest_AssertCheck(testSurface != NULL, "Verify result from SDL_CreateRGBSurfaceWithFormatFrom is not NULL");
++
++ /* Compare surface. */
++ result = SDLTest_CompareSurfaces( testSurface, referenceSurface, allowable_error );
++ SDLTest_AssertCheck(result == 0, "Validate result from SDLTest_CompareSurfaces, expected: 0, got: %i", result);
++
/* Clean up. */
SDL_free(pixels);
SDL_FreeSurface(testSurface);
}
++int rwops_testLoadFile(void)
++{
++ char* result = (char*)SDL_LoadFile(RWopsReadTestFilename, NULL);
++ SDLTest_AssertPass("Call to SDL_LoadFile() succeeded");
++ SDLTest_AssertCheck(result != NULL, "Verify result value is not NULL");
++}
/* ================= Test References ================== */
/* RWops test cases */
static const SDLTest_TestCaseReference rwopsTest10 =
{ (SDLTest_TestCaseFp)rwops_testCompareRWFromMemWithRWFromFile, "rwops_testCompareRWFromMemWithRWFromFile", "Compare RWFromMem and RWFromFile RWops for read and seek", TEST_ENABLED };
++static const SDLTest_TestCaseReference rwopsTest11 =
++ {(SDLTest_TestCaseFp)rwops_testLoadFile, "rwops_testLoadFile", "Test load all the data from SDL data stream", TEST_ENABLED};
/* Sequence of RWops test cases */
static const SDLTest_TestCaseReference *rwopsTests[] = {
&rwopsTest1, &rwopsTest2, &rwopsTest3, &rwopsTest4, &rwopsTest5, &rwopsTest6,
-- &rwopsTest7, &rwopsTest8, &rwopsTest9, &rwopsTest10, NULL
++ &rwopsTest7, &rwopsTest8, &rwopsTest9, &rwopsTest10, &rwopsTest11, NULL
};
/* RWops test suite (global) */
static const SDLTest_TestCaseReference surfaceTest12 =
{ (SDLTest_TestCaseFp)surface_testBlitBlendMod, "surface_testBlitBlendMod", "Tests blitting routines with mod blending mode.", TEST_ENABLED};
- static const SDLTest_TestCaseReference surfaceTest13 =
- { (SDLTest_TestCaseFp)surface_testBlitScaled, "surface_testBlitScaled", "Tests blitting scaled.", TEST_ENABLED};
+
/* Sequence of Surface test cases */
static const SDLTest_TestCaseReference *surfaceTests[] = {
&surfaceTest1, &surfaceTest2, &surfaceTest3, &surfaceTest4, &surfaceTest5,
{ (SDLTest_TestCaseFp)timer_delayAndGetTicks, "timer_delayAndGetTicks", "Call to SDL_Delay and SDL_GetTicks", TEST_ENABLED };
static const SDLTest_TestCaseReference timerTest4 =
-- { (SDLTest_TestCaseFp)timer_addRemoveTimer, "timer_addRemoveTimer", "Call to SDL_AddTimer and SDL_RemoveTimer", TEST_ENABLED };
++ { (SDLTest_TestCaseFp)timer_addRemoveTimer, "timer_addRemoveTimer", "Call to SDL_AddTimer and SDL_RemoveTimer", TEST_DISABLED };
/* Sequence of Timer test cases */
static const SDLTest_TestCaseReference *timerTests[] = {
prefix, SDL_GetPixelFormatName(mode->format),
mode->w, mode->h, mode->refresh_rate);
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
- SDL_tizen_app_init(argc, argv);
- SDL_SetMainReady();
SDL_DisplayMode mode;
int num_displays, dpy;
now Update the drawing image on window screen */
SDL_UpdateWindowSurface(window);
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
- SDL_Surface *surface;
-
/* Enable standard application logging */
SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
/* Create window and renderer for given surface */
- window = SDL_CreateWindow("Chess Board", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 720, 1280, SDL_WINDOW_SHOWN);
+ window = SDL_CreateWindow("Chess Board", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_RESIZABLE);
if(!window)
{
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "Window creation fail : %s\n",SDL_GetError());
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Window creation fail : %s\n",SDL_GetError());
return 1;
}
- SDL_SetWindowTitle(window, "chess board");
- const char* windowtitle = SDL_GetWindowTitle(window);
+
- if(SDL_strcmp(windowtitle, "chess board") != 0)
- {
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "Set Window title fail : %s\n",SDL_GetError());
+
- }
+
- if(SDL_SetWindowBrightness(window, 0.5f) == -1)
- {
- SDLTest_Log(SDL_LOG_CATEGORY_APPLICATION, "Set Window Brightness is not supported ");
- }
+
surface = SDL_GetWindowSurface(window);
renderer = SDL_CreateSoftwareRenderer(surface);
if(!renderer)
SDLTest_CommonQuit(state);
exit(rc);
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int i, done;
SDL_Event event;
SDL_SetError("Thread %s (%lu) had a problem: %s",
(char *) data, SDL_ThreadID(), "nevermind");
while (alive) {
- SDLTest_Log("Thread '%s' is alive!\n", (char *) data);
+ SDL_Log("Thread '%s' is alive!\n", (char *) data);
SDL_Delay(1 * 1000);
}
- SDLTest_Log("Child thread error string: %s\n", SDL_GetError());
+ SDL_Log("Child thread error string: %s\n", SDL_GetError());
return (0);
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
SDL_Thread *thread;
base_path = SDL_GetBasePath();
if(base_path == NULL){
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't find base path: %s\n",
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't find base path: %s\n",
SDL_GetError());
- return 0;
+ return 1;
}
- SDLTest_Log("base path: '%s'\n", base_path);
+
+ SDL_Log("base path: '%s'\n", base_path);
SDL_free(base_path);
pref_path = SDL_GetPrefPath("libsdl", "testfilesystem");
#define HAVE_OPENGLES
#endif
- #define HAVE_OPENGLES2
+
#ifdef HAVE_OPENGLES
#include "SDL_opengles.h"
glMatrixMode(GL_MODELVIEW);
glRotatef(5.0, 1.0, 1.0, 1.0);
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int fsaa, accel;
int value;
#endif
#include "SDL_test_common.h"
- #if defined(__IPHONEOS__) || defined(__ANDROID__) || defined(__EMSCRIPTEN__) || defined(__NACL__) || defined(__TIZEN__)
+
+#define WINDOW_WIDTH 720
+#define WINDOW_HEIGHT 1280
- || defined(__WINDOWS__) || defined(__LINUX__)
++
+ #if defined(__IPHONEOS__) || defined(__ANDROID__) || defined(__EMSCRIPTEN__) || defined(__NACL__) \
++ || defined(__WINDOWS__) || defined(__LINUX__) || defined(__TIZEN__)
++
#define HAVE_OPENGLES2
#endif
- #define HAVE_OPENGLES2
+
#ifdef HAVE_OPENGLES2
#include "SDL_opengles2.h"
}
#endif
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int fsaa, accel;
int value;
return SDL_HITTEST_NORMAL;
}
- int SDL_main(int argc, char **argv)
-
+ int main(int argc, char **argv)
{
int done = 0;
SDL_Window *window;
}
return len;
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
const char *formats[] = {
"UTF8",
SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
if (!argv[1]) {
- argv[1] = "res/utf8.txt";
- argv[1] = "utf8.txt";
++ argv[1] = "./res/utf8.txt";
}
file = fopen(argv[1], "rb");
if (!file) {
#endif
#include "SDL_test_common.h"
+#define WINDOW_WIDTH 720
+#define WINDOW_HEIGHT 1280
- #define DEFAULT_PTSIZE 30
- #define DEFAULT_FONT "/System/Library/Fonts/华文细黑.ttf"
+ #define DEFAULT_PTSIZE 30
+ #ifdef HAVE_SDL_TTF
+ #ifdef __MACOSX__
+ #define DEFAULT_FONT "/System/Library/Fonts/华文细黑.ttf"
+ #elif __WIN32__
+ /* Some japanese font present on at least Windows 8.1. */
+ #define DEFAULT_FONT "C:\\Windows\\Fonts\\yugothic.ttf"
+ #else
+ #define DEFAULT_FONT "NoDefaultFont.ttf"
+ #endif
+ #else
+ #define DEFAULT_FONT "unifont-9.0.02.hex"
+ #endif
#define MAX_TEXT_LENGTH 256
static SDLTest_CommonState *state;
font = TTF_OpenFont(fontname, DEFAULT_PTSIZE);
if (! font)
{
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "Failed to find font: %s\n", TTF_GetError());
- exit(-1);
++
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Failed to find font: %s\n", TTF_GetError());
+ return -1;
+ }
+ #else
+ if (unifont_init(fontname) < 0) {
+ return -1;
}
#endif
}
#endif
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int i;
Uint32 then, now, frames;
#include <string.h>
#include "SDL.h"
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
SDL_Scancode scancode;
#include "SDL.h"
typedef int (*fntype) (const char *);
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int retval = 0;
int hello = 0;
Run(void *data)
{
if (SDL_ThreadID() == mainthread)
- {
+ //signal(SIGTERM, closemutex);
- SDL_Delay(5000);
- closemutex(0);
- }
- while (!doterminate) {
- SDLTest_Log("Process %lu ready to work\n", SDL_ThreadID());
+ signal(SIGTERM, closemutex);
+ while (!SDL_AtomicGet(&doterminate)) {
+ SDL_Log("Process %lu ready to work\n", SDL_ThreadID());
if (SDL_LockMutex(mutex) < 0) {
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't lock mutex: %s", SDL_GetError());
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't lock mutex: %s", SDL_GetError());
exit(1);
}
- SDLTest_Log("Process %lu, working!\n", SDL_ThreadID());
+ SDL_Log("Process %lu, working!\n", SDL_ThreadID());
SDL_Delay(1 * 1000);
- SDLTest_Log("Process %lu, done!\n", SDL_ThreadID());
+ SDL_Log("Process %lu, done!\n", SDL_ThreadID());
if (SDL_UnlockMutex(mutex) < 0) {
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't unlock mutex: %s", SDL_GetError());
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't unlock mutex: %s", SDL_GetError());
exit(1);
}
/* If this sleep isn't done, then threads may starve */
}
return (0);
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int i;
int maxproc = 6;
return 0;
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int success;
#endif
}
-
int
- SDL_main(int argc, char **argv)
+ main(int argc, char **argv)
{
int devcount = 0;
}
#endif
}
-
int
- SDL_main(int argc, char **argv)
+ main(int argc, char **argv)
{
Uint8 *RawMooseData;
SDL_RWops *handle;
}
/* load the trojan moose images */
- handle = SDL_RWFromFile("moose.dat", "rb");
+ handle = SDL_RWFromFile("res/moose.dat", "rb");
if (handle == NULL) {
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "Can't find the file moose.dat !\n");
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Can't find the file moose.dat !\n");
free(RawMooseData);
quit(2);
}
}
return (0);
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
SDL_bool verbose = SDL_TRUE;
int status = 0;
}
#endif
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
-
/* Enable standard application logging */
SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
}
#endif
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int i;
int frames;
*/
#include "SDL.h"
-
int
- SDL_main(int argc, char **argv)
+ main(int argc, char **argv)
{
SDL_AudioSpec spec;
SDL_AudioCVT cvt;
}
#endif
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int i;
int frames;
{
alive = 0;
}
- static void
- TestSDLCond(void)
- {
- SDL_mutex *mutex = SDL_CreateMutex();
- SDL_cond *cond= SDL_CreateCond();
- SDL_CondSignal(cond);
- SDL_CondBroadcast(cond);
+
+
- SDL_LockMutex(mutex);
- SDL_CondWait(cond, mutex);
- SDL_UnlockMutex(mutex);
+
- int retval = SDL_CondWaitTimeout(cond, mutex, 300);
- if(retval != SDL_MUTEX_TIMEDOUT)
- {
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "SDL_CondWaitTimeout returned: %d; expected: %d\n", retval, SDL_MUTEX_TIMEDOUT);
- }
- }
static void
TestWaitTimeout(void)
{
/* Check to make sure the return value indicates timed out */
if (retval != SDL_MUTEX_TIMEDOUT)
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "SDL_SemWaitTimeout returned: %d; expected: %d\n", retval, SDL_MUTEX_TIMEDOUT);
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "SDL_SemWaitTimeout returned: %d; expected: %d\n", retval, SDL_MUTEX_TIMEDOUT);
}
-
int
- SDL_main(int argc, char **argv)
+ main(int argc, char **argv)
{
SDL_Thread *threads[NUM_THREADS];
uintptr_t i;
/*
++<<<<<<< HEAD
+ Copyright (r) 1997-2016 Sam Lantinga <slouken@libsdl.org>
++=======
+ Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
++>>>>>>> upstream
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
including commercial applications, and to alter it and redistribute it
freely.
*/
-/* This is a simple example of using GLSL shaders with SDL */
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <math.h>
-#include "SDL.h"
+#ifdef __EMSCRIPTEN__
+#include <emscripten/emscripten.h>
+#endif
-#ifdef HAVE_OPENGL
+#include "SDL_test_common.h"
+#define WINDOW_WIDTH 720
+#define WINDOW_HEIGHT 1280
- #if defined(__IPHONEOS__) || defined(__ANDROID__) || defined(__EMSCRIPTEN__) || defined(__NACL__) || defined(__TIZEN__)
++#if defined(__IPHONEOS__) || defined(__ANDROID__) || defined(__EMSCRIPTEN__) || defined(__NACL__) \
++ || defined(__WINDOWS__) || defined(__LINUX__) || defined(__TIZEN__)
+#define HAVE_OPENGLES2
+#endif
- #define HAVE_OPENGLES2
-#include "SDL_opengl.h"
+#ifdef HAVE_OPENGLES2
-static SDL_bool shaders_supported;
-static int current_shader = 0;
+#include "SDL_opengles2.h"
-enum {
- SHADER_COLOR,
- SHADER_TEXTURE,
- SHADER_TEXCOORDS,
- NUM_SHADERS
-};
+typedef struct GLES2_Context
+{
+#define SDL_PROC(ret,func,params) ret (APIENTRY *func) params;
+#include "SDL_gles2funcs.h"
+#undef SDL_PROC
+} GLES2_Context;
-typedef struct {
- GLhandleARB program;
- GLhandleARB vert_shader;
- GLhandleARB frag_shader;
- const char *vert_source;
- const char *frag_source;
-} ShaderData;
-
-static ShaderData shaders[NUM_SHADERS] = {
-
- /* SHADER_COLOR */
- { 0, 0, 0,
- /* vertex shader */
-"varying vec4 v_color;\n"
-"\n"
-"void main()\n"
-"{\n"
-" gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
-" v_color = gl_Color;\n"
-"}",
- /* fragment shader */
-"varying vec4 v_color;\n"
-"\n"
-"void main()\n"
-"{\n"
-" gl_FragColor = v_color;\n"
-"}"
- },
-
- /* SHADER_TEXTURE */
- { 0, 0, 0,
- /* vertex shader */
-"varying vec4 v_color;\n"
-"varying vec2 v_texCoord;\n"
-"\n"
-"void main()\n"
-"{\n"
-" gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
-" v_color = gl_Color;\n"
-" v_texCoord = vec2(gl_MultiTexCoord0);\n"
-"}",
- /* fragment shader */
-"varying vec4 v_color;\n"
-"varying vec2 v_texCoord;\n"
-"uniform sampler2D tex0;\n"
-"\n"
-"void main()\n"
-"{\n"
-" gl_FragColor = texture2D(tex0, v_texCoord) * v_color;\n"
-"}"
- },
-
- /* SHADER_TEXCOORDS */
- { 0, 0, 0,
- /* vertex shader */
-"varying vec2 v_texCoord;\n"
-"\n"
-"void main()\n"
-"{\n"
-" gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
-" v_texCoord = vec2(gl_MultiTexCoord0);\n"
-"}",
- /* fragment shader */
-"varying vec2 v_texCoord;\n"
-"\n"
-"void main()\n"
-"{\n"
-" vec4 color;\n"
-" vec2 delta;\n"
-" float dist;\n"
-"\n"
-" delta = vec2(0.5, 0.5) - v_texCoord;\n"
-" dist = dot(delta, delta);\n"
-"\n"
-" color.r = v_texCoord.x;\n"
-" color.g = v_texCoord.x * v_texCoord.y;\n"
-" color.b = v_texCoord.y;\n"
-" color.a = 1.0 - (dist * 4.0);\n"
-" gl_FragColor = color;\n"
-"}"
- },
-};
-static PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
-static PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
-static PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
-static PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
-static PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
-static PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
-static PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
-static PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
-static PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
-static PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
-static PFNGLUNIFORM1IARBPROC glUniform1iARB;
-static PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
-
-static SDL_bool CompileShader(GLhandleARB shader, const char *source)
+static SDLTest_CommonState *state;
+static SDL_GLContext *context = NULL;
+static int depth = 16;
+static GLES2_Context ctx;
+
+static int LoadContext(GLES2_Context * data)
{
- GLint status;
-
- glShaderSourceARB(shader, 1, &source, NULL);
- glCompileShaderARB(shader);
- glGetObjectParameterivARB(shader, GL_OBJECT_COMPILE_STATUS_ARB, &status);
- if (status == 0) {
- GLint length;
- char *info;
-
- glGetObjectParameterivARB(shader, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length);
- info = SDL_stack_alloc(char, length+1);
- glGetInfoLogARB(shader, length, NULL, info);
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Failed to compile shader:\n%s\n%s", source, info);
- SDL_stack_free(info);
-
- return SDL_FALSE;
- } else {
- return SDL_TRUE;
- }
+#if SDL_VIDEO_DRIVER_UIKIT
+#define __SDL_NOGETPROCADDR__
+#elif SDL_VIDEO_DRIVER_ANDROID
+#define __SDL_NOGETPROCADDR__
+#elif SDL_VIDEO_DRIVER_PANDORA
+#define __SDL_NOGETPROCADDR__
+#endif
+
+#if defined __SDL_NOGETPROCADDR__
+#define SDL_PROC(ret,func,params) data->func=func;
+#else
+#define SDL_PROC(ret,func,params) \
+ do { \
+ data->func = SDL_GL_GetProcAddress(#func); \
+ if ( ! data->func ) { \
- return SDL_SetError("Couldn't load GLES2 function %s: %s\n", #func, SDL_GetError()); \
++ return SDL_SetError("Couldn't load GLES2 function %s: %s", #func, SDL_GetError()); \
+ } \
+ } while ( 0 );
+#endif /* __SDL_NOGETPROCADDR__ */
+
+#include "SDL_gles2funcs.h"
+#undef SDL_PROC
+ return 0;
}
-static SDL_bool CompileShaderProgram(ShaderData *data)
+/* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */
+static void
+quit(int rc)
{
- const int num_tmus_bound = 4;
int i;
- GLint location;
- glGetError();
-
- /* Create one program object to rule them all */
- data->program = glCreateProgramObjectARB();
+ if (context != NULL) {
+ for (i = 0; i < state->num_windows; i++) {
+ if (context[i]) {
+ SDL_GL_DeleteContext(context[i]);
+ }
+ }
- /* Create the vertex shader */
- data->vert_shader = glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);
- if (!CompileShader(data->vert_shader, data->vert_source)) {
- return SDL_FALSE;
+ SDL_free(context);
}
- /* Create the fragment shader */
- data->frag_shader = glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB);
- if (!CompileShader(data->frag_shader, data->frag_source)) {
- return SDL_FALSE;
- }
+ SDLTest_CommonQuit(state);
+ exit(rc);
+}
- /* ... and in the darkness bind them */
- glAttachObjectARB(data->program, data->vert_shader);
- glAttachObjectARB(data->program, data->frag_shader);
- glLinkProgramARB(data->program);
-
- /* Set up some uniform variables */
- glUseProgramObjectARB(data->program);
- for (i = 0; i < num_tmus_bound; ++i) {
- char tex_name[5];
- SDL_snprintf(tex_name, SDL_arraysize(tex_name), "tex%d", i);
- location = glGetUniformLocationARB(data->program, tex_name);
- if (location >= 0) {
- glUniform1iARB(location, i);
+#define GL_CHECK(x) \
+ x; \
+ { \
+ GLenum glError = ctx.glGetError(); \
+ if(glError != GL_NO_ERROR) { \
- SDLTest_Log("glGetError() = %i (0x%.8x) at line %i\n", glError, glError, __LINE__); \
++ SDL_Log("glGetError() = %i (0x%.8x) at line %i\n", glError, glError, __LINE__); \
+ quit(1); \
+ } \
}
+
+/*
+ * Simulates desktop's glRotatef. The matrix is returned in column-major
+ * order.
+ */
+static void
+rotate_matrix(float angle, float x, float y, float z, float *r)
+{
+ float radians, c, s, c1, u[3], length;
+ int i, j;
+
+ radians = (float)(angle * M_PI) / 180.0f;
+
+ c = SDL_cosf(radians);
+ s = SDL_sinf(radians);
+
+ c1 = 1.0f - SDL_cosf(radians);
+
+ length = (float)SDL_sqrt(x * x + y * y + z * z);
+
+ u[0] = x / length;
+ u[1] = y / length;
+ u[2] = z / length;
+
+ for (i = 0; i < 16; i++) {
+ r[i] = 0.0;
}
- glUseProgramObjectARB(0);
- return (glGetError() == GL_NO_ERROR) ? SDL_TRUE : SDL_FALSE;
-}
+ r[15] = 1.0;
-static void DestroyShaderProgram(ShaderData *data)
-{
- if (shaders_supported) {
- glDeleteObjectARB(data->vert_shader);
- glDeleteObjectARB(data->frag_shader);
- glDeleteObjectARB(data->program);
+ for (i = 0; i < 3; i++) {
+ r[i * 4 + (i + 1) % 3] = u[(i + 2) % 3] * s;
+ r[i * 4 + (i + 2) % 3] = -u[(i + 1) % 3] * s;
+ }
+
+ for (i = 0; i < 3; i++) {
+ for (j = 0; j < 3; j++) {
+ r[i * 4 + j] += c1 * u[i] * u[j] + (i == j ? c : 0.0f);
+ }
}
}
}
}
- /* We're done! */
- return SDL_TRUE;
+ for (i = 0; i < 16; i++) {
+ r[i] = tmp[i];
+ }
}
-static void QuitShaders()
+/*
+ * Create shader, load in source, compile, dump debug as necessary.
+ *
+ * shader: Pointer to return created shader ID.
+ * source: Passed-in shader source code.
+ * shader_type: Passed to GL, e.g. GL_VERTEX_SHADER.
+ */
+void
+process_shader(GLuint *shader, const char * source, GLint shader_type)
{
- int i;
+ GLint status = GL_FALSE;
+ const char *shaders[1] = { NULL };
+ char buffer[1024];
+ GLsizei length;
+
+ /* Create shader and load into GL. */
+ *shader = GL_CHECK(ctx.glCreateShader(shader_type));
+
+ shaders[0] = source;
- for (i = 0; i < NUM_SHADERS; ++i) {
- DestroyShaderProgram(&shaders[i]);
+ GL_CHECK(ctx.glShaderSource(*shader, 1, shaders, NULL));
+
+ /* Clean up shader source. */
+ shaders[0] = NULL;
+
+ /* Try compiling the shader. */
+ GL_CHECK(ctx.glCompileShader(*shader));
+ GL_CHECK(ctx.glGetShaderiv(*shader, GL_COMPILE_STATUS, &status));
+
+ /* Dump debug info (source and log) if compilation failed. */
+ if(status != GL_TRUE) {
+ ctx.glGetProgramInfoLog(*shader, sizeof(buffer), &length, &buffer[0]);
+ buffer[length] = '\0';
- SDLTest_Log("Shader compilation failed: %s", buffer);fflush(stderr);
++ SDL_Log("Shader compilation failed: %s", buffer);fflush(stderr);
+ quit(-1);
}
}
-/* Quick utility function for texture creation */
-static int
-power_of_two(int input)
+/* 3D data. Vertex range -0.5..0.5 in all axes.
+* Z -0.5 is near, 0.5 is far. */
+const float _vertices[] =
{
- int value = 1;
+ /* Front face. */
+ /* Bottom left */
+ -0.5, 0.5, -0.5,
+ 0.5, -0.5, -0.5,
+ -0.5, -0.5, -0.5,
+ /* Top right */
+ -0.5, 0.5, -0.5,
+ 0.5, 0.5, -0.5,
+ 0.5, -0.5, -0.5,
+ /* Left face */
+ /* Bottom left */
+ -0.5, 0.5, 0.5,
+ -0.5, -0.5, -0.5,
+ -0.5, -0.5, 0.5,
+ /* Top right */
+ -0.5, 0.5, 0.5,
+ -0.5, 0.5, -0.5,
+ -0.5, -0.5, -0.5,
+ /* Top face */
+ /* Bottom left */
+ -0.5, 0.5, 0.5,
+ 0.5, 0.5, -0.5,
+ -0.5, 0.5, -0.5,
+ /* Top right */
+ -0.5, 0.5, 0.5,
+ 0.5, 0.5, 0.5,
+ 0.5, 0.5, -0.5,
+ /* Right face */
+ /* Bottom left */
+ 0.5, 0.5, -0.5,
+ 0.5, -0.5, 0.5,
+ 0.5, -0.5, -0.5,
+ /* Top right */
+ 0.5, 0.5, -0.5,
+ 0.5, 0.5, 0.5,
+ 0.5, -0.5, 0.5,
+ /* Back face */
+ /* Bottom left */
+ 0.5, 0.5, 0.5,
+ -0.5, -0.5, 0.5,
+ 0.5, -0.5, 0.5,
+ /* Top right */
+ 0.5, 0.5, 0.5,
+ -0.5, 0.5, 0.5,
+ -0.5, -0.5, 0.5,
+ /* Bottom face */
+ /* Bottom left */
+ -0.5, -0.5, -0.5,
+ 0.5, -0.5, 0.5,
+ -0.5, -0.5, 0.5,
+ /* Top right */
+ -0.5, -0.5, -0.5,
+ 0.5, -0.5, -0.5,
+ 0.5, -0.5, 0.5,
+};
- while (value < input) {
- value <<= 1;
- }
- return value;
-}
+const float _colors[] =
+{
+ /* Front face */
+ /* Bottom left */
+ 1.0, 0.0, 0.0, /* red */
+ 0.0, 0.0, 1.0, /* blue */
+ 0.0, 1.0, 0.0, /* green */
+ /* Top right */
+ 1.0, 0.0, 0.0, /* red */
+ 1.0, 1.0, 0.0, /* yellow */
+ 0.0, 0.0, 1.0, /* blue */
+ /* Left face */
+ /* Bottom left */
+ 1.0, 1.0, 1.0, /* white */
+ 0.0, 1.0, 0.0, /* green */
+ 0.0, 1.0, 1.0, /* cyan */
+ /* Top right */
+ 1.0, 1.0, 1.0, /* white */
+ 1.0, 0.0, 0.0, /* red */
+ 0.0, 1.0, 0.0, /* green */
+ /* Top face */
+ /* Bottom left */
+ 1.0, 1.0, 1.0, /* white */
+ 1.0, 1.0, 0.0, /* yellow */
+ 1.0, 0.0, 0.0, /* red */
+ /* Top right */
+ 1.0, 1.0, 1.0, /* white */
+ 0.0, 0.0, 0.0, /* black */
+ 1.0, 1.0, 0.0, /* yellow */
+ /* Right face */
+ /* Bottom left */
+ 1.0, 1.0, 0.0, /* yellow */
+ 1.0, 0.0, 1.0, /* magenta */
+ 0.0, 0.0, 1.0, /* blue */
+ /* Top right */
+ 1.0, 1.0, 0.0, /* yellow */
+ 0.0, 0.0, 0.0, /* black */
+ 1.0, 0.0, 1.0, /* magenta */
+ /* Back face */
+ /* Bottom left */
+ 0.0, 0.0, 0.0, /* black */
+ 0.0, 1.0, 1.0, /* cyan */
+ 1.0, 0.0, 1.0, /* magenta */
+ /* Top right */
+ 0.0, 0.0, 0.0, /* black */
+ 1.0, 1.0, 1.0, /* white */
+ 0.0, 1.0, 1.0, /* cyan */
+ /* Bottom face */
+ /* Bottom left */
+ 0.0, 1.0, 0.0, /* green */
+ 1.0, 0.0, 1.0, /* magenta */
+ 0.0, 1.0, 1.0, /* cyan */
+ /* Top right */
+ 0.0, 1.0, 0.0, /* green */
+ 0.0, 0.0, 1.0, /* blue */
+ 1.0, 0.0, 1.0, /* magenta */
+};
-GLuint
-SDL_GL_LoadTexture(SDL_Surface * surface, GLfloat * texcoord)
+const char* _shader_vert_src =
+" attribute vec4 av4position; "
+" attribute vec3 av3color; "
+" uniform mat4 mvp; "
+" varying vec3 vv3color; "
+" void main() { "
+" vv3color = av3color; "
+" gl_Position = mvp * av4position; "
+" } ";
+
+const char* _shader_frag_src =
+" precision lowp float; "
+" varying vec3 vv3color; "
+" void main() { "
+" gl_FragColor = vec4(vv3color, 1.0); "
+" } ";
+
+typedef struct shader_data
{
- GLuint texture;
- int w, h;
- SDL_Surface *image;
- SDL_Rect area;
- SDL_BlendMode saved_mode;
-
- /* Use the surface width and height expanded to powers of 2 */
- w = power_of_two(surface->w);
- h = power_of_two(surface->h);
- texcoord[0] = 0.0f; /* Min X */
- texcoord[1] = 0.0f; /* Min Y */
- texcoord[2] = (GLfloat) surface->w / w; /* Max X */
- texcoord[3] = (GLfloat) surface->h / h; /* Max Y */
-
- image = SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, 32,
-#if SDL_BYTEORDER == SDL_LIL_ENDIAN /* OpenGL RGBA masks */
- 0x000000FF,
- 0x0000FF00, 0x00FF0000, 0xFF000000
-#else
- 0xFF000000,
- 0x00FF0000, 0x0000FF00, 0x000000FF
-#endif
- );
- if (image == NULL) {
- return 0;
- }
+ GLuint shader_program, shader_frag, shader_vert;
- /* Save the alpha blending attributes */
- SDL_GetSurfaceBlendMode(surface, &saved_mode);
- SDL_SetSurfaceBlendMode(surface, SDL_BLENDMODE_NONE);
-
- /* Copy the surface into the GL texture image */
- area.x = 0;
- area.y = 0;
- area.w = surface->w;
- area.h = surface->h;
- SDL_BlitSurface(surface, &area, image, &area);
-
- /* Restore the alpha blending attributes */
- SDL_SetSurfaceBlendMode(surface, saved_mode);
-
- /* Create an OpenGL texture for the image */
- glGenTextures(1, &texture);
- glBindTexture(GL_TEXTURE_2D, texture);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexImage2D(GL_TEXTURE_2D,
- 0,
- GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, image->pixels);
- SDL_FreeSurface(image); /* No longer needed */
-
- return texture;
-}
+ GLint attr_position;
+ GLint attr_color, attr_mvp;
+
+ int angle_x, angle_y, angle_z;
-/* A general OpenGL initialization function. Sets all of the initial parameters. */
-void InitGL(int Width, int Height) /* We call this right after our OpenGL window is created. */
+} shader_data;
+
+static void
+Render(unsigned int width, unsigned int height, shader_data* data)
{
- GLdouble aspect;
+ float matrix_rotate[16], matrix_modelview[16], matrix_perspective[16], matrix_mvp[16];
+
+ /*
+ * Do some rotation with Euler angles. It is not a fixed axis as
+ * quaterions would be, but the effect is cool.
+ */
+ rotate_matrix((float)data->angle_x, 1.0f, 0.0f, 0.0f, matrix_modelview);
+ rotate_matrix((float)data->angle_y, 0.0f, 1.0f, 0.0f, matrix_rotate);
- glViewport(0, 0, Width, Height);
- glClearColor(0.0f, 0.0f, 0.0f, 0.0f); /* This Will Clear The Background Color To Black */
- glClearDepth(1.0); /* Enables Clearing Of The Depth Buffer */
- glDepthFunc(GL_LESS); /* The Type Of Depth Test To Do */
- glEnable(GL_DEPTH_TEST); /* Enables Depth Testing */
- glShadeModel(GL_SMOOTH); /* Enables Smooth Color Shading */
+ multiply_matrix(matrix_rotate, matrix_modelview, matrix_modelview);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity(); /* Reset The Projection Matrix */
+ rotate_matrix((float)data->angle_z, 0.0f, 1.0f, 0.0f, matrix_rotate);
- aspect = (GLdouble)Width / Height;
- glOrtho(-3.0, 3.0, -3.0 / aspect, 3.0 / aspect, 0.0, 1.0);
+ multiply_matrix(matrix_rotate, matrix_modelview, matrix_modelview);
- glMatrixMode(GL_MODELVIEW);
+ /* Pull the camera back from the cube */
+ matrix_modelview[14] -= 2.5;
+
+ perspective_matrix(45.0f, (float)width/height, 0.01f, 100.0f, matrix_perspective);
+ multiply_matrix(matrix_perspective, matrix_modelview, matrix_mvp);
+
+ GL_CHECK(ctx.glUniformMatrix4fv(data->attr_mvp, 1, GL_FALSE, matrix_mvp));
+
+ data->angle_x += 3;
+ data->angle_y += 2;
+ data->angle_z += 1;
+
+ if(data->angle_x >= 360) data->angle_x -= 360;
+ if(data->angle_x < 0) data->angle_x += 360;
+ if(data->angle_y >= 360) data->angle_y -= 360;
+ if(data->angle_y < 0) data->angle_y += 360;
+ if(data->angle_z >= 360) data->angle_z -= 360;
+ if(data->angle_z < 0) data->angle_z += 360;
+
+ GL_CHECK(ctx.glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT));
+ GL_CHECK(ctx.glDrawArrays(GL_TRIANGLES, 0, 36));
}
-/* The main drawing function. */
-void DrawGLScene(SDL_Window *window, GLuint texture, GLfloat * texcoord)
+int done;
+Uint32 frames;
+shader_data *datas;
+
+void loop()
{
- /* Texture coordinate lookup, to make it simple */
- enum {
- MINX,
- MINY,
- MAXX,
- MAXY
- };
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); /* Clear The Screen And The Depth Buffer */
- glLoadIdentity(); /* Reset The View */
-
- glTranslatef(-1.5f,0.0f,0.0f); /* Move Left 1.5 Units */
-
- /* draw a triangle (in smooth coloring mode) */
- glBegin(GL_POLYGON); /* start drawing a polygon */
- glColor3f(1.0f,0.0f,0.0f); /* Set The Color To Red */
- glVertex3f( 0.0f, 1.0f, 0.0f); /* Top */
- glColor3f(0.0f,1.0f,0.0f); /* Set The Color To Green */
- glVertex3f( 1.0f,-1.0f, 0.0f); /* Bottom Right */
- glColor3f(0.0f,0.0f,1.0f); /* Set The Color To Blue */
- glVertex3f(-1.0f,-1.0f, 0.0f); /* Bottom Left */
- glEnd(); /* we're done with the polygon (smooth color interpolation) */
-
- glTranslatef(3.0f,0.0f,0.0f); /* Move Right 3 Units */
-
- /* Enable blending */
- glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
- glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
- /* draw a textured square (quadrilateral) */
- glEnable(GL_TEXTURE_2D);
- glBindTexture(GL_TEXTURE_2D, texture);
- glColor3f(1.0f,1.0f,1.0f);
- if (shaders_supported) {
- glUseProgramObjectARB(shaders[current_shader].program);
+ SDL_Event event;
+ int i;
+ int status;
+
+ /* Check for events */
+ ++frames;
+ while (SDL_PollEvent(&event) && !done) {
+ switch (event.type) {
+ /*case SDL_WINDOWEVENT:
+ switch (event.window.event) {
+ case SDL_WINDOWEVENT_RESIZED:
+ for (i = 0; i < state->num_windows; ++i) {
+ if (event.window.windowID == SDL_GetWindowID(state->windows[i])) {
+ int w, h;
+ status = SDL_GL_MakeCurrent(state->windows[i], context[i]);
+ if (status) {
+ SDLTest_Log("SDL_GL_MakeCurrent(): %s\n", SDL_GetError());
+ break;
+ }
+ // Change view port to the new window dimensions
+ SDL_GL_GetDrawableSize(state->windows[i], &w, &h);
+ ctx.glViewport(0, 0, w, h);
+ state->window_w = event.window.data1;
+ state->window_h = event.window.data2;
+ // Update window content
+ Render(event.window.data1, event.window.data2, &datas[i]);
+ SDL_GL_SwapWindow(state->windows[i]);
+ break;
+ }
+ }
+ break;
+ }*/
+ case SDL_KEYDOWN:
+ if(event.key.keysym.sym == 0)
+ {
+ done = 1;
+ }
+ break;
+ }
+ SDLTest_CommonEvent(state, &event, &done);
}
-
- glBegin(GL_QUADS); /* start drawing a polygon (4 sided) */
- glTexCoord2f(texcoord[MINX], texcoord[MINY]);
- glVertex3f(-1.0f, 1.0f, 0.0f); /* Top Left */
- glTexCoord2f(texcoord[MAXX], texcoord[MINY]);
- glVertex3f( 1.0f, 1.0f, 0.0f); /* Top Right */
- glTexCoord2f(texcoord[MAXX], texcoord[MAXY]);
- glVertex3f( 1.0f,-1.0f, 0.0f); /* Bottom Right */
- glTexCoord2f(texcoord[MINX], texcoord[MAXY]);
- glVertex3f(-1.0f,-1.0f, 0.0f); /* Bottom Left */
- glEnd(); /* done with the polygon */
-
- if (shaders_supported) {
- glUseProgramObjectARB(0);
+ if (!done) {
+ for (i = 0; i < state->num_windows; ++i) {
+ status = SDL_GL_MakeCurrent(state->windows[i], context[i]);
+ if (status) {
- SDLTest_Log("SDL_GL_MakeCurrent(): %s\n", SDL_GetError());
++ SDL_Log("SDL_GL_MakeCurrent(): %s\n", SDL_GetError());
+
+ /* Continue for next window */
+ continue;
+ }
+ Render(state->window_w, state->window_h, &datas[i]);
+ SDL_GL_SwapWindow(state->windows[i]);
+ }
}
- glDisable(GL_TEXTURE_2D);
-
- /* swap buffers to display, since we're double buffered. */
- SDL_GL_SwapWindow(window);
+#ifdef __EMSCRIPTEN__
+ else {
+ emscripten_cancel_main_loop();
+ }
+#endif
}
-
-int main(int argc, char **argv)
+int
- SDL_main(int argc, char *argv[])
++main(int argc, char *argv[])
{
- int done;
- SDL_Window *window;
- SDL_Surface *surface;
- GLuint texture;
- GLfloat texcoords[4];
-
- /* Enable standard application logging */
- SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);
-
- /* Initialize SDL for video output */
- if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) {
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Unable to initialize SDL: %s\n", SDL_GetError());
- exit(1);
+ int fsaa, accel;
+ int value;
+ int i;
+ SDL_DisplayMode mode;
+ Uint32 then, now;
+ int status;
+ shader_data *data;
+
+ /* Initialize parameters */
+ fsaa = 0;
+ accel = 0;
+
+ /* Initialize test framework */
+ state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO);
+ state->window_w = WINDOW_WIDTH;
+ state->window_h = WINDOW_HEIGHT;
+ if (!state) {
+ return 1;
+ }
+ for (i = 1; i < argc;) {
+ int consumed;
+
+ consumed = SDLTest_CommonArg(state, i);
+ if (consumed == 0) {
+ if (SDL_strcasecmp(argv[i], "--fsaa") == 0) {
+ ++fsaa;
+ consumed = 1;
+ } else if (SDL_strcasecmp(argv[i], "--accel") == 0) {
+ ++accel;
+ consumed = 1;
+ } else if (SDL_strcasecmp(argv[i], "--zdepth") == 0) {
+ i++;
+ if (!argv[i]) {
+ consumed = -1;
+ } else {
+ depth = SDL_atoi(argv[i]);
+ consumed = 1;
+ }
+ } else {
+ consumed = -1;
+ }
+ }
+ if (consumed < 0) {
- SDLTest_Log ("Usage: %s %s [--fsaa] [--accel] [--zdepth %%d]\n", argv[0],
++ SDL_Log ("Usage: %s %s [--fsaa] [--accel] [--zdepth %%d]\n", argv[0],
+ SDLTest_CommonUsage(state));
+ quit(1);
+ }
+ i += consumed;
}
- /* Create a 640x480 OpenGL screen */
- window = SDL_CreateWindow( "Shader Demo", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_OPENGL );
- if ( !window ) {
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Unable to create OpenGL window: %s\n", SDL_GetError());
- SDL_Quit();
- exit(2);
+ /* Set OpenGL parameters */
+ state->window_flags |= SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE | SDL_WINDOW_BORDERLESS;
+ state->gl_red_size = 5;
+ state->gl_green_size = 5;
+ state->gl_blue_size = 5;
+ state->gl_depth_size = depth;
+ state->gl_major_version = 2;
+ state->gl_minor_version = 0;
+ state->gl_profile_mask = SDL_GL_CONTEXT_PROFILE_ES;
+
+ if (fsaa) {
+ state->gl_multisamplebuffers=1;
+ state->gl_multisamplesamples=fsaa;
+ }
+ if (accel) {
+ state->gl_accelerated=1;
+ }
+ if (!SDLTest_CommonInit(state)) {
+ quit(2);
+ return 0;
}
- context = SDL_calloc(state->num_windows, sizeof(context));
- if ( !SDL_GL_CreateContext(window)) {
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Unable to create OpenGL context: %s\n", SDL_GetError());
- SDL_Quit();
- exit(2);
++ context = (SDL_GLContext *)SDL_calloc(state->num_windows, sizeof(context));
+ if (context == NULL) {
- SDLTest_Log("Out of memory!\n");
++ SDL_Log("Out of memory!\n");
+ quit(2);
+ }
+
+ /* Create OpenGL ES contexts */
+ for (i = 0; i < state->num_windows; i++) {
+ context[i] = SDL_GL_CreateContext(state->windows[i]);
+ if (!context[i]) {
- SDLTest_Log("SDL_GL_CreateContext(): %s\n", SDL_GetError());
++ SDL_Log("SDL_GL_CreateContext(): %s\n", SDL_GetError());
+ quit(2);
+ }
}
- surface = SDL_LoadBMP("icon.bmp");
- if ( ! surface ) {
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Unable to load icon.bmp: %s\n", SDL_GetError());
- SDL_Quit();
- exit(3);
+ /* Important: call this *after* creating the context */
+ if (LoadContext(&ctx) < 0) {
- SDLTest_Log("Could not load GLES2 functions\n");
++ SDL_Log("Could not load GLES2 functions\n");
+ quit(2);
+ return 0;
}
- texture = SDL_GL_LoadTexture(surface, texcoords);
- SDL_FreeSurface(surface);
- /* Loop, drawing and checking events */
- InitGL(640, 480);
- if (InitShaders()) {
- SDL_Log("Shaders supported, press SPACE to cycle them.\n");
+
+
+ if (state->render_flags & SDL_RENDERER_PRESENTVSYNC) {
+ SDL_GL_SetSwapInterval(1);
} else {
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Shaders not supported!\n");
+ SDL_GL_SetSwapInterval(0);
}
- done = 0;
- while ( ! done ) {
- DrawGLScene(window, texture, texcoords);
-
- /* This could go in a separate function */
- { SDL_Event event;
- while ( SDL_PollEvent(&event) ) {
- if ( event.type == SDL_QUIT ) {
- done = 1;
- }
- if ( event.type == SDL_KEYDOWN ) {
- if ( event.key.keysym.sym == SDLK_SPACE ) {
- current_shader = (current_shader + 1) % NUM_SHADERS;
- }
- if ( event.key.keysym.sym == SDLK_ESCAPE ) {
- done = 1;
- }
- }
- }
+
+ SDL_GetCurrentDisplayMode(0, &mode);
- SDLTest_Log("Screen bpp: %d\n", SDL_BITSPERPIXEL(mode.format));
- SDLTest_Log("\n");
- SDLTest_Log("Vendor : %s\n", ctx.glGetString(GL_VENDOR));
- SDLTest_Log("Renderer : %s\n", ctx.glGetString(GL_RENDERER));
- SDLTest_Log("Version : %s\n", ctx.glGetString(GL_VERSION));
- SDLTest_Log("Extensions : %s\n", ctx.glGetString(GL_EXTENSIONS));
- SDLTest_Log("\n");
++ SDL_Log("Screen bpp: %d\n", SDL_BITSPERPIXEL(mode.format));
++ SDL_Log("\n");
++ SDL_Log("Vendor : %s\n", ctx.glGetString(GL_VENDOR));
++ SDL_Log("Renderer : %s\n", ctx.glGetString(GL_RENDERER));
++ SDL_Log("Version : %s\n", ctx.glGetString(GL_VERSION));
++ SDL_Log("Extensions : %s\n", ctx.glGetString(GL_EXTENSIONS));
++ SDL_Log("\n");
+
+ status = SDL_GL_GetAttribute(SDL_GL_RED_SIZE, &value);
+ if (!status) {
- SDLTest_Log("SDL_GL_RED_SIZE: requested %d, got %d\n", 5, value);
++ SDL_Log("SDL_GL_RED_SIZE: requested %d, got %d\n", 5, value);
+ } else {
- SDLTest_Log( "Failed to get SDL_GL_RED_SIZE: %s\n",
++ SDL_Log( "Failed to get SDL_GL_RED_SIZE: %s\n",
+ SDL_GetError());
+ }
+ status = SDL_GL_GetAttribute(SDL_GL_GREEN_SIZE, &value);
+ if (!status) {
- SDLTest_Log("SDL_GL_GREEN_SIZE: requested %d, got %d\n", 5, value);
++ SDL_Log("SDL_GL_GREEN_SIZE: requested %d, got %d\n", 5, value);
+ } else {
- SDLTest_Log( "Failed to get SDL_GL_GREEN_SIZE: %s\n",
++ SDL_Log( "Failed to get SDL_GL_GREEN_SIZE: %s\n",
+ SDL_GetError());
+ }
+ status = SDL_GL_GetAttribute(SDL_GL_BLUE_SIZE, &value);
+ if (!status) {
- SDLTest_Log("SDL_GL_BLUE_SIZE: requested %d, got %d\n", 5, value);
++ SDL_Log("SDL_GL_BLUE_SIZE: requested %d, got %d\n", 5, value);
+ } else {
- SDLTest_Log( "Failed to get SDL_GL_BLUE_SIZE: %s\n",
++ SDL_Log( "Failed to get SDL_GL_BLUE_SIZE: %s\n",
+ SDL_GetError());
+ }
+ status = SDL_GL_GetAttribute(SDL_GL_DEPTH_SIZE, &value);
+ if (!status) {
- SDLTest_Log("SDL_GL_DEPTH_SIZE: requested %d, got %d\n", depth, value);
++ SDL_Log("SDL_GL_DEPTH_SIZE: requested %d, got %d\n", depth, value);
+ } else {
- SDLTest_Log( "Failed to get SDL_GL_DEPTH_SIZE: %s\n",
++ SDL_Log( "Failed to get SDL_GL_DEPTH_SIZE: %s\n",
+ SDL_GetError());
+ }
+ if (fsaa) {
+ status = SDL_GL_GetAttribute(SDL_GL_MULTISAMPLEBUFFERS, &value);
+ if (!status) {
- SDLTest_Log("SDL_GL_MULTISAMPLEBUFFERS: requested 1, got %d\n", value);
++ SDL_Log("SDL_GL_MULTISAMPLEBUFFERS: requested 1, got %d\n", value);
+ } else {
- SDLTest_Log( "Failed to get SDL_GL_MULTISAMPLEBUFFERS: %s\n",
++ SDL_Log( "Failed to get SDL_GL_MULTISAMPLEBUFFERS: %s\n",
+ SDL_GetError());
+ }
+ status = SDL_GL_GetAttribute(SDL_GL_MULTISAMPLESAMPLES, &value);
+ if (!status) {
- SDLTest_Log("SDL_GL_MULTISAMPLESAMPLES: requested %d, got %d\n", fsaa,
++ SDL_Log("SDL_GL_MULTISAMPLESAMPLES: requested %d, got %d\n", fsaa,
+ value);
+ } else {
- SDLTest_Log( "Failed to get SDL_GL_MULTISAMPLESAMPLES: %s\n",
++ SDL_Log( "Failed to get SDL_GL_MULTISAMPLESAMPLES: %s\n",
+ SDL_GetError());
}
}
- QuitShaders();
- SDL_Quit();
- return 1;
+ if (accel) {
+ status = SDL_GL_GetAttribute(SDL_GL_ACCELERATED_VISUAL, &value);
+ if (!status) {
- SDLTest_Log("SDL_GL_ACCELERATED_VISUAL: requested 1, got %d\n", value);
++ SDL_Log("SDL_GL_ACCELERATED_VISUAL: requested 1, got %d\n", value);
+ } else {
- SDLTest_Log( "Failed to get SDL_GL_ACCELERATED_VISUAL: %s\n",
++ SDL_Log( "Failed to get SDL_GL_ACCELERATED_VISUAL: %s\n",
+ SDL_GetError());
+ }
+ }
+
- datas = SDL_calloc(state->num_windows, sizeof(shader_data));
++ datas = (shader_data *)SDL_calloc(state->num_windows, sizeof(shader_data));
+
+ /* Set rendering settings for each context */
+ for (i = 0; i < state->num_windows; ++i) {
+
+ int w, h;
+ status = SDL_GL_MakeCurrent(state->windows[i], context[i]);
+ if (status) {
- SDLTest_Log("SDL_GL_MakeCurrent(): %s\n", SDL_GetError());
++ SDL_Log("SDL_GL_MakeCurrent(): %s\n", SDL_GetError());
+
+ /* Continue for next window */
+ continue;
+ }
+ SDL_GL_GetDrawableSize(state->windows[i], &w, &h);
+ ctx.glViewport(0, 0, w, h);
+
+ data = &datas[i];
+ data->angle_x = 0; data->angle_y = 0; data->angle_z = 0;
+
+ /* Shader Initialization */
+ process_shader(&data->shader_vert, _shader_vert_src, GL_VERTEX_SHADER);
+ process_shader(&data->shader_frag, _shader_frag_src, GL_FRAGMENT_SHADER);
+
+ /* Create shader_program (ready to attach shaders) */
+ data->shader_program = GL_CHECK(ctx.glCreateProgram());
+
+ /* Attach shaders and link shader_program */
+ GL_CHECK(ctx.glAttachShader(data->shader_program, data->shader_vert));
+ GL_CHECK(ctx.glAttachShader(data->shader_program, data->shader_frag));
+ GL_CHECK(ctx.glLinkProgram(data->shader_program));
+
+ /* Get attribute locations of non-fixed attributes like color and texture coordinates. */
+ data->attr_position = GL_CHECK(ctx.glGetAttribLocation(data->shader_program, "av4position"));
+ data->attr_color = GL_CHECK(ctx.glGetAttribLocation(data->shader_program, "av3color"));
+
+ /* Get uniform locations */
+ data->attr_mvp = GL_CHECK(ctx.glGetUniformLocation(data->shader_program, "mvp"));
+
+ GL_CHECK(ctx.glUseProgram(data->shader_program));
+
+ /* Enable attributes for position, color and texture coordinates etc. */
+ GL_CHECK(ctx.glEnableVertexAttribArray(data->attr_position));
+ GL_CHECK(ctx.glEnableVertexAttribArray(data->attr_color));
+
+ /* Populate attributes for position, color and texture coordinates etc. */
+ GL_CHECK(ctx.glVertexAttribPointer(data->attr_position, 3, GL_FLOAT, GL_FALSE, 0, _vertices));
+ GL_CHECK(ctx.glVertexAttribPointer(data->attr_color, 3, GL_FLOAT, GL_FALSE, 0, _colors));
+
+ GL_CHECK(ctx.glEnable(GL_CULL_FACE));
+ GL_CHECK(ctx.glEnable(GL_DEPTH_TEST));
+ }
+
+ /* Main render loop */
+ frames = 0;
+ then = SDL_GetTicks();
+ done = 0;
+
+#ifdef __EMSCRIPTEN__
+ emscripten_set_main_loop(loop, 0, 1);
+#else
+ while (!done) {
+ loop();
+ }
+#endif
+
+ /* Print out some timing information */
+ now = SDL_GetTicks();
+ if (now > then) {
- SDLTest_Log("%2.2f frames per second\n",
++ SDL_Log("%2.2f frames per second\n",
+ ((double) frames * 1000) / (now - then));
+ }
+#if !defined(__ANDROID__) && !defined(__NACL__)
+ quit(0);
+#endif
+ return 0;
}
-#else /* HAVE_OPENGL */
+#else /* HAVE_OPENGLES2 */
int
main(int argc, char *argv[])
{
- SDLTest_Log("No OpenGL ES support on this system\n");
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "No OpenGL support on this system\n");
++ SDL_Log("No OpenGL ES support on this system\n");
return 1;
}
SDL_RenderPresent(renderer);
}
- int SDL_main(int argc,char** argv)
-
+ int main(int argc,char** argv)
{
Uint8 num_pictures;
LoadedPicture* pictures;
SDL_SetWindowSize(window,texture_dimensions.w,texture_dimensions.h);
SDL_SetWindowShape(window,pictures[current_picture].surface,&pictures[current_picture].mode);
while(should_exit == 0) {
- event_pending = SDL_PollEvent(&event);
- if(event_pending == 1) {
+ while (SDL_PollEvent(&event)) {
if(event.type == SDL_KEYDOWN) {
button_down = 1;
- if(event.key.keysym.sym == SDLK_ESCAPE) {
+ if(event.key.keysym.sym == SDLK_ESCAPE || event.key.keysym.sym == 0) {
should_exit = 1;
break;
}
SDL_RenderDrawLine(renderer, 0, 1, 0, viewport.h-2);
SDL_RenderDrawLine(renderer, viewport.w-1, 1, viewport.w-1, viewport.h-2);
- SDL_Rect rect[2];
- rect[0].x = 0;
- rect[0].y = 0;
- rect[0].w = 100;
- rect[0].h = 100;
- rect[1].x = 200;
- rect[1].y = 200;
- rect[1].w = 100;
- rect[1].h = 100;
- SDL_SetRenderDrawColor(renderer, 0x00, 0xFF, 0x00, 0xFF);
- SDL_RenderDrawRects(renderer,rect, 2);
+
/* Test fill and copy */
SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF);
temp.x = 1;
}
#endif
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int i;
Uint32 then, now, frames;
quit(2);
}
- if(SDL_RenderTargetSupported(state->renderers[0]) == SDL_FALSE)
- {
- SDLTest_Log(SDL_LOG_CATEGORY_APPLICATION, "SDL_RenderTarget is not support!\n");
- }
- else
- {
- SDL_Texture* renderTargetTexture = SDL_GetRenderTarget(state->renderers[0]);
- if(renderTargetTexture == NULL)
- {
- SDLTest_Log(SDL_LOG_CATEGORY_APPLICATION, "renderTargetTexture is NULL!\n");
- }
- }
+
- int render_width, render_height;
- SDL_RenderGetLogicalSize(state->renderers[0], &render_width, &render_height);
- SDLTest_Log(SDL_LOG_CATEGORY_APPLICATION, "Render Logical size is %d * %d", render_width, render_height);
+
- if(SDL_RenderIsClipEnabled(state->renderers[0]) == SDL_FALSE)
- {
- SDLTest_Log(SDL_LOG_CATEGORY_APPLICATION, "SDL_RenderIsClipEnabled is not support!\n");
- }
+
+
/* Allocate memory for the sprite info */
positions = (SDL_Rect *) SDL_malloc(num_sprites * sizeof(SDL_Rect));
velocities = (SDL_Rect *) SDL_malloc(num_sprites * sizeof(SDL_Rect));
}
#endif
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
SDL_Window *window;
int i;
}
#endif
}
-
int
- SDL_main(int argc, char **argv)
+ main(int argc, char **argv)
{
SDL_Window *window;
SDL_RWops *handle;
}
/* load the moose images */
- handle = SDL_RWFromFile("moose.dat", "rb");
+ handle = SDL_RWFromFile("res/moose.dat", "rb");
if (handle == NULL) {
- SDLTest_LogError(SDL_LOG_CATEGORY_APPLICATION, "Can't find the file moose.dat !\n");
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Can't find the file moose.dat !\n");
quit(2);
}
SDL_RWread(handle, MooseFrames, MOOSEFRAME_SIZE, MOOSEFRAMES_COUNT);
alive = 0;
quit(0);
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
SDL_Thread *thread;
static Uint32 SDLCALL
callback(Uint32 interval, void *param)
{
- SDLTest_Log("Timer %d : param = %d\n", interval, (int) (uintptr_t) param);
+ SDL_Log("Timer %d : param = %d\n", interval, (int) (uintptr_t) param);
return interval;
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int i, desired;
SDL_TimerID t1, t2, t3;
#include "SDL.h"
#include "SDL_revision.h"
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
SDL_version compiled;
SDL_version linked;
}
#endif
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
int i;
Uint32 then, now, frames;
return 0;
}
-
int
- SDL_main(int argc, char *argv[])
+ main(int argc, char *argv[])
{
SDL_Thread *threads[NUMTHREADS];
int i;