Support Universal Windows Platform (UWP): - Windows 10 App - Windows Phone - Xbox Onepull/410/head
@ -0,0 +1,174 @@ | |||
| |||
#include "pch.h" | |||
#include "app.h" | |||
#include "raylib.h" | |||
using namespace Windows::ApplicationModel::Core; | |||
using namespace Windows::ApplicationModel::Activation; | |||
using namespace Windows::UI::Core; | |||
using namespace Windows::UI::Input; | |||
using namespace Windows::Foundation; | |||
using namespace Windows::Foundation::Collections; | |||
using namespace Windows::Graphics::Display; | |||
using namespace Microsoft::WRL; | |||
using namespace Platform; | |||
using namespace raylibUWP; | |||
// Helper to convert a length in device-independent pixels (DIPs) to a length in physical pixels. | |||
inline float ConvertDipsToPixels(float dips, float dpi) | |||
{ | |||
static const float dipsPerInch = 96.0f; | |||
return floor(dips * dpi / dipsPerInch + 0.5f); // Round to nearest integer. | |||
} | |||
// Implementation of the IFrameworkViewSource interface, necessary to run our app. | |||
ref class SimpleApplicationSource sealed : Windows::ApplicationModel::Core::IFrameworkViewSource | |||
{ | |||
public: | |||
virtual Windows::ApplicationModel::Core::IFrameworkView^ CreateView() | |||
{ | |||
return ref new App(); | |||
} | |||
}; | |||
// The main function creates an IFrameworkViewSource for our app, and runs the app. | |||
[Platform::MTAThread] | |||
int main(Platform::Array<Platform::String^>^) | |||
{ | |||
auto simpleApplicationSource = ref new SimpleApplicationSource(); | |||
CoreApplication::Run(simpleApplicationSource); | |||
return 0; | |||
} | |||
App::App() : | |||
mWindowClosed(false), | |||
mWindowVisible(true) | |||
{ | |||
} | |||
// The first method called when the IFrameworkView is being created. | |||
void App::Initialize(CoreApplicationView^ applicationView) | |||
{ | |||
// Register event handlers for app lifecycle. This example includes Activated, so that we | |||
// can make the CoreWindow active and start rendering on the window. | |||
applicationView->Activated += ref new TypedEventHandler<CoreApplicationView^, IActivatedEventArgs^>(this, &App::OnActivated); | |||
// Logic for other event handlers could go here. | |||
// Information about the Suspending and Resuming event handlers can be found here: | |||
// http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh994930.aspx | |||
CoreApplication::Resuming += ref new EventHandler<Platform::Object^>(this, &App::OnResuming); | |||
} | |||
// Called when the CoreWindow object is created (or re-created). | |||
void App::SetWindow(CoreWindow^ window) | |||
{ | |||
window->SizeChanged += ref new TypedEventHandler<CoreWindow^, WindowSizeChangedEventArgs^>(this, &App::OnWindowSizeChanged); | |||
window->VisibilityChanged += ref new TypedEventHandler<CoreWindow^, VisibilityChangedEventArgs^>(this, &App::OnVisibilityChanged); | |||
window->Closed += ref new TypedEventHandler<CoreWindow^, CoreWindowEventArgs^>(this, &App::OnWindowClosed); | |||
DisplayInformation^ currentDisplayInformation = DisplayInformation::GetForCurrentView(); | |||
currentDisplayInformation->DpiChanged += ref new TypedEventHandler<DisplayInformation^, Object^>(this, &App::OnDpiChanged); | |||
currentDisplayInformation->OrientationChanged += ref new TypedEventHandler<DisplayInformation^, Object^>(this, &App::OnOrientationChanged); | |||
// The CoreWindow has been created, so EGL can be initialized. | |||
InitWindow(800, 450, (EGLNativeWindowType)window); | |||
} | |||
// Initializes scene resources | |||
void App::Load(Platform::String^ entryPoint) | |||
{ | |||
// InitWindow() --> rlglInit() | |||
} | |||
// This method is called after the window becomes active. | |||
void App::Run() | |||
{ | |||
while (!mWindowClosed) | |||
{ | |||
if (mWindowVisible) | |||
{ | |||
// Update | |||
// Draw | |||
BeginDrawing(); | |||
ClearBackground(RAYWHITE); | |||
DrawRectangle(100, 100, 400, 100, RED); | |||
DrawLine(0, 0, GetScreenWidth(), GetScreenHeight(), BLUE); | |||
EndDrawing(); | |||
CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent); | |||
} | |||
else | |||
{ | |||
CoreWindow::GetForCurrentThread()->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessOneAndAllPending); | |||
} | |||
} | |||
CloseWindow(); | |||
} | |||
// Terminate events do not cause Uninitialize to be called. It will be called if your IFrameworkView | |||
// class is torn down while the app is in the foreground. | |||
void App::Uninitialize() | |||
{ | |||
// CloseWindow(); | |||
} | |||
// Application lifecycle event handler. | |||
void App::OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) | |||
{ | |||
// Run() won't start until the CoreWindow is activated. | |||
CoreWindow::GetForCurrentThread()->Activate(); | |||
} | |||
void App::OnResuming(Object^ sender, Object^ args) | |||
{ | |||
// Restore any data or state that was unloaded on suspend. By default, data | |||
// and state are persisted when resuming from suspend. Note that this event | |||
// does not occur if the app was previously terminated. | |||
} | |||
void App::OnWindowSizeChanged(CoreWindow^ sender, WindowSizeChangedEventArgs^ args) | |||
{ | |||
// TODO: Update window and render area size | |||
//m_deviceResources->SetLogicalSize(Size(sender->Bounds.Width, sender->Bounds.Height)); | |||
//m_main->UpdateForWindowSizeChange(); | |||
} | |||
// Window event handlers. | |||
void App::OnVisibilityChanged(CoreWindow^ sender, VisibilityChangedEventArgs^ args) | |||
{ | |||
mWindowVisible = args->Visible; | |||
// raylib core has the variable windowMinimized to register state, | |||
// it should be modifyed by this event... | |||
} | |||
void App::OnWindowClosed(CoreWindow^ sender, CoreWindowEventArgs^ args) | |||
{ | |||
mWindowClosed = true; | |||
// raylib core has the variable windowShouldClose to register state, | |||
// it should be modifyed by this event... | |||
} | |||
void App::OnDpiChanged(DisplayInformation^ sender, Object^ args) | |||
{ | |||
//m_deviceResources->SetDpi(sender->LogicalDpi); | |||
//m_main->UpdateForWindowSizeChange(); | |||
} | |||
void App::OnOrientationChanged(DisplayInformation^ sender, Object^ args) | |||
{ | |||
//m_deviceResources->SetCurrentOrientation(sender->CurrentOrientation); | |||
//m_main->UpdateForWindowSizeChange(); | |||
} |
@ -0,0 +1,41 @@ | |||
#pragma once | |||
#include <string> | |||
#include "pch.h" | |||
namespace raylibUWP | |||
{ | |||
ref class App sealed : public Windows::ApplicationModel::Core::IFrameworkView | |||
{ | |||
public: | |||
App(); | |||
// IFrameworkView Methods. | |||
virtual void Initialize(Windows::ApplicationModel::Core::CoreApplicationView^ applicationView); | |||
virtual void SetWindow(Windows::UI::Core::CoreWindow^ window); | |||
virtual void Load(Platform::String^ entryPoint); | |||
virtual void Run(); | |||
virtual void Uninitialize(); | |||
protected: | |||
// Application lifecycle event handlers. | |||
void OnActivated(Windows::ApplicationModel::Core::CoreApplicationView^ applicationView, Windows::ApplicationModel::Activation::IActivatedEventArgs^ args); | |||
void OnResuming(Platform::Object^ sender, Platform::Object^ args); | |||
// Window event handlers. | |||
void OnWindowSizeChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ args); | |||
void OnVisibilityChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::VisibilityChangedEventArgs^ args); | |||
void OnWindowClosed(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::CoreWindowEventArgs^ args); | |||
// DisplayInformation event handlers. | |||
void OnDpiChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args); | |||
void OnOrientationChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args); | |||
private: | |||
bool mWindowClosed; | |||
bool mWindowVisible; | |||
}; | |||
} |
@ -0,0 +1,48 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<Package | |||
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" | |||
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" | |||
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" | |||
IgnorableNamespaces="uap mp"> | |||
<Identity | |||
Name="b842558c-c034-4e4b-9457-a286f26e83cc" | |||
Publisher="CN=Alumno" | |||
Version="1.0.0.0" /> | |||
<mp:PhoneIdentity PhoneProductId="56d2ca94-c361-4e9f-9a33-bacd751552fa" PhonePublisherId="00000000-0000-0000-0000-000000000000"/> | |||
<Properties> | |||
<DisplayName>UWP_OpenGLES2</DisplayName> | |||
<PublisherDisplayName>Alumno</PublisherDisplayName> | |||
<Logo>Assets\StoreLogo.png</Logo> | |||
</Properties> | |||
<Dependencies> | |||
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" /> | |||
</Dependencies> | |||
<Resources> | |||
<Resource Language="x-generate"/> | |||
</Resources> | |||
<Applications> | |||
<Application Id="App" | |||
Executable="$targetnametoken$.exe" | |||
EntryPoint="UWP_OpenGLES2_WindowsUniversal_Application.App"> | |||
<uap:VisualElements | |||
DisplayName="UWP_OpenGLES2" | |||
Square150x150Logo="Assets\Logo.png" | |||
Square44x44Logo="Assets\SmallLogo.png" | |||
Description="UWP_OpenGLES2" | |||
BackgroundColor="#464646"> | |||
<uap:SplashScreen Image="Assets\SplashScreen.png" /> | |||
</uap:VisualElements> | |||
</Application> | |||
</Applications> | |||
<Capabilities> | |||
<Capability Name="internetClient" /> | |||
</Capabilities> | |||
</Package> |
@ -0,0 +1,4 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<packages> | |||
<package id="ANGLE.WindowsStore" version="2.1.2" targetFramework="native" /> | |||
</packages> |
@ -0,0 +1 @@ | |||
#include "pch.h" |
@ -0,0 +1,16 @@ | |||
#pragma once | |||
#include <memory> | |||
#include <wrl.h> | |||
// OpenGL ES includes | |||
#include <GLES2/gl2.h> | |||
#include <GLES2/gl2ext.h> | |||
// EGL includes | |||
#include <EGL/egl.h> | |||
#include <EGL/eglext.h> | |||
#include <EGL/eglplatform.h> | |||
// ANGLE include for Windows Store | |||
#include <angle_windowsstore.h> |
@ -0,0 +1,42 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
<ItemGroup> | |||
<ClCompile Include="App.cpp" /> | |||
<ClCompile Include="pch.cpp" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ClInclude Include="App.h" /> | |||
<ClInclude Include="pch.h" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Image Include="Assets\SmallLogo.scale-100.png"> | |||
<Filter>Assets</Filter> | |||
</Image> | |||
<Image Include="Assets\SplashScreen.scale-100.png"> | |||
<Filter>Assets</Filter> | |||
</Image> | |||
<Image Include="Assets\StoreLogo.scale-100.png"> | |||
<Filter>Assets</Filter> | |||
</Image> | |||
<Image Include="Assets\WideLogo.scale-100.png"> | |||
<Filter>Assets</Filter> | |||
</Image> | |||
<Image Include="Assets\Logo.scale-100.png"> | |||
<Filter>Assets</Filter> | |||
</Image> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<AppxManifest Include="Package.appxmanifest" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Include="UWP_OpenGLES2_TemporaryKey.pfx" /> | |||
<None Include="packages.config" /> | |||
<None Include="$(angle-BinPath)\libEGL.dll" /> | |||
<None Include="$(angle-BinPath)\libGLESv2.dll" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Filter Include="Assets"> | |||
<UniqueIdentifier>{d16954bb-de54-472b-ac10-ecab10d3fdc8}</UniqueIdentifier> | |||
</Filter> | |||
</ItemGroup> | |||
</Project> |
@ -0,0 +1,4 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||
<PropertyGroup /> | |||
</Project> |
@ -0,0 +1,140 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<Project DefaultTargets="Build" ToolsVersion="14.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="Release|Win32"> | |||
<Configuration>Release</Configuration> | |||
<Platform>Win32</Platform> | |||
</ProjectConfiguration> | |||
<ProjectConfiguration Include="Debug|x64"> | |||
<Configuration>Debug</Configuration> | |||
<Platform>x64</Platform> | |||
</ProjectConfiguration> | |||
<ProjectConfiguration Include="Release|x64"> | |||
<Configuration>Release</Configuration> | |||
<Platform>x64</Platform> | |||
</ProjectConfiguration> | |||
<ProjectConfiguration Include="Debug|ARM"> | |||
<Configuration>Debug</Configuration> | |||
<Platform>ARM</Platform> | |||
</ProjectConfiguration> | |||
<ProjectConfiguration Include="Release|ARM"> | |||
<Configuration>Release</Configuration> | |||
<Platform>ARM</Platform> | |||
</ProjectConfiguration> | |||
</ItemGroup> | |||
<PropertyGroup Label="Globals"> | |||
<ProjectGuid>{b842558c-c034-4e4b-9457-a286f26e83cc}</ProjectGuid> | |||
<RootNamespace>raylibUWP</RootNamespace> | |||
<DefaultLanguage>en-US</DefaultLanguage> | |||
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion> | |||
<AppContainerApplication>true</AppContainerApplication> | |||
<ApplicationType>Windows Store</ApplicationType> | |||
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion> | |||
<WindowsTargetPlatformMinVersion>10.0.10586.0</WindowsTargetPlatformMinVersion> | |||
<ApplicationTypeRevision>10.0</ApplicationTypeRevision> | |||
<ProjectName>raylib.App.UWP</ProjectName> | |||
</PropertyGroup> | |||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | |||
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> | |||
<ConfigurationType>Application</ConfigurationType> | |||
<UseDebugLibraries>true</UseDebugLibraries> | |||
<PlatformToolset>v140</PlatformToolset> | |||
</PropertyGroup> | |||
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> | |||
<ConfigurationType>Application</ConfigurationType> | |||
<UseDebugLibraries>false</UseDebugLibraries> | |||
<WholeProgramOptimization>true</WholeProgramOptimization> | |||
<PlatformToolset>v140</PlatformToolset> | |||
</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> | |||
<PackageCertificateKeyFile>raylib.App.UWP.TemporaryKey.pfx</PackageCertificateKeyFile> | |||
</PropertyGroup> | |||
<ItemDefinitionGroup Condition="'$(Platform)'=='ARM'"> | |||
<Link> | |||
<AdditionalDependencies>mincore.lib; %(AdditionalDependencies)</AdditionalDependencies> | |||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm</AdditionalLibraryDirectories> | |||
</Link> | |||
</ItemDefinitionGroup> | |||
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'"> | |||
<Link> | |||
<AdditionalDependencies>mincore.lib;raylib.lib;%(AdditionalDependencies)</AdditionalDependencies> | |||
<AdditionalLibraryDirectories>$(SolutionDir)raylib\Debug;%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib</AdditionalLibraryDirectories> | |||
</Link> | |||
</ItemDefinitionGroup> | |||
<ItemDefinitionGroup Condition="'$(Platform)'=='x64'"> | |||
<Link> | |||
<AdditionalDependencies>mincore.lib;raylib.lib;%(AdditionalDependencies)</AdditionalDependencies> | |||
<AdditionalLibraryDirectories>C:\Users\Alumno\Downloads\angle\UWP_OpenGLES2\raylib;%(AdditionalLibraryDirectories);$(VCInstallDir)\lib\store\amd64;$(VCInstallDir)\lib\amd64</AdditionalLibraryDirectories> | |||
</Link> | |||
</ItemDefinitionGroup> | |||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'"> | |||
<ClCompile> | |||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> | |||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile> | |||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src;$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> | |||
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings> | |||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | |||
</ClCompile> | |||
</ItemDefinitionGroup> | |||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'"> | |||
<ClCompile> | |||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> | |||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile> | |||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src;$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> | |||
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings> | |||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | |||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Default</CompileAs> | |||
<OmitDefaultLibName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</OmitDefaultLibName> | |||
</ClCompile> | |||
<Link> | |||
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions> | |||
</Link> | |||
</ItemDefinitionGroup> | |||
<ItemGroup> | |||
<Image Include="Assets\Logo.scale-100.png" /> | |||
<Image Include="Assets\SmallLogo.scale-100.png" /> | |||
<Image Include="Assets\StoreLogo.scale-100.png" /> | |||
<Image Include="Assets\SplashScreen.scale-100.png" /> | |||
<Image Include="Assets\WideLogo.scale-100.png" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ClInclude Include="App.h" /> | |||
<ClInclude Include="pch.h" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ClCompile Include="App.cpp" /> | |||
<ClCompile Include="pch.cpp"> | |||
<PrecompiledHeader>Create</PrecompiledHeader> | |||
</ClCompile> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<AppxManifest Include="Package.appxmanifest"> | |||
<SubType>Designer</SubType> | |||
</AppxManifest> | |||
<None Include="raylib.App.UWP.TemporaryKey.pfx" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Include="packages.config" /> | |||
</ItemGroup> | |||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | |||
<ImportGroup Label="ExtensionTargets"> | |||
<Import Project="..\packages\ANGLE.WindowsStore.2.1.2\build\native\ANGLE.WindowsStore.targets" Condition="Exists('..\packages\ANGLE.WindowsStore.2.1.2\build\native\ANGLE.WindowsStore.targets')" /> | |||
</ImportGroup> | |||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | |||
<PropertyGroup> | |||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> | |||
</PropertyGroup> | |||
<Error Condition="!Exists('..\packages\ANGLE.WindowsStore.2.1.2\build\native\ANGLE.WindowsStore.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ANGLE.WindowsStore.2.1.2\build\native\ANGLE.WindowsStore.targets'))" /> | |||
</Target> | |||
</Project> |
@ -0,0 +1,123 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<Project DefaultTargets="Build" ToolsVersion="14.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="Release|Win32"> | |||
<Configuration>Release</Configuration> | |||
<Platform>Win32</Platform> | |||
</ProjectConfiguration> | |||
</ItemGroup> | |||
<PropertyGroup Label="Globals"> | |||
<ProjectGuid>{E89D61AC-55DE-4482-AFD4-DF7242EBC859}</ProjectGuid> | |||
<Keyword>Win32Proj</Keyword> | |||
<RootNamespace>raylib</RootNamespace> | |||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> | |||
</PropertyGroup> | |||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | |||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | |||
<ConfigurationType>StaticLibrary</ConfigurationType> | |||
<UseDebugLibraries>true</UseDebugLibraries> | |||
<PlatformToolset>v140</PlatformToolset> | |||
<CharacterSet>Unicode</CharacterSet> | |||
</PropertyGroup> | |||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | |||
<ConfigurationType>StaticLibrary</ConfigurationType> | |||
<UseDebugLibraries>false</UseDebugLibraries> | |||
<PlatformToolset>v140</PlatformToolset> | |||
<WholeProgramOptimization>true</WholeProgramOptimization> | |||
<CharacterSet>Unicode</CharacterSet> | |||
</PropertyGroup> | |||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> | |||
<ImportGroup Label="ExtensionSettings"> | |||
</ImportGroup> | |||
<ImportGroup Label="Shared"> | |||
</ImportGroup> | |||
<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> | |||
<PropertyGroup Label="UserMacros" /> | |||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | |||
<OutDir>$(SolutionDir)$(ProjectName)\$(Configuration)\</OutDir> | |||
</PropertyGroup> | |||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | |||
<OutDir>$(SolutionDir)$(ProjectName)\$(Configuration)\</OutDir> | |||
<IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\temp</IntDir> | |||
</PropertyGroup> | |||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> | |||
<ClCompile> | |||
<PrecompiledHeader> | |||
</PrecompiledHeader> | |||
<WarningLevel>Level3</WarningLevel> | |||
<Optimization>Disabled</Optimization> | |||
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_ES2;PLATFORM_UWP</PreprocessorDefinitions> | |||
<CompileAs>CompileAsC</CompileAs> | |||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\release\include;$(SolutionDir)..\..\src\external\include\ANGLE</AdditionalIncludeDirectories> | |||
</ClCompile> | |||
<Link> | |||
<SubSystem>Windows</SubSystem> | |||
</Link> | |||
<Lib> | |||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | |||
</Lib> | |||
</ItemDefinitionGroup> | |||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> | |||
<ClCompile> | |||
<WarningLevel>Level3</WarningLevel> | |||
<PrecompiledHeader> | |||
</PrecompiledHeader> | |||
<Optimization>MaxSpeed</Optimization> | |||
<FunctionLevelLinking>true</FunctionLevelLinking> | |||
<IntrinsicFunctions>true</IntrinsicFunctions> | |||
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);GRAPHICS_API_OPENGL_ES2;PLATFORM_UWP</PreprocessorDefinitions> | |||
<AdditionalIncludeDirectories>$(SolutionDir)..\..\src\external\include\ANGLE;$(SolutionDir)..\..\release\include</AdditionalIncludeDirectories> | |||
<CompileAs>CompileAsC</CompileAs> | |||
</ClCompile> | |||
<Link> | |||
<SubSystem>Windows</SubSystem> | |||
<EnableCOMDATFolding>true</EnableCOMDATFolding> | |||
<OptimizeReferences>true</OptimizeReferences> | |||
</Link> | |||
</ItemDefinitionGroup> | |||
<ItemGroup> | |||
<Text Include="ReadMe.txt" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ClCompile Include="..\..\..\src\audio.c" /> | |||
<ClCompile Include="..\..\..\src\core.c" /> | |||
<ClCompile Include="..\..\..\src\external\stb_vorbis.c" /> | |||
<ClCompile Include="..\..\..\src\models.c" /> | |||
<ClCompile Include="..\..\..\src\rlgl.c" /> | |||
<ClCompile Include="..\..\..\src\shapes.c" /> | |||
<ClCompile Include="..\..\..\src\text.c" /> | |||
<ClCompile Include="..\..\..\src\textures.c" /> | |||
<ClCompile Include="..\..\..\src\utils.c" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ClInclude Include="..\..\..\src\camera.h" /> | |||
<ClInclude Include="..\..\..\src\external\glad.h" /> | |||
<ClInclude Include="..\..\..\src\external\jar_mod.h" /> | |||
<ClInclude Include="..\..\..\src\external\jar_xm.h" /> | |||
<ClInclude Include="..\..\..\src\external\stb_image.h" /> | |||
<ClInclude Include="..\..\..\src\external\stb_image_resize.h" /> | |||
<ClInclude Include="..\..\..\src\external\stb_image_write.h" /> | |||
<ClInclude Include="..\..\..\src\external\stb_rect_pack.h" /> | |||
<ClInclude Include="..\..\..\src\external\stb_truetype.h" /> | |||
<ClInclude Include="..\..\..\src\external\stb_vorbis.h" /> | |||
<ClInclude Include="..\..\..\src\gestures.h" /> | |||
<ClInclude Include="..\..\..\src\raylib.h" /> | |||
<ClInclude Include="..\..\..\src\raymath.h" /> | |||
<ClInclude Include="..\..\..\src\rlgl.h" /> | |||
<ClInclude Include="..\..\..\src\shader_distortion.h" /> | |||
<ClInclude Include="..\..\..\src\shader_standard.h" /> | |||
<ClInclude Include="..\..\..\src\utils.h" /> | |||
</ItemGroup> | |||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | |||
<ImportGroup Label="ExtensionTargets"> | |||
</ImportGroup> | |||
</Project> |
@ -0,0 +1,303 @@ | |||
#ifndef __egl_h_ | |||
#define __egl_h_ 1 | |||
#ifdef __cplusplus | |||
extern "C" { | |||
#endif | |||
/* | |||
** Copyright (c) 2013-2014 The Khronos Group Inc. | |||
** | |||
** Permission is hereby granted, free of charge, to any person obtaining a | |||
** copy of this software and/or associated documentation files (the | |||
** "Materials"), to deal in the Materials without restriction, including | |||
** without limitation the rights to use, copy, modify, merge, publish, | |||
** distribute, sublicense, and/or sell copies of the Materials, and to | |||
** permit persons to whom the Materials are furnished to do so, subject to | |||
** the following conditions: | |||
** | |||
** The above copyright notice and this permission notice shall be included | |||
** in all copies or substantial portions of the Materials. | |||
** | |||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | |||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | |||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | |||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | |||
*/ | |||
/* | |||
** This header is generated from the Khronos OpenGL / OpenGL ES XML | |||
** API Registry. The current version of the Registry, generator scripts | |||
** used to make the header, and the header can be found at | |||
** http://www.opengl.org/registry/ | |||
** | |||
** Khronos $Revision: 29318 $ on $Date: 2015-01-02 03:16:10 -0800 (Fri, 02 Jan 2015) $ | |||
*/ | |||
#include <EGL/eglplatform.h> | |||
/* Generated on date 20150102 */ | |||
/* Generated C header for: | |||
* API: egl | |||
* Versions considered: .* | |||
* Versions emitted: .* | |||
* Default extensions included: None | |||
* Additional extensions included: _nomatch_^ | |||
* Extensions removed: _nomatch_^ | |||
*/ | |||
#ifndef EGL_VERSION_1_0 | |||
#define EGL_VERSION_1_0 1 | |||
typedef unsigned int EGLBoolean; | |||
typedef void *EGLDisplay; | |||
#include <KHR/khrplatform.h> | |||
#include <EGL/eglplatform.h> | |||
typedef void *EGLConfig; | |||
typedef void *EGLSurface; | |||
typedef void *EGLContext; | |||
typedef void (*__eglMustCastToProperFunctionPointerType)(void); | |||
#define EGL_ALPHA_SIZE 0x3021 | |||
#define EGL_BAD_ACCESS 0x3002 | |||
#define EGL_BAD_ALLOC 0x3003 | |||
#define EGL_BAD_ATTRIBUTE 0x3004 | |||
#define EGL_BAD_CONFIG 0x3005 | |||
#define EGL_BAD_CONTEXT 0x3006 | |||
#define EGL_BAD_CURRENT_SURFACE 0x3007 | |||
#define EGL_BAD_DISPLAY 0x3008 | |||
#define EGL_BAD_MATCH 0x3009 | |||
#define EGL_BAD_NATIVE_PIXMAP 0x300A | |||
#define EGL_BAD_NATIVE_WINDOW 0x300B | |||
#define EGL_BAD_PARAMETER 0x300C | |||
#define EGL_BAD_SURFACE 0x300D | |||
#define EGL_BLUE_SIZE 0x3022 | |||
#define EGL_BUFFER_SIZE 0x3020 | |||
#define EGL_CONFIG_CAVEAT 0x3027 | |||
#define EGL_CONFIG_ID 0x3028 | |||
#define EGL_CORE_NATIVE_ENGINE 0x305B | |||
#define EGL_DEPTH_SIZE 0x3025 | |||
#define EGL_DONT_CARE ((EGLint)-1) | |||
#define EGL_DRAW 0x3059 | |||
#define EGL_EXTENSIONS 0x3055 | |||
#define EGL_FALSE 0 | |||
#define EGL_GREEN_SIZE 0x3023 | |||
#define EGL_HEIGHT 0x3056 | |||
#define EGL_LARGEST_PBUFFER 0x3058 | |||
#define EGL_LEVEL 0x3029 | |||
#define EGL_MAX_PBUFFER_HEIGHT 0x302A | |||
#define EGL_MAX_PBUFFER_PIXELS 0x302B | |||
#define EGL_MAX_PBUFFER_WIDTH 0x302C | |||
#define EGL_NATIVE_RENDERABLE 0x302D | |||
#define EGL_NATIVE_VISUAL_ID 0x302E | |||
#define EGL_NATIVE_VISUAL_TYPE 0x302F | |||
#define EGL_NONE 0x3038 | |||
#define EGL_NON_CONFORMANT_CONFIG 0x3051 | |||
#define EGL_NOT_INITIALIZED 0x3001 | |||
#define EGL_NO_CONTEXT ((EGLContext)0) | |||
#define EGL_NO_DISPLAY ((EGLDisplay)0) | |||
#define EGL_NO_SURFACE ((EGLSurface)0) | |||
#define EGL_PBUFFER_BIT 0x0001 | |||
#define EGL_PIXMAP_BIT 0x0002 | |||
#define EGL_READ 0x305A | |||
#define EGL_RED_SIZE 0x3024 | |||
#define EGL_SAMPLES 0x3031 | |||
#define EGL_SAMPLE_BUFFERS 0x3032 | |||
#define EGL_SLOW_CONFIG 0x3050 | |||
#define EGL_STENCIL_SIZE 0x3026 | |||
#define EGL_SUCCESS 0x3000 | |||
#define EGL_SURFACE_TYPE 0x3033 | |||
#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 | |||
#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 | |||
#define EGL_TRANSPARENT_RED_VALUE 0x3037 | |||
#define EGL_TRANSPARENT_RGB 0x3052 | |||
#define EGL_TRANSPARENT_TYPE 0x3034 | |||
#define EGL_TRUE 1 | |||
#define EGL_VENDOR 0x3053 | |||
#define EGL_VERSION 0x3054 | |||
#define EGL_WIDTH 0x3057 | |||
#define EGL_WINDOW_BIT 0x0004 | |||
EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); | |||
EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); | |||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); | |||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list); | |||
EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); | |||
EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void); | |||
EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw); | |||
EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id); | |||
EGLAPI EGLint EGLAPIENTRY eglGetError (void); | |||
EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); | |||
EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine); | |||
#endif /* EGL_VERSION_1_0 */ | |||
#ifndef EGL_VERSION_1_1 | |||
#define EGL_VERSION_1_1 1 | |||
#define EGL_BACK_BUFFER 0x3084 | |||
#define EGL_BIND_TO_TEXTURE_RGB 0x3039 | |||
#define EGL_BIND_TO_TEXTURE_RGBA 0x303A | |||
#define EGL_CONTEXT_LOST 0x300E | |||
#define EGL_MIN_SWAP_INTERVAL 0x303B | |||
#define EGL_MAX_SWAP_INTERVAL 0x303C | |||
#define EGL_MIPMAP_TEXTURE 0x3082 | |||
#define EGL_MIPMAP_LEVEL 0x3083 | |||
#define EGL_NO_TEXTURE 0x305C | |||
#define EGL_TEXTURE_2D 0x305F | |||
#define EGL_TEXTURE_FORMAT 0x3080 | |||
#define EGL_TEXTURE_RGB 0x305D | |||
#define EGL_TEXTURE_RGBA 0x305E | |||
#define EGL_TEXTURE_TARGET 0x3081 | |||
EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval); | |||
#endif /* EGL_VERSION_1_1 */ | |||
#ifndef EGL_VERSION_1_2 | |||
#define EGL_VERSION_1_2 1 | |||
typedef unsigned int EGLenum; | |||
typedef void *EGLClientBuffer; | |||
#define EGL_ALPHA_FORMAT 0x3088 | |||
#define EGL_ALPHA_FORMAT_NONPRE 0x308B | |||
#define EGL_ALPHA_FORMAT_PRE 0x308C | |||
#define EGL_ALPHA_MASK_SIZE 0x303E | |||
#define EGL_BUFFER_PRESERVED 0x3094 | |||
#define EGL_BUFFER_DESTROYED 0x3095 | |||
#define EGL_CLIENT_APIS 0x308D | |||
#define EGL_COLORSPACE 0x3087 | |||
#define EGL_COLORSPACE_sRGB 0x3089 | |||
#define EGL_COLORSPACE_LINEAR 0x308A | |||
#define EGL_COLOR_BUFFER_TYPE 0x303F | |||
#define EGL_CONTEXT_CLIENT_TYPE 0x3097 | |||
#define EGL_DISPLAY_SCALING 10000 | |||
#define EGL_HORIZONTAL_RESOLUTION 0x3090 | |||
#define EGL_LUMINANCE_BUFFER 0x308F | |||
#define EGL_LUMINANCE_SIZE 0x303D | |||
#define EGL_OPENGL_ES_BIT 0x0001 | |||
#define EGL_OPENVG_BIT 0x0002 | |||
#define EGL_OPENGL_ES_API 0x30A0 | |||
#define EGL_OPENVG_API 0x30A1 | |||
#define EGL_OPENVG_IMAGE 0x3096 | |||
#define EGL_PIXEL_ASPECT_RATIO 0x3092 | |||
#define EGL_RENDERABLE_TYPE 0x3040 | |||
#define EGL_RENDER_BUFFER 0x3086 | |||
#define EGL_RGB_BUFFER 0x308E | |||
#define EGL_SINGLE_BUFFER 0x3085 | |||
#define EGL_SWAP_BEHAVIOR 0x3093 | |||
#define EGL_UNKNOWN ((EGLint)-1) | |||
#define EGL_VERTICAL_RESOLUTION 0x3091 | |||
EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api); | |||
EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void); | |||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void); | |||
#endif /* EGL_VERSION_1_2 */ | |||
#ifndef EGL_VERSION_1_3 | |||
#define EGL_VERSION_1_3 1 | |||
#define EGL_CONFORMANT 0x3042 | |||
#define EGL_CONTEXT_CLIENT_VERSION 0x3098 | |||
#define EGL_MATCH_NATIVE_PIXMAP 0x3041 | |||
#define EGL_OPENGL_ES2_BIT 0x0004 | |||
#define EGL_VG_ALPHA_FORMAT 0x3088 | |||
#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B | |||
#define EGL_VG_ALPHA_FORMAT_PRE 0x308C | |||
#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 | |||
#define EGL_VG_COLORSPACE 0x3087 | |||
#define EGL_VG_COLORSPACE_sRGB 0x3089 | |||
#define EGL_VG_COLORSPACE_LINEAR 0x308A | |||
#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 | |||
#endif /* EGL_VERSION_1_3 */ | |||
#ifndef EGL_VERSION_1_4 | |||
#define EGL_VERSION_1_4 1 | |||
#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0) | |||
#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 | |||
#define EGL_MULTISAMPLE_RESOLVE 0x3099 | |||
#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A | |||
#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B | |||
#define EGL_OPENGL_API 0x30A2 | |||
#define EGL_OPENGL_BIT 0x0008 | |||
#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 | |||
EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void); | |||
#endif /* EGL_VERSION_1_4 */ | |||
#ifndef EGL_VERSION_1_5 | |||
#define EGL_VERSION_1_5 1 | |||
typedef void *EGLSync; | |||
typedef intptr_t EGLAttrib; | |||
typedef khronos_utime_nanoseconds_t EGLTime; | |||
typedef void *EGLImage; | |||
#define EGL_CONTEXT_MAJOR_VERSION 0x3098 | |||
#define EGL_CONTEXT_MINOR_VERSION 0x30FB | |||
#define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD | |||
#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD | |||
#define EGL_NO_RESET_NOTIFICATION 0x31BE | |||
#define EGL_LOSE_CONTEXT_ON_RESET 0x31BF | |||
#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001 | |||
#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002 | |||
#define EGL_CONTEXT_OPENGL_DEBUG 0x31B0 | |||
#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1 | |||
#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2 | |||
#define EGL_OPENGL_ES3_BIT 0x00000040 | |||
#define EGL_CL_EVENT_HANDLE 0x309C | |||
#define EGL_SYNC_CL_EVENT 0x30FE | |||
#define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF | |||
#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0 | |||
#define EGL_SYNC_TYPE 0x30F7 | |||
#define EGL_SYNC_STATUS 0x30F1 | |||
#define EGL_SYNC_CONDITION 0x30F8 | |||
#define EGL_SIGNALED 0x30F2 | |||
#define EGL_UNSIGNALED 0x30F3 | |||
#define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001 | |||
#define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull | |||
#define EGL_TIMEOUT_EXPIRED 0x30F5 | |||
#define EGL_CONDITION_SATISFIED 0x30F6 | |||
#define EGL_NO_SYNC ((EGLSync)0) | |||
#define EGL_SYNC_FENCE 0x30F9 | |||
#define EGL_GL_COLORSPACE 0x309D | |||
#define EGL_GL_COLORSPACE_SRGB 0x3089 | |||
#define EGL_GL_COLORSPACE_LINEAR 0x308A | |||
#define EGL_GL_RENDERBUFFER 0x30B9 | |||
#define EGL_GL_TEXTURE_2D 0x30B1 | |||
#define EGL_GL_TEXTURE_LEVEL 0x30BC | |||
#define EGL_GL_TEXTURE_3D 0x30B2 | |||
#define EGL_GL_TEXTURE_ZOFFSET 0x30BD | |||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8 | |||
#define EGL_IMAGE_PRESERVED 0x30D2 | |||
#define EGL_NO_IMAGE ((EGLImage)0) | |||
EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync); | |||
EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value); | |||
EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image); | |||
EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list); | |||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list); | |||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags); | |||
#endif /* EGL_VERSION_1_5 */ | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif |
@ -0,0 +1,780 @@ | |||
#ifndef __eglext_h_ | |||
#define __eglext_h_ 1 | |||
#ifdef __cplusplus | |||
extern "C" { | |||
#endif | |||
/* | |||
** Copyright (c) 2013-2014 The Khronos Group Inc. | |||
** | |||
** Permission is hereby granted, free of charge, to any person obtaining a | |||
** copy of this software and/or associated documentation files (the | |||
** "Materials"), to deal in the Materials without restriction, including | |||
** without limitation the rights to use, copy, modify, merge, publish, | |||
** distribute, sublicense, and/or sell copies of the Materials, and to | |||
** permit persons to whom the Materials are furnished to do so, subject to | |||
** the following conditions: | |||
** | |||
** The above copyright notice and this permission notice shall be included | |||
** in all copies or substantial portions of the Materials. | |||
** | |||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | |||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | |||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | |||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | |||
*/ | |||
/* | |||
** This header is generated from the Khronos OpenGL / OpenGL ES XML | |||
** API Registry. The current version of the Registry, generator scripts | |||
** used to make the header, and the header can be found at | |||
** http://www.opengl.org/registry/ | |||
** | |||
** Khronos $Revision: 27018 $ on $Date: 2014-06-10 08:06:12 -0700 (Tue, 10 Jun 2014) $ | |||
*/ | |||
#include <EGL/eglplatform.h> | |||
#define EGL_EGLEXT_VERSION 20140610 | |||
/* Generated C header for: | |||
* API: egl | |||
* Versions considered: .* | |||
* Versions emitted: _nomatch_^ | |||
* Default extensions included: egl | |||
* Additional extensions included: _nomatch_^ | |||
* Extensions removed: _nomatch_^ | |||
*/ | |||
#ifndef EGL_KHR_cl_event | |||
#define EGL_KHR_cl_event 1 | |||
#define EGL_CL_EVENT_HANDLE_KHR 0x309C | |||
#define EGL_SYNC_CL_EVENT_KHR 0x30FE | |||
#define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF | |||
#endif /* EGL_KHR_cl_event */ | |||
#ifndef EGL_KHR_cl_event2 | |||
#define EGL_KHR_cl_event2 1 | |||
typedef void *EGLSyncKHR; | |||
typedef intptr_t EGLAttribKHR; | |||
typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list); | |||
#endif | |||
#endif /* EGL_KHR_cl_event2 */ | |||
#ifndef EGL_KHR_client_get_all_proc_addresses | |||
#define EGL_KHR_client_get_all_proc_addresses 1 | |||
#endif /* EGL_KHR_client_get_all_proc_addresses */ | |||
#ifndef EGL_KHR_config_attribs | |||
#define EGL_KHR_config_attribs 1 | |||
#define EGL_CONFORMANT_KHR 0x3042 | |||
#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 | |||
#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 | |||
#endif /* EGL_KHR_config_attribs */ | |||
#ifndef EGL_KHR_create_context | |||
#define EGL_KHR_create_context 1 | |||
#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098 | |||
#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB | |||
#define EGL_CONTEXT_FLAGS_KHR 0x30FC | |||
#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD | |||
#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD | |||
#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE | |||
#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF | |||
#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001 | |||
#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002 | |||
#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004 | |||
#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001 | |||
#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002 | |||
#define EGL_OPENGL_ES3_BIT_KHR 0x00000040 | |||
#endif /* EGL_KHR_create_context */ | |||
#ifndef EGL_KHR_fence_sync | |||
#define EGL_KHR_fence_sync 1 | |||
#ifdef KHRONOS_SUPPORT_INT64 | |||
#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 | |||
#define EGL_SYNC_CONDITION_KHR 0x30F8 | |||
#define EGL_SYNC_FENCE_KHR 0x30F9 | |||
#endif /* KHRONOS_SUPPORT_INT64 */ | |||
#endif /* EGL_KHR_fence_sync */ | |||
#ifndef EGL_KHR_get_all_proc_addresses | |||
#define EGL_KHR_get_all_proc_addresses 1 | |||
#endif /* EGL_KHR_get_all_proc_addresses */ | |||
#ifndef EGL_KHR_gl_colorspace | |||
#define EGL_KHR_gl_colorspace 1 | |||
#define EGL_GL_COLORSPACE_KHR 0x309D | |||
#define EGL_GL_COLORSPACE_SRGB_KHR 0x3089 | |||
#define EGL_GL_COLORSPACE_LINEAR_KHR 0x308A | |||
#endif /* EGL_KHR_gl_colorspace */ | |||
#ifndef EGL_KHR_gl_renderbuffer_image | |||
#define EGL_KHR_gl_renderbuffer_image 1 | |||
#define EGL_GL_RENDERBUFFER_KHR 0x30B9 | |||
#endif /* EGL_KHR_gl_renderbuffer_image */ | |||
#ifndef EGL_KHR_gl_texture_2D_image | |||
#define EGL_KHR_gl_texture_2D_image 1 | |||
#define EGL_GL_TEXTURE_2D_KHR 0x30B1 | |||
#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC | |||
#endif /* EGL_KHR_gl_texture_2D_image */ | |||
#ifndef EGL_KHR_gl_texture_3D_image | |||
#define EGL_KHR_gl_texture_3D_image 1 | |||
#define EGL_GL_TEXTURE_3D_KHR 0x30B2 | |||
#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD | |||
#endif /* EGL_KHR_gl_texture_3D_image */ | |||
#ifndef EGL_KHR_gl_texture_cubemap_image | |||
#define EGL_KHR_gl_texture_cubemap_image 1 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 | |||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 | |||
#endif /* EGL_KHR_gl_texture_cubemap_image */ | |||
#ifndef EGL_KHR_image | |||
#define EGL_KHR_image 1 | |||
typedef void *EGLImageKHR; | |||
#define EGL_NATIVE_PIXMAP_KHR 0x30B0 | |||
#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) | |||
typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); | |||
#endif | |||
#endif /* EGL_KHR_image */ | |||
#ifndef EGL_KHR_image_base | |||
#define EGL_KHR_image_base 1 | |||
#define EGL_IMAGE_PRESERVED_KHR 0x30D2 | |||
#endif /* EGL_KHR_image_base */ | |||
#ifndef EGL_KHR_image_pixmap | |||
#define EGL_KHR_image_pixmap 1 | |||
#endif /* EGL_KHR_image_pixmap */ | |||
#ifndef EGL_KHR_lock_surface | |||
#define EGL_KHR_lock_surface 1 | |||
#define EGL_READ_SURFACE_BIT_KHR 0x0001 | |||
#define EGL_WRITE_SURFACE_BIT_KHR 0x0002 | |||
#define EGL_LOCK_SURFACE_BIT_KHR 0x0080 | |||
#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 | |||
#define EGL_MATCH_FORMAT_KHR 0x3043 | |||
#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 | |||
#define EGL_FORMAT_RGB_565_KHR 0x30C1 | |||
#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 | |||
#define EGL_FORMAT_RGBA_8888_KHR 0x30C3 | |||
#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 | |||
#define EGL_LOCK_USAGE_HINT_KHR 0x30C5 | |||
#define EGL_BITMAP_POINTER_KHR 0x30C6 | |||
#define EGL_BITMAP_PITCH_KHR 0x30C7 | |||
#define EGL_BITMAP_ORIGIN_KHR 0x30C8 | |||
#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 | |||
#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA | |||
#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB | |||
#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC | |||
#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD | |||
#define EGL_LOWER_LEFT_KHR 0x30CE | |||
#define EGL_UPPER_LEFT_KHR 0x30CF | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface); | |||
#endif | |||
#endif /* EGL_KHR_lock_surface */ | |||
#ifndef EGL_KHR_lock_surface2 | |||
#define EGL_KHR_lock_surface2 1 | |||
#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110 | |||
#endif /* EGL_KHR_lock_surface2 */ | |||
#ifndef EGL_KHR_lock_surface3 | |||
#define EGL_KHR_lock_surface3 1 | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value); | |||
#endif | |||
#endif /* EGL_KHR_lock_surface3 */ | |||
#ifndef EGL_KHR_platform_android | |||
#define EGL_KHR_platform_android 1 | |||
#define EGL_PLATFORM_ANDROID_KHR 0x3141 | |||
#endif /* EGL_KHR_platform_android */ | |||
#ifndef EGL_KHR_platform_gbm | |||
#define EGL_KHR_platform_gbm 1 | |||
#define EGL_PLATFORM_GBM_KHR 0x31D7 | |||
#endif /* EGL_KHR_platform_gbm */ | |||
#ifndef EGL_KHR_platform_wayland | |||
#define EGL_KHR_platform_wayland 1 | |||
#define EGL_PLATFORM_WAYLAND_KHR 0x31D8 | |||
#endif /* EGL_KHR_platform_wayland */ | |||
#ifndef EGL_KHR_platform_x11 | |||
#define EGL_KHR_platform_x11 1 | |||
#define EGL_PLATFORM_X11_KHR 0x31D5 | |||
#define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6 | |||
#endif /* EGL_KHR_platform_x11 */ | |||
#ifndef EGL_KHR_reusable_sync | |||
#define EGL_KHR_reusable_sync 1 | |||
typedef khronos_utime_nanoseconds_t EGLTimeKHR; | |||
#ifdef KHRONOS_SUPPORT_INT64 | |||
#define EGL_SYNC_STATUS_KHR 0x30F1 | |||
#define EGL_SIGNALED_KHR 0x30F2 | |||
#define EGL_UNSIGNALED_KHR 0x30F3 | |||
#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 | |||
#define EGL_CONDITION_SATISFIED_KHR 0x30F6 | |||
#define EGL_SYNC_TYPE_KHR 0x30F7 | |||
#define EGL_SYNC_REUSABLE_KHR 0x30FA | |||
#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 | |||
#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull | |||
#define EGL_NO_SYNC_KHR ((EGLSyncKHR)0) | |||
typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); | |||
typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync); | |||
EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); | |||
#endif | |||
#endif /* KHRONOS_SUPPORT_INT64 */ | |||
#endif /* EGL_KHR_reusable_sync */ | |||
#ifndef EGL_KHR_stream | |||
#define EGL_KHR_stream 1 | |||
typedef void *EGLStreamKHR; | |||
typedef khronos_uint64_t EGLuint64KHR; | |||
#ifdef KHRONOS_SUPPORT_INT64 | |||
#define EGL_NO_STREAM_KHR ((EGLStreamKHR)0) | |||
#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210 | |||
#define EGL_PRODUCER_FRAME_KHR 0x3212 | |||
#define EGL_CONSUMER_FRAME_KHR 0x3213 | |||
#define EGL_STREAM_STATE_KHR 0x3214 | |||
#define EGL_STREAM_STATE_CREATED_KHR 0x3215 | |||
#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216 | |||
#define EGL_STREAM_STATE_EMPTY_KHR 0x3217 | |||
#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218 | |||
#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219 | |||
#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A | |||
#define EGL_BAD_STREAM_KHR 0x321B | |||
#define EGL_BAD_STATE_KHR 0x321C | |||
typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); | |||
#endif | |||
#endif /* KHRONOS_SUPPORT_INT64 */ | |||
#endif /* EGL_KHR_stream */ | |||
#ifndef EGL_KHR_stream_consumer_gltexture | |||
#define EGL_KHR_stream_consumer_gltexture 1 | |||
#ifdef EGL_KHR_stream | |||
#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream); | |||
#endif | |||
#endif /* EGL_KHR_stream */ | |||
#endif /* EGL_KHR_stream_consumer_gltexture */ | |||
#ifndef EGL_KHR_stream_cross_process_fd | |||
#define EGL_KHR_stream_cross_process_fd 1 | |||
typedef int EGLNativeFileDescriptorKHR; | |||
#ifdef EGL_KHR_stream | |||
#define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1)) | |||
typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); | |||
typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream); | |||
EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); | |||
#endif | |||
#endif /* EGL_KHR_stream */ | |||
#endif /* EGL_KHR_stream_cross_process_fd */ | |||
#ifndef EGL_KHR_stream_fifo | |||
#define EGL_KHR_stream_fifo 1 | |||
#ifdef EGL_KHR_stream | |||
#define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC | |||
#define EGL_STREAM_TIME_NOW_KHR 0x31FD | |||
#define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE | |||
#define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); | |||
#endif | |||
#endif /* EGL_KHR_stream */ | |||
#endif /* EGL_KHR_stream_fifo */ | |||
#ifndef EGL_KHR_stream_producer_aldatalocator | |||
#define EGL_KHR_stream_producer_aldatalocator 1 | |||
#ifdef EGL_KHR_stream | |||
#endif /* EGL_KHR_stream */ | |||
#endif /* EGL_KHR_stream_producer_aldatalocator */ | |||
#ifndef EGL_KHR_stream_producer_eglsurface | |||
#define EGL_KHR_stream_producer_eglsurface 1 | |||
#ifdef EGL_KHR_stream | |||
#define EGL_STREAM_BIT_KHR 0x0800 | |||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); | |||
#endif | |||
#endif /* EGL_KHR_stream */ | |||
#endif /* EGL_KHR_stream_producer_eglsurface */ | |||
#ifndef EGL_KHR_surfaceless_context | |||
#define EGL_KHR_surfaceless_context 1 | |||
#endif /* EGL_KHR_surfaceless_context */ | |||
#ifndef EGL_KHR_vg_parent_image | |||
#define EGL_KHR_vg_parent_image 1 | |||
#define EGL_VG_PARENT_IMAGE_KHR 0x30BA | |||
#endif /* EGL_KHR_vg_parent_image */ | |||
#ifndef EGL_KHR_wait_sync | |||
#define EGL_KHR_wait_sync 1 | |||
typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); | |||
#endif | |||
#endif /* EGL_KHR_wait_sync */ | |||
#ifndef EGL_ANDROID_blob_cache | |||
#define EGL_ANDROID_blob_cache 1 | |||
typedef khronos_ssize_t EGLsizeiANDROID; | |||
typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize); | |||
typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize); | |||
typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); | |||
#endif | |||
#endif /* EGL_ANDROID_blob_cache */ | |||
#ifndef EGL_ANDROID_framebuffer_target | |||
#define EGL_ANDROID_framebuffer_target 1 | |||
#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147 | |||
#endif /* EGL_ANDROID_framebuffer_target */ | |||
#ifndef EGL_ANDROID_image_native_buffer | |||
#define EGL_ANDROID_image_native_buffer 1 | |||
#define EGL_NATIVE_BUFFER_ANDROID 0x3140 | |||
#endif /* EGL_ANDROID_image_native_buffer */ | |||
#ifndef EGL_ANDROID_native_fence_sync | |||
#define EGL_ANDROID_native_fence_sync 1 | |||
#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 | |||
#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 | |||
#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 | |||
#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1 | |||
typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync); | |||
#endif | |||
#endif /* EGL_ANDROID_native_fence_sync */ | |||
#ifndef EGL_ANDROID_recordable | |||
#define EGL_ANDROID_recordable 1 | |||
#define EGL_RECORDABLE_ANDROID 0x3142 | |||
#endif /* EGL_ANDROID_recordable */ | |||
#ifndef EGL_ANGLE_d3d_share_handle_client_buffer | |||
#define EGL_ANGLE_d3d_share_handle_client_buffer 1 | |||
#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 | |||
#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */ | |||
#ifndef EGL_ANGLE_window_fixed_size | |||
#define EGL_ANGLE_window_fixed_size 1 | |||
#define EGL_FIXED_SIZE_ANGLE 0x3201 | |||
#endif /* EGL_ANGLE_window_fixed_size */ | |||
#ifndef EGL_ANGLE_query_surface_pointer | |||
#define EGL_ANGLE_query_surface_pointer 1 | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); | |||
#endif | |||
#endif /* EGL_ANGLE_query_surface_pointer */ | |||
#ifndef EGL_ANGLE_software_display | |||
#define EGL_ANGLE_software_display 1 | |||
#define EGL_SOFTWARE_DISPLAY_ANGLE ((EGLNativeDisplayType)-1) | |||
#endif /* EGL_ANGLE_software_display */ | |||
#ifndef EGL_ANGLE_direct3d_display | |||
#define EGL_ANGLE_direct3d_display 1 | |||
#define EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE ((EGLNativeDisplayType)-2) | |||
#define EGL_D3D11_ONLY_DISPLAY_ANGLE ((EGLNativeDisplayType)-3) | |||
#endif /* EGL_ANGLE_direct3d_display */ | |||
#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle | |||
#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1 | |||
#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */ | |||
#ifndef EGL_ANGLE_surface_d3d_render_to_back_buffer | |||
#define EGL_ANGLE_surface_d3d_render_to_back_buffer 1 | |||
#define EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER 0x320B | |||
#define EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER 0x320C | |||
#endif /* EGL_ANGLE_surface_d3d_render_to_back_buffer */ | |||
#ifndef EGL_ANGLE_platform_angle | |||
#define EGL_ANGLE_platform_angle 1 | |||
#define EGL_PLATFORM_ANGLE_ANGLE 0x3202 | |||
#define EGL_PLATFORM_ANGLE_TYPE_ANGLE 0x3203 | |||
#define EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE 0x3204 | |||
#define EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE 0x3205 | |||
#define EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE 0x3206 | |||
#endif /* EGL_ANGLE_platform_angle */ | |||
#ifndef EGL_ANGLE_platform_angle_d3d | |||
#define EGL_ANGLE_platform_angle_d3d 1 | |||
#define EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE 0x3207 | |||
#define EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE 0x3208 | |||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE 0x3209 | |||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE 0x320A | |||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE 0x320B | |||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_REFERENCE_ANGLE 0x320C | |||
#define EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE 0x320F | |||
#endif /* EGL_ANGLE_platform_angle_d3d */ | |||
#ifndef EGL_ANGLE_platform_angle_opengl | |||
#define EGL_ANGLE_platform_angle_opengl 1 | |||
#define EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE 0x320D | |||
#define EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE 0x320E | |||
#endif /* EGL_ANGLE_platform_angle_opengl */ | |||
#ifndef EGL_ANGLE_device_d3d | |||
#define EGL_ANGLE_device_d3d 1 | |||
#define EGL_D3D9_DEVICE_ANGLE 0x33A0 | |||
#define EGL_D3D11_DEVICE_ANGLE 0x33A1 | |||
#endif /* EGL_ANGLE_device_d3d */ | |||
#ifndef EGL_ARM_pixmap_multisample_discard | |||
#define EGL_ARM_pixmap_multisample_discard 1 | |||
#define EGL_DISCARD_SAMPLES_ARM 0x3286 | |||
#endif /* EGL_ARM_pixmap_multisample_discard */ | |||
#ifndef EGL_EXT_buffer_age | |||
#define EGL_EXT_buffer_age 1 | |||
#define EGL_BUFFER_AGE_EXT 0x313D | |||
#endif /* EGL_EXT_buffer_age */ | |||
#ifndef EGL_EXT_client_extensions | |||
#define EGL_EXT_client_extensions 1 | |||
#endif /* EGL_EXT_client_extensions */ | |||
#ifndef EGL_EXT_create_context_robustness | |||
#define EGL_EXT_create_context_robustness 1 | |||
#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF | |||
#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138 | |||
#define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE | |||
#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF | |||
#endif /* EGL_EXT_create_context_robustness */ | |||
#ifndef EGL_EXT_device_base | |||
#define EGL_EXT_device_base 1 | |||
typedef void *EGLDeviceEXT; | |||
#define EGL_NO_DEVICE_EXT ((EGLDeviceEXT)(0)) | |||
#define EGL_BAD_DEVICE_EXT 0x322B | |||
#define EGL_DEVICE_EXT 0x322C | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value); | |||
typedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value); | |||
EGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); | |||
#endif | |||
#endif /* EGL_EXT_device_base */ | |||
#ifndef EGL_EXT_device_query | |||
#define EGL_EXT_device_query 1 | |||
#endif /* EGL_EXT_device_query */ | |||
#ifndef EGL_EXT_image_dma_buf_import | |||
#define EGL_EXT_image_dma_buf_import 1 | |||
#define EGL_LINUX_DMA_BUF_EXT 0x3270 | |||
#define EGL_LINUX_DRM_FOURCC_EXT 0x3271 | |||
#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272 | |||
#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273 | |||
#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274 | |||
#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275 | |||
#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276 | |||
#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277 | |||
#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278 | |||
#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279 | |||
#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A | |||
#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B | |||
#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C | |||
#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D | |||
#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E | |||
#define EGL_ITU_REC601_EXT 0x327F | |||
#define EGL_ITU_REC709_EXT 0x3280 | |||
#define EGL_ITU_REC2020_EXT 0x3281 | |||
#define EGL_YUV_FULL_RANGE_EXT 0x3282 | |||
#define EGL_YUV_NARROW_RANGE_EXT 0x3283 | |||
#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284 | |||
#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285 | |||
#endif /* EGL_EXT_image_dma_buf_import */ | |||
#ifndef EGL_EXT_multiview_window | |||
#define EGL_EXT_multiview_window 1 | |||
#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134 | |||
#endif /* EGL_EXT_multiview_window */ | |||
#ifndef EGL_EXT_platform_base | |||
#define EGL_EXT_platform_base 1 | |||
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list); | |||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list); | |||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list); | |||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list); | |||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list); | |||
#endif | |||
#endif /* EGL_EXT_platform_base */ | |||
#ifndef EGL_EXT_platform_device | |||
#define EGL_EXT_platform_device 1 | |||
#define EGL_PLATFORM_DEVICE_EXT 0x313F | |||
#endif /* EGL_EXT_platform_device */ | |||
#ifndef EGL_EXT_platform_wayland | |||
#define EGL_EXT_platform_wayland 1 | |||
#define EGL_PLATFORM_WAYLAND_EXT 0x31D8 | |||
#endif /* EGL_EXT_platform_wayland */ | |||
#ifndef EGL_EXT_platform_x11 | |||
#define EGL_EXT_platform_x11 1 | |||
#define EGL_PLATFORM_X11_EXT 0x31D5 | |||
#define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6 | |||
#endif /* EGL_EXT_platform_x11 */ | |||
#ifndef EGL_EXT_protected_surface | |||
#define EGL_EXT_protected_surface 1 | |||
#define EGL_PROTECTED_CONTENT_EXT 0x32C0 | |||
#endif /* EGL_EXT_protected_surface */ | |||
#ifndef EGL_EXT_swap_buffers_with_damage | |||
#define EGL_EXT_swap_buffers_with_damage 1 | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); | |||
#endif | |||
#endif /* EGL_EXT_swap_buffers_with_damage */ | |||
#ifndef EGL_HI_clientpixmap | |||
#define EGL_HI_clientpixmap 1 | |||
struct EGLClientPixmapHI { | |||
void *pData; | |||
EGLint iWidth; | |||
EGLint iHeight; | |||
EGLint iStride; | |||
}; | |||
#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74 | |||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap); | |||
#endif | |||
#endif /* EGL_HI_clientpixmap */ | |||
#ifndef EGL_HI_colorformats | |||
#define EGL_HI_colorformats 1 | |||
#define EGL_COLOR_FORMAT_HI 0x8F70 | |||
#define EGL_COLOR_RGB_HI 0x8F71 | |||
#define EGL_COLOR_RGBA_HI 0x8F72 | |||
#define EGL_COLOR_ARGB_HI 0x8F73 | |||
#endif /* EGL_HI_colorformats */ | |||
#ifndef EGL_IMG_context_priority | |||
#define EGL_IMG_context_priority 1 | |||
#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100 | |||
#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101 | |||
#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102 | |||
#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103 | |||
#endif /* EGL_IMG_context_priority */ | |||
#ifndef EGL_MESA_drm_image | |||
#define EGL_MESA_drm_image 1 | |||
#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 | |||
#define EGL_DRM_BUFFER_USE_MESA 0x31D1 | |||
#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 | |||
#define EGL_DRM_BUFFER_MESA 0x31D3 | |||
#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 | |||
#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 | |||
#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 | |||
typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); | |||
#endif | |||
#endif /* EGL_MESA_drm_image */ | |||
#ifndef EGL_MESA_platform_gbm | |||
#define EGL_MESA_platform_gbm 1 | |||
#define EGL_PLATFORM_GBM_MESA 0x31D7 | |||
#endif /* EGL_MESA_platform_gbm */ | |||
#ifndef EGL_NOK_swap_region | |||
#define EGL_NOK_swap_region 1 | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); | |||
#endif | |||
#endif /* EGL_NOK_swap_region */ | |||
#ifndef EGL_NOK_swap_region2 | |||
#define EGL_NOK_swap_region2 1 | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); | |||
#endif | |||
#endif /* EGL_NOK_swap_region2 */ | |||
#ifndef EGL_NOK_texture_from_pixmap | |||
#define EGL_NOK_texture_from_pixmap 1 | |||
#define EGL_Y_INVERTED_NOK 0x307F | |||
#endif /* EGL_NOK_texture_from_pixmap */ | |||
#ifndef EGL_NV_3dvision_surface | |||
#define EGL_NV_3dvision_surface 1 | |||
#define EGL_AUTO_STEREO_NV 0x3136 | |||
#endif /* EGL_NV_3dvision_surface */ | |||
#ifndef EGL_NV_coverage_sample | |||
#define EGL_NV_coverage_sample 1 | |||
#define EGL_COVERAGE_BUFFERS_NV 0x30E0 | |||
#define EGL_COVERAGE_SAMPLES_NV 0x30E1 | |||
#endif /* EGL_NV_coverage_sample */ | |||
#ifndef EGL_NV_coverage_sample_resolve | |||
#define EGL_NV_coverage_sample_resolve 1 | |||
#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131 | |||
#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132 | |||
#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133 | |||
#endif /* EGL_NV_coverage_sample_resolve */ | |||
#ifndef EGL_NV_depth_nonlinear | |||
#define EGL_NV_depth_nonlinear 1 | |||
#define EGL_DEPTH_ENCODING_NV 0x30E2 | |||
#define EGL_DEPTH_ENCODING_NONE_NV 0 | |||
#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3 | |||
#endif /* EGL_NV_depth_nonlinear */ | |||
#ifndef EGL_NV_native_query | |||
#define EGL_NV_native_query 1 | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); | |||
#endif | |||
#endif /* EGL_NV_native_query */ | |||
#ifndef EGL_NV_post_convert_rounding | |||
#define EGL_NV_post_convert_rounding 1 | |||
#endif /* EGL_NV_post_convert_rounding */ | |||
#ifndef EGL_NV_post_sub_buffer | |||
#define EGL_NV_post_sub_buffer 1 | |||
#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); | |||
#endif | |||
#endif /* EGL_NV_post_sub_buffer */ | |||
#ifndef EGL_NV_stream_sync | |||
#define EGL_NV_stream_sync 1 | |||
#define EGL_SYNC_NEW_FRAME_NV 0x321F | |||
typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list); | |||
#endif | |||
#endif /* EGL_NV_stream_sync */ | |||
#ifndef EGL_NV_sync | |||
#define EGL_NV_sync 1 | |||
typedef void *EGLSyncNV; | |||
typedef khronos_utime_nanoseconds_t EGLTimeNV; | |||
#ifdef KHRONOS_SUPPORT_INT64 | |||
#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6 | |||
#define EGL_SYNC_STATUS_NV 0x30E7 | |||
#define EGL_SIGNALED_NV 0x30E8 | |||
#define EGL_UNSIGNALED_NV 0x30E9 | |||
#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001 | |||
#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull | |||
#define EGL_ALREADY_SIGNALED_NV 0x30EA | |||
#define EGL_TIMEOUT_EXPIRED_NV 0x30EB | |||
#define EGL_CONDITION_SATISFIED_NV 0x30EC | |||
#define EGL_SYNC_TYPE_NV 0x30ED | |||
#define EGL_SYNC_CONDITION_NV 0x30EE | |||
#define EGL_SYNC_FENCE_NV 0x30EF | |||
#define EGL_NO_SYNC_NV ((EGLSyncNV)0) | |||
typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync); | |||
typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode); | |||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync); | |||
EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode); | |||
EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value); | |||
#endif | |||
#endif /* KHRONOS_SUPPORT_INT64 */ | |||
#endif /* EGL_NV_sync */ | |||
#ifndef EGL_NV_system_time | |||
#define EGL_NV_system_time 1 | |||
typedef khronos_utime_nanoseconds_t EGLuint64NV; | |||
#ifdef KHRONOS_SUPPORT_INT64 | |||
typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void); | |||
typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void); | |||
#ifdef EGL_EGLEXT_PROTOTYPES | |||
EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void); | |||
EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void); | |||
#endif | |||
#endif /* KHRONOS_SUPPORT_INT64 */ | |||
#endif /* EGL_NV_system_time */ | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif |
@ -0,0 +1,151 @@ | |||
#ifndef __eglplatform_h_ | |||
#define __eglplatform_h_ | |||
/* | |||
** Copyright (c) 2007-2013 The Khronos Group Inc. | |||
** | |||
** Permission is hereby granted, free of charge, to any person obtaining a | |||
** copy of this software and/or associated documentation files (the | |||
** "Materials"), to deal in the Materials without restriction, including | |||
** without limitation the rights to use, copy, modify, merge, publish, | |||
** distribute, sublicense, and/or sell copies of the Materials, and to | |||
** permit persons to whom the Materials are furnished to do so, subject to | |||
** the following conditions: | |||
** | |||
** The above copyright notice and this permission notice shall be included | |||
** in all copies or substantial portions of the Materials. | |||
** | |||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | |||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | |||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | |||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | |||
*/ | |||
/* Platform-specific types and definitions for egl.h | |||
* $Revision: 23432 $ on $Date: 2013-10-09 00:57:24 -0700 (Wed, 09 Oct 2013) $ | |||
* | |||
* Adopters may modify khrplatform.h and this file to suit their platform. | |||
* You are encouraged to submit all modifications to the Khronos group so that | |||
* they can be included in future versions of this file. Please submit changes | |||
* by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) | |||
* by filing a bug against product "EGL" component "Registry". | |||
*/ | |||
#include <KHR/khrplatform.h> | |||
/* Macros used in EGL function prototype declarations. | |||
* | |||
* EGL functions should be prototyped as: | |||
* | |||
* EGLAPI return-type EGLAPIENTRY eglFunction(arguments); | |||
* typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments); | |||
* | |||
* KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h | |||
*/ | |||
#ifndef EGLAPI | |||
#define EGLAPI KHRONOS_APICALL | |||
#endif | |||
#ifndef EGLAPIENTRY | |||
#define EGLAPIENTRY KHRONOS_APIENTRY | |||
#endif | |||
#define EGLAPIENTRYP EGLAPIENTRY* | |||
/* The types NativeDisplayType, NativeWindowType, and NativePixmapType | |||
* are aliases of window-system-dependent types, such as X Display * or | |||
* Windows Device Context. They must be defined in platform-specific | |||
* code below. The EGL-prefixed versions of Native*Type are the same | |||
* types, renamed in EGL 1.3 so all types in the API start with "EGL". | |||
* | |||
* Khronos STRONGLY RECOMMENDS that you use the default definitions | |||
* provided below, since these changes affect both binary and source | |||
* portability of applications using EGL running on different EGL | |||
* implementations. | |||
*/ | |||
#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ | |||
#ifndef WIN32_LEAN_AND_MEAN | |||
#define WIN32_LEAN_AND_MEAN 1 | |||
#endif | |||
//#include <windows.h> | |||
// raylib edit!!! | |||
typedef void *PVOID; // PVOID is a pointer to any type. This type is declared in WinNT.h | |||
typedef PVOID HANDLE; // HANDLE is handle to an object. This type is declared in WinNT.h | |||
typedef HANDLE HWND; // HWND is a handle to a window. This type is declared in WinDef.h | |||
typedef HANDLE HDC; // HDC is a handle to a device context (DC). This type is declared in WinDef.h | |||
typedef HANDLE HBITMAP; // HBITMAP is a handle to a bitmap. This type is declared in WinDef.h | |||
// HDC, HBITMAP and HWND are actually pointers to void. You can cast a long to a HWND like this: HWND h = (HWND)my_long_var; | |||
// but very careful of what information is stored in my_long_var. You have to make sure that you have a pointer in there. | |||
typedef HDC EGLNativeDisplayType; | |||
typedef HBITMAP EGLNativePixmapType; | |||
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) /* Windows Desktop */ | |||
typedef HWND EGLNativeWindowType; | |||
#else /* Windows Store */ | |||
#include <inspectable.h> | |||
typedef IInspectable* EGLNativeWindowType; | |||
#endif | |||
#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */ | |||
typedef int EGLNativeDisplayType; | |||
typedef void *EGLNativeWindowType; | |||
typedef void *EGLNativePixmapType; | |||
#elif defined(__ANDROID__) || defined(ANDROID) | |||
#include <android/native_window.h> | |||
struct egl_native_pixmap_t; | |||
typedef struct ANativeWindow* EGLNativeWindowType; | |||
typedef struct egl_native_pixmap_t* EGLNativePixmapType; | |||
typedef void* EGLNativeDisplayType; | |||
#elif defined(__unix__) | |||
/* X11 (tentative) */ | |||
#include <X11/Xlib.h> | |||
#include <X11/Xutil.h> | |||
typedef Display *EGLNativeDisplayType; | |||
typedef Pixmap EGLNativePixmapType; | |||
typedef Window EGLNativeWindowType; | |||
#elif defined(__GNUC__) && ( defined(__APPLE_CPP__) || defined(__APPLE_CC__) || defined(__MACOS_CLASSIC__) ) | |||
// TODO(jmadill): native implementation for OSX | |||
typedef void *EGLNativeDisplayType; | |||
typedef void *EGLNativePixmapType; | |||
typedef void *EGLNativeWindowType; | |||
#else | |||
#error "Platform not recognized" | |||
#endif | |||
/* EGL 1.2 types, renamed for consistency in EGL 1.3 */ | |||
typedef EGLNativeDisplayType NativeDisplayType; | |||
typedef EGLNativePixmapType NativePixmapType; | |||
typedef EGLNativeWindowType NativeWindowType; | |||
/* Define EGLint. This must be a signed integral type large enough to contain | |||
* all legal attribute names and values passed into and out of EGL, whether | |||
* their type is boolean, bitmask, enumerant (symbolic constant), integer, | |||
* handle, or other. While in general a 32-bit integer will suffice, if | |||
* handles are 64 bit types, then EGLint should be defined as a signed 64-bit | |||
* integer type. | |||
*/ | |||
typedef khronos_int32_t EGLint; | |||
#endif /* __eglplatform_h */ |
@ -0,0 +1,620 @@ | |||
#ifndef __gl2_h_ | |||
#define __gl2_h_ | |||
/* $Revision: 20555 $ on $Date:: 2013-02-12 14:32:47 -0800 #$ */ | |||
#include <GLES2/gl2platform.h> | |||
#ifdef __cplusplus | |||
extern "C" { | |||
#endif | |||
/* | |||
* This document is licensed under the SGI Free Software B License Version | |||
* 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . | |||
*/ | |||
/*------------------------------------------------------------------------- | |||
* Data type definitions | |||
*-----------------------------------------------------------------------*/ | |||
typedef void GLvoid; | |||
typedef char GLchar; | |||
typedef unsigned int GLenum; | |||
typedef unsigned char GLboolean; | |||
typedef unsigned int GLbitfield; | |||
typedef khronos_int8_t GLbyte; | |||
typedef short GLshort; | |||
typedef int GLint; | |||
typedef int GLsizei; | |||
typedef khronos_uint8_t GLubyte; | |||
typedef unsigned short GLushort; | |||
typedef unsigned int GLuint; | |||
typedef khronos_float_t GLfloat; | |||
typedef khronos_float_t GLclampf; | |||
typedef khronos_int32_t GLfixed; | |||
/* GL types for handling large vertex buffer objects */ | |||
typedef khronos_intptr_t GLintptr; | |||
typedef khronos_ssize_t GLsizeiptr; | |||
/* OpenGL ES core versions */ | |||
#define GL_ES_VERSION_2_0 1 | |||
/* ClearBufferMask */ | |||
#define GL_DEPTH_BUFFER_BIT 0x00000100 | |||
#define GL_STENCIL_BUFFER_BIT 0x00000400 | |||
#define GL_COLOR_BUFFER_BIT 0x00004000 | |||
/* Boolean */ | |||
#define GL_FALSE 0 | |||
#define GL_TRUE 1 | |||
/* BeginMode */ | |||
#define GL_POINTS 0x0000 | |||
#define GL_LINES 0x0001 | |||
#define GL_LINE_LOOP 0x0002 | |||
#define GL_LINE_STRIP 0x0003 | |||
#define GL_TRIANGLES 0x0004 | |||
#define GL_TRIANGLE_STRIP 0x0005 | |||
#define GL_TRIANGLE_FAN 0x0006 | |||
/* AlphaFunction (not supported in ES20) */ | |||
/* GL_NEVER */ | |||
/* GL_LESS */ | |||
/* GL_EQUAL */ | |||
/* GL_LEQUAL */ | |||
/* GL_GREATER */ | |||
/* GL_NOTEQUAL */ | |||
/* GL_GEQUAL */ | |||
/* GL_ALWAYS */ | |||
/* BlendingFactorDest */ | |||
#define GL_ZERO 0 | |||
#define GL_ONE 1 | |||
#define GL_SRC_COLOR 0x0300 | |||
#define GL_ONE_MINUS_SRC_COLOR 0x0301 | |||
#define GL_SRC_ALPHA 0x0302 | |||
#define GL_ONE_MINUS_SRC_ALPHA 0x0303 | |||
#define GL_DST_ALPHA 0x0304 | |||
#define GL_ONE_MINUS_DST_ALPHA 0x0305 | |||
/* BlendingFactorSrc */ | |||
/* GL_ZERO */ | |||
/* GL_ONE */ | |||
#define GL_DST_COLOR 0x0306 | |||
#define GL_ONE_MINUS_DST_COLOR 0x0307 | |||
#define GL_SRC_ALPHA_SATURATE 0x0308 | |||
/* GL_SRC_ALPHA */ | |||
/* GL_ONE_MINUS_SRC_ALPHA */ | |||
/* GL_DST_ALPHA */ | |||
/* GL_ONE_MINUS_DST_ALPHA */ | |||
/* BlendEquationSeparate */ | |||
#define GL_FUNC_ADD 0x8006 | |||
#define GL_BLEND_EQUATION 0x8009 | |||
#define GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */ | |||
#define GL_BLEND_EQUATION_ALPHA 0x883D | |||
/* BlendSubtract */ | |||
#define GL_FUNC_SUBTRACT 0x800A | |||
#define GL_FUNC_REVERSE_SUBTRACT 0x800B | |||
/* Separate Blend Functions */ | |||
#define GL_BLEND_DST_RGB 0x80C8 | |||
#define GL_BLEND_SRC_RGB 0x80C9 | |||
#define GL_BLEND_DST_ALPHA 0x80CA | |||
#define GL_BLEND_SRC_ALPHA 0x80CB | |||
#define GL_CONSTANT_COLOR 0x8001 | |||
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 | |||
#define GL_CONSTANT_ALPHA 0x8003 | |||
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 | |||
#define GL_BLEND_COLOR 0x8005 | |||
/* Buffer Objects */ | |||
#define GL_ARRAY_BUFFER 0x8892 | |||
#define GL_ELEMENT_ARRAY_BUFFER 0x8893 | |||
#define GL_ARRAY_BUFFER_BINDING 0x8894 | |||
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 | |||
#define GL_STREAM_DRAW 0x88E0 | |||
#define GL_STATIC_DRAW 0x88E4 | |||
#define GL_DYNAMIC_DRAW 0x88E8 | |||
#define GL_BUFFER_SIZE 0x8764 | |||
#define GL_BUFFER_USAGE 0x8765 | |||
#define GL_CURRENT_VERTEX_ATTRIB 0x8626 | |||
/* CullFaceMode */ | |||
#define GL_FRONT 0x0404 | |||
#define GL_BACK 0x0405 | |||
#define GL_FRONT_AND_BACK 0x0408 | |||
/* DepthFunction */ | |||
/* GL_NEVER */ | |||
/* GL_LESS */ | |||
/* GL_EQUAL */ | |||
/* GL_LEQUAL */ | |||
/* GL_GREATER */ | |||
/* GL_NOTEQUAL */ | |||
/* GL_GEQUAL */ | |||
/* GL_ALWAYS */ | |||
/* EnableCap */ | |||
#define GL_TEXTURE_2D 0x0DE1 | |||
#define GL_CULL_FACE 0x0B44 | |||
#define GL_BLEND 0x0BE2 | |||
#define GL_DITHER 0x0BD0 | |||
#define GL_STENCIL_TEST 0x0B90 | |||
#define GL_DEPTH_TEST 0x0B71 | |||
#define GL_SCISSOR_TEST 0x0C11 | |||
#define GL_POLYGON_OFFSET_FILL 0x8037 | |||
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E | |||
#define GL_SAMPLE_COVERAGE 0x80A0 | |||
/* ErrorCode */ | |||
#define GL_NO_ERROR 0 | |||
#define GL_INVALID_ENUM 0x0500 | |||
#define GL_INVALID_VALUE 0x0501 | |||
#define GL_INVALID_OPERATION 0x0502 | |||
#define GL_OUT_OF_MEMORY 0x0505 | |||
/* FrontFaceDirection */ | |||
#define GL_CW 0x0900 | |||
#define GL_CCW 0x0901 | |||
/* GetPName */ | |||
#define GL_LINE_WIDTH 0x0B21 | |||
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D | |||
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E | |||
#define GL_CULL_FACE_MODE 0x0B45 | |||
#define GL_FRONT_FACE 0x0B46 | |||
#define GL_DEPTH_RANGE 0x0B70 | |||
#define GL_DEPTH_WRITEMASK 0x0B72 | |||
#define GL_DEPTH_CLEAR_VALUE 0x0B73 | |||
#define GL_DEPTH_FUNC 0x0B74 | |||
#define GL_STENCIL_CLEAR_VALUE 0x0B91 | |||
#define GL_STENCIL_FUNC 0x0B92 | |||
#define GL_STENCIL_FAIL 0x0B94 | |||
#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 | |||
#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 | |||
#define GL_STENCIL_REF 0x0B97 | |||
#define GL_STENCIL_VALUE_MASK 0x0B93 | |||
#define GL_STENCIL_WRITEMASK 0x0B98 | |||
#define GL_STENCIL_BACK_FUNC 0x8800 | |||
#define GL_STENCIL_BACK_FAIL 0x8801 | |||
#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 | |||
#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 | |||
#define GL_STENCIL_BACK_REF 0x8CA3 | |||
#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 | |||
#define GL_STENCIL_BACK_WRITEMASK 0x8CA5 | |||
#define GL_VIEWPORT 0x0BA2 | |||
#define GL_SCISSOR_BOX 0x0C10 | |||
/* GL_SCISSOR_TEST */ | |||
#define GL_COLOR_CLEAR_VALUE 0x0C22 | |||
#define GL_COLOR_WRITEMASK 0x0C23 | |||
#define GL_UNPACK_ALIGNMENT 0x0CF5 | |||
#define GL_PACK_ALIGNMENT 0x0D05 | |||
#define GL_MAX_TEXTURE_SIZE 0x0D33 | |||
#define GL_MAX_VIEWPORT_DIMS 0x0D3A | |||
#define GL_SUBPIXEL_BITS 0x0D50 | |||
#define GL_RED_BITS 0x0D52 | |||
#define GL_GREEN_BITS 0x0D53 | |||
#define GL_BLUE_BITS 0x0D54 | |||
#define GL_ALPHA_BITS 0x0D55 | |||
#define GL_DEPTH_BITS 0x0D56 | |||
#define GL_STENCIL_BITS 0x0D57 | |||
#define GL_POLYGON_OFFSET_UNITS 0x2A00 | |||
/* GL_POLYGON_OFFSET_FILL */ | |||
#define GL_POLYGON_OFFSET_FACTOR 0x8038 | |||
#define GL_TEXTURE_BINDING_2D 0x8069 | |||
#define GL_SAMPLE_BUFFERS 0x80A8 | |||
#define GL_SAMPLES 0x80A9 | |||
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA | |||
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB | |||
/* GetTextureParameter */ | |||
/* GL_TEXTURE_MAG_FILTER */ | |||
/* GL_TEXTURE_MIN_FILTER */ | |||
/* GL_TEXTURE_WRAP_S */ | |||
/* GL_TEXTURE_WRAP_T */ | |||
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 | |||
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 | |||
/* HintMode */ | |||
#define GL_DONT_CARE 0x1100 | |||
#define GL_FASTEST 0x1101 | |||
#define GL_NICEST 0x1102 | |||
/* HintTarget */ | |||
#define GL_GENERATE_MIPMAP_HINT 0x8192 | |||
/* DataType */ | |||
#define GL_BYTE 0x1400 | |||
#define GL_UNSIGNED_BYTE 0x1401 | |||
#define GL_SHORT 0x1402 | |||
#define GL_UNSIGNED_SHORT 0x1403 | |||
#define GL_INT 0x1404 | |||
#define GL_UNSIGNED_INT 0x1405 | |||
#define GL_FLOAT 0x1406 | |||
#define GL_FIXED 0x140C | |||
/* PixelFormat */ | |||
#define GL_DEPTH_COMPONENT 0x1902 | |||
#define GL_ALPHA 0x1906 | |||
#define GL_RGB 0x1907 | |||
#define GL_RGBA 0x1908 | |||
#define GL_LUMINANCE 0x1909 | |||
#define GL_LUMINANCE_ALPHA 0x190A | |||
/* PixelType */ | |||
/* GL_UNSIGNED_BYTE */ | |||
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 | |||
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 | |||
#define GL_UNSIGNED_SHORT_5_6_5 0x8363 | |||
/* Shaders */ | |||
#define GL_FRAGMENT_SHADER 0x8B30 | |||
#define GL_VERTEX_SHADER 0x8B31 | |||
#define GL_MAX_VERTEX_ATTRIBS 0x8869 | |||
#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB | |||
#define GL_MAX_VARYING_VECTORS 0x8DFC | |||
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D | |||
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C | |||
#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 | |||
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD | |||
#define GL_SHADER_TYPE 0x8B4F | |||
#define GL_DELETE_STATUS 0x8B80 | |||
#define GL_LINK_STATUS 0x8B82 | |||
#define GL_VALIDATE_STATUS 0x8B83 | |||
#define GL_ATTACHED_SHADERS 0x8B85 | |||
#define GL_ACTIVE_UNIFORMS 0x8B86 | |||
#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 | |||
#define GL_ACTIVE_ATTRIBUTES 0x8B89 | |||
#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A | |||
#define GL_SHADING_LANGUAGE_VERSION 0x8B8C | |||
#define GL_CURRENT_PROGRAM 0x8B8D | |||
/* StencilFunction */ | |||
#define GL_NEVER 0x0200 | |||
#define GL_LESS 0x0201 | |||
#define GL_EQUAL 0x0202 | |||
#define GL_LEQUAL 0x0203 | |||
#define GL_GREATER 0x0204 | |||
#define GL_NOTEQUAL 0x0205 | |||
#define GL_GEQUAL 0x0206 | |||
#define GL_ALWAYS 0x0207 | |||
/* StencilOp */ | |||
/* GL_ZERO */ | |||
#define GL_KEEP 0x1E00 | |||
#define GL_REPLACE 0x1E01 | |||
#define GL_INCR 0x1E02 | |||
#define GL_DECR 0x1E03 | |||
#define GL_INVERT 0x150A | |||
#define GL_INCR_WRAP 0x8507 | |||
#define GL_DECR_WRAP 0x8508 | |||
/* StringName */ | |||
#define GL_VENDOR 0x1F00 | |||
#define GL_RENDERER 0x1F01 | |||
#define GL_VERSION 0x1F02 | |||
#define GL_EXTENSIONS 0x1F03 | |||
/* TextureMagFilter */ | |||
#define GL_NEAREST 0x2600 | |||
#define GL_LINEAR 0x2601 | |||
/* TextureMinFilter */ | |||
/* GL_NEAREST */ | |||
/* GL_LINEAR */ | |||
#define GL_NEAREST_MIPMAP_NEAREST 0x2700 | |||
#define GL_LINEAR_MIPMAP_NEAREST 0x2701 | |||
#define GL_NEAREST_MIPMAP_LINEAR 0x2702 | |||
#define GL_LINEAR_MIPMAP_LINEAR 0x2703 | |||
/* TextureParameterName */ | |||
#define GL_TEXTURE_MAG_FILTER 0x2800 | |||
#define GL_TEXTURE_MIN_FILTER 0x2801 | |||
#define GL_TEXTURE_WRAP_S 0x2802 | |||
#define GL_TEXTURE_WRAP_T 0x2803 | |||
/* TextureTarget */ | |||
/* GL_TEXTURE_2D */ | |||
#define GL_TEXTURE 0x1702 | |||
#define GL_TEXTURE_CUBE_MAP 0x8513 | |||
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 | |||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 | |||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 | |||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 | |||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 | |||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 | |||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A | |||
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C | |||
/* TextureUnit */ | |||
#define GL_TEXTURE0 0x84C0 | |||
#define GL_TEXTURE1 0x84C1 | |||
#define GL_TEXTURE2 0x84C2 | |||
#define GL_TEXTURE3 0x84C3 | |||
#define GL_TEXTURE4 0x84C4 | |||
#define GL_TEXTURE5 0x84C5 | |||
#define GL_TEXTURE6 0x84C6 | |||
#define GL_TEXTURE7 0x84C7 | |||
#define GL_TEXTURE8 0x84C8 | |||
#define GL_TEXTURE9 0x84C9 | |||
#define GL_TEXTURE10 0x84CA | |||
#define GL_TEXTURE11 0x84CB | |||
#define GL_TEXTURE12 0x84CC | |||
#define GL_TEXTURE13 0x84CD | |||
#define GL_TEXTURE14 0x84CE | |||
#define GL_TEXTURE15 0x84CF | |||
#define GL_TEXTURE16 0x84D0 | |||
#define GL_TEXTURE17 0x84D1 | |||
#define GL_TEXTURE18 0x84D2 | |||
#define GL_TEXTURE19 0x84D3 | |||
#define GL_TEXTURE20 0x84D4 | |||
#define GL_TEXTURE21 0x84D5 | |||
#define GL_TEXTURE22 0x84D6 | |||
#define GL_TEXTURE23 0x84D7 | |||
#define GL_TEXTURE24 0x84D8 | |||
#define GL_TEXTURE25 0x84D9 | |||
#define GL_TEXTURE26 0x84DA | |||
#define GL_TEXTURE27 0x84DB | |||
#define GL_TEXTURE28 0x84DC | |||
#define GL_TEXTURE29 0x84DD | |||
#define GL_TEXTURE30 0x84DE | |||
#define GL_TEXTURE31 0x84DF | |||
#define GL_ACTIVE_TEXTURE 0x84E0 | |||
/* TextureWrapMode */ | |||
#define GL_REPEAT 0x2901 | |||
#define GL_CLAMP_TO_EDGE 0x812F | |||
#define GL_MIRRORED_REPEAT 0x8370 | |||
/* Uniform Types */ | |||
#define GL_FLOAT_VEC2 0x8B50 | |||
#define GL_FLOAT_VEC3 0x8B51 | |||
#define GL_FLOAT_VEC4 0x8B52 | |||
#define GL_INT_VEC2 0x8B53 | |||
#define GL_INT_VEC3 0x8B54 | |||
#define GL_INT_VEC4 0x8B55 | |||
#define GL_BOOL 0x8B56 | |||
#define GL_BOOL_VEC2 0x8B57 | |||
#define GL_BOOL_VEC3 0x8B58 | |||
#define GL_BOOL_VEC4 0x8B59 | |||
#define GL_FLOAT_MAT2 0x8B5A | |||
#define GL_FLOAT_MAT3 0x8B5B | |||
#define GL_FLOAT_MAT4 0x8B5C | |||
#define GL_SAMPLER_2D 0x8B5E | |||
#define GL_SAMPLER_CUBE 0x8B60 | |||
/* Vertex Arrays */ | |||
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 | |||
#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 | |||
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 | |||
#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 | |||
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A | |||
#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 | |||
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F | |||
/* Read Format */ | |||
#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A | |||
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B | |||
/* Shader Source */ | |||
#define GL_COMPILE_STATUS 0x8B81 | |||
#define GL_INFO_LOG_LENGTH 0x8B84 | |||
#define GL_SHADER_SOURCE_LENGTH 0x8B88 | |||
#define GL_SHADER_COMPILER 0x8DFA | |||
/* Shader Binary */ | |||
#define GL_SHADER_BINARY_FORMATS 0x8DF8 | |||
#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 | |||
/* Shader Precision-Specified Types */ | |||
#define GL_LOW_FLOAT 0x8DF0 | |||
#define GL_MEDIUM_FLOAT 0x8DF1 | |||
#define GL_HIGH_FLOAT 0x8DF2 | |||
#define GL_LOW_INT 0x8DF3 | |||
#define GL_MEDIUM_INT 0x8DF4 | |||
#define GL_HIGH_INT 0x8DF5 | |||
/* Framebuffer Object. */ | |||
#define GL_FRAMEBUFFER 0x8D40 | |||
#define GL_RENDERBUFFER 0x8D41 | |||
#define GL_RGBA4 0x8056 | |||
#define GL_RGB5_A1 0x8057 | |||
#define GL_RGB565 0x8D62 | |||
#define GL_DEPTH_COMPONENT16 0x81A5 | |||
#define GL_STENCIL_INDEX8 0x8D48 | |||
#define GL_RENDERBUFFER_WIDTH 0x8D42 | |||
#define GL_RENDERBUFFER_HEIGHT 0x8D43 | |||
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 | |||
#define GL_RENDERBUFFER_RED_SIZE 0x8D50 | |||
#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51 | |||
#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52 | |||
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 | |||
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 | |||
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 | |||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 | |||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 | |||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 | |||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 | |||
#define GL_COLOR_ATTACHMENT0 0x8CE0 | |||
#define GL_DEPTH_ATTACHMENT 0x8D00 | |||
#define GL_STENCIL_ATTACHMENT 0x8D20 | |||
#define GL_NONE 0 | |||
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 | |||
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 | |||
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 | |||
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 | |||
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD | |||
#define GL_FRAMEBUFFER_BINDING 0x8CA6 | |||
#define GL_RENDERBUFFER_BINDING 0x8CA7 | |||
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8 | |||
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 | |||
/*------------------------------------------------------------------------- | |||
* GL core functions. | |||
*-----------------------------------------------------------------------*/ | |||
GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture); | |||
GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader); | |||
GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name); | |||
GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); | |||
GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer); | |||
GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer); | |||
GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); | |||
GL_APICALL void GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); | |||
GL_APICALL void GL_APIENTRY glBlendEquation ( GLenum mode ); | |||
GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); | |||
GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); | |||
GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); | |||
GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); | |||
GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); | |||
GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target); | |||
GL_APICALL void GL_APIENTRY glClear (GLbitfield mask); | |||
GL_APICALL void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); | |||
GL_APICALL void GL_APIENTRY glClearDepthf (GLclampf depth); | |||
GL_APICALL void GL_APIENTRY glClearStencil (GLint s); | |||
GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); | |||
GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader); | |||
GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); | |||
GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); | |||
GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); | |||
GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); | |||
GL_APICALL GLuint GL_APIENTRY glCreateProgram (void); | |||
GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type); | |||
GL_APICALL void GL_APIENTRY glCullFace (GLenum mode); | |||
GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers); | |||
GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers); | |||
GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program); | |||
GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers); | |||
GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader); | |||
GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures); | |||
GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func); | |||
GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag); | |||
GL_APICALL void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar); | |||
GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader); | |||
GL_APICALL void GL_APIENTRY glDisable (GLenum cap); | |||
GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index); | |||
GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); | |||
GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); | |||
GL_APICALL void GL_APIENTRY glEnable (GLenum cap); | |||
GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index); | |||
GL_APICALL void GL_APIENTRY glFinish (void); | |||
GL_APICALL void GL_APIENTRY glFlush (void); | |||
GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); | |||
GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); | |||
GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode); | |||
GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers); | |||
GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target); | |||
GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers); | |||
GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers); | |||
GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures); | |||
GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); | |||
GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); | |||
GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); | |||
GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name); | |||
GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params); | |||
GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params); | |||
GL_APICALL GLenum GL_APIENTRY glGetError (void); | |||
GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params); | |||
GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params); | |||
GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params); | |||
GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params); | |||
GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); | |||
GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params); | |||
GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params); | |||
GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); | |||
GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); | |||
GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); | |||
GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name); | |||
GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params); | |||
GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params); | |||
GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params); | |||
GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params); | |||
GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name); | |||
GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params); | |||
GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params); | |||
GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer); | |||
GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode); | |||
GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); | |||
GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap); | |||
GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer); | |||
GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program); | |||
GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer); | |||
GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader); | |||
GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture); | |||
GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width); | |||
GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program); | |||
GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); | |||
GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); | |||
GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); | |||
GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void); | |||
GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); | |||
GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); | |||
GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); | |||
GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); | |||
GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length); | |||
GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); | |||
GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); | |||
GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask); | |||
GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask); | |||
GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); | |||
GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass); | |||
GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); | |||
GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); | |||
GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params); | |||
GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); | |||
GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params); | |||
GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); | |||
GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat x); | |||
GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v); | |||
GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint x); | |||
GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v); | |||
GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y); | |||
GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v); | |||
GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y); | |||
GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v); | |||
GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z); | |||
GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v); | |||
GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z); | |||
GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v); | |||
GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); | |||
GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v); | |||
GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w); | |||
GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v); | |||
GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); | |||
GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); | |||
GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); | |||
GL_APICALL void GL_APIENTRY glUseProgram (GLuint program); | |||
GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program); | |||
GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x); | |||
GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values); | |||
GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y); | |||
GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values); | |||
GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z); | |||
GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values); | |||
GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); | |||
GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values); | |||
GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); | |||
GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif /* __gl2_h_ */ |
@ -0,0 +1,30 @@ | |||
#ifndef __gl2platform_h_ | |||
#define __gl2platform_h_ | |||
/* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */ | |||
/* | |||
* This document is licensed under the SGI Free Software B License Version | |||
* 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . | |||
*/ | |||
/* Platform-specific types and definitions for OpenGL ES 2.X gl2.h | |||
* | |||
* Adopters may modify khrplatform.h and this file to suit their platform. | |||
* You are encouraged to submit all modifications to the Khronos group so that | |||
* they can be included in future versions of this file. Please submit changes | |||
* by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) | |||
* by filing a bug against product "OpenGL-ES" component "Registry". | |||
*/ | |||
#include <KHR/khrplatform.h> | |||
#ifndef GL_APICALL | |||
#define GL_APICALL KHRONOS_APICALL | |||
#endif | |||
#ifndef GL_APIENTRY | |||
#define GL_APIENTRY KHRONOS_APIENTRY | |||
#endif | |||
#endif /* __gl2platform_h_ */ |
@ -0,0 +1,24 @@ | |||
#ifndef __gl3ext_h_ | |||
#define __gl3ext_h_ | |||
/* $Revision: 17809 $ on $Date:: 2012-05-14 08:03:36 -0700 #$ */ | |||
/* | |||
* This document is licensed under the SGI Free Software B License Version | |||
* 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . | |||
*/ | |||
/* OpenGL ES 3 Extensions | |||
* | |||
* After an OES extension's interactions with OpenGl ES 3.0 have been documented, | |||
* its tokens and function definitions should be added to this file in a manner | |||
* that does not conflict with gl2ext.h or gl3.h. | |||
* | |||
* Tokens and function definitions for extensions that have become standard | |||
* features in OpenGL ES 3.0 will not be added to this file. | |||
* | |||
* Applications using OpenGL-ES-2-only extensions should include gl2ext.h | |||
*/ | |||
#endif /* __gl3ext_h_ */ | |||
@ -0,0 +1,30 @@ | |||
#ifndef __gl3platform_h_ | |||
#define __gl3platform_h_ | |||
/* $Revision: 18437 $ on $Date:: 2012-07-08 23:31:39 -0700 #$ */ | |||
/* | |||
* This document is licensed under the SGI Free Software B License Version | |||
* 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . | |||
*/ | |||
/* Platform-specific types and definitions for OpenGL ES 3.X gl3.h | |||
* | |||
* Adopters may modify khrplatform.h and this file to suit their platform. | |||
* You are encouraged to submit all modifications to the Khronos group so that | |||
* they can be included in future versions of this file. Please submit changes | |||
* by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) | |||
* by filing a bug against product "OpenGL-ES" component "Registry". | |||
*/ | |||
#include <KHR/khrplatform.h> | |||
#ifndef GL_APICALL | |||
#define GL_APICALL KHRONOS_APICALL | |||
#endif | |||
#ifndef GL_APIENTRY | |||
#define GL_APIENTRY KHRONOS_APIENTRY | |||
#endif | |||
#endif /* __gl3platform_h_ */ |
@ -0,0 +1,282 @@ | |||
#ifndef __khrplatform_h_ | |||
#define __khrplatform_h_ | |||
/* | |||
** Copyright (c) 2008-2009 The Khronos Group Inc. | |||
** | |||
** Permission is hereby granted, free of charge, to any person obtaining a | |||
** copy of this software and/or associated documentation files (the | |||
** "Materials"), to deal in the Materials without restriction, including | |||
** without limitation the rights to use, copy, modify, merge, publish, | |||
** distribute, sublicense, and/or sell copies of the Materials, and to | |||
** permit persons to whom the Materials are furnished to do so, subject to | |||
** the following conditions: | |||
** | |||
** The above copyright notice and this permission notice shall be included | |||
** in all copies or substantial portions of the Materials. | |||
** | |||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | |||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | |||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | |||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | |||
*/ | |||
/* Khronos platform-specific types and definitions. | |||
* | |||
* $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $ | |||
* | |||
* Adopters may modify this file to suit their platform. Adopters are | |||
* encouraged to submit platform specific modifications to the Khronos | |||
* group so that they can be included in future versions of this file. | |||
* Please submit changes by sending them to the public Khronos Bugzilla | |||
* (http://khronos.org/bugzilla) by filing a bug against product | |||
* "Khronos (general)" component "Registry". | |||
* | |||
* A predefined template which fills in some of the bug fields can be | |||
* reached using http://tinyurl.com/khrplatform-h-bugreport, but you | |||
* must create a Bugzilla login first. | |||
* | |||
* | |||
* See the Implementer's Guidelines for information about where this file | |||
* should be located on your system and for more details of its use: | |||
* http://www.khronos.org/registry/implementers_guide.pdf | |||
* | |||
* This file should be included as | |||
* #include <KHR/khrplatform.h> | |||
* by Khronos client API header files that use its types and defines. | |||
* | |||
* The types in khrplatform.h should only be used to define API-specific types. | |||
* | |||
* Types defined in khrplatform.h: | |||
* khronos_int8_t signed 8 bit | |||
* khronos_uint8_t unsigned 8 bit | |||
* khronos_int16_t signed 16 bit | |||
* khronos_uint16_t unsigned 16 bit | |||
* khronos_int32_t signed 32 bit | |||
* khronos_uint32_t unsigned 32 bit | |||
* khronos_int64_t signed 64 bit | |||
* khronos_uint64_t unsigned 64 bit | |||
* khronos_intptr_t signed same number of bits as a pointer | |||
* khronos_uintptr_t unsigned same number of bits as a pointer | |||
* khronos_ssize_t signed size | |||
* khronos_usize_t unsigned size | |||
* khronos_float_t signed 32 bit floating point | |||
* khronos_time_ns_t unsigned 64 bit time in nanoseconds | |||
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in | |||
* nanoseconds | |||
* khronos_stime_nanoseconds_t signed time interval in nanoseconds | |||
* khronos_boolean_enum_t enumerated boolean type. This should | |||
* only be used as a base type when a client API's boolean type is | |||
* an enum. Client APIs which use an integer or other type for | |||
* booleans cannot use this as the base type for their boolean. | |||
* | |||
* Tokens defined in khrplatform.h: | |||
* | |||
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values. | |||
* | |||
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. | |||
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. | |||
* | |||
* Calling convention macros defined in this file: | |||
* KHRONOS_APICALL | |||
* KHRONOS_APIENTRY | |||
* KHRONOS_APIATTRIBUTES | |||
* | |||
* These may be used in function prototypes as: | |||
* | |||
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname( | |||
* int arg1, | |||
* int arg2) KHRONOS_APIATTRIBUTES; | |||
*/ | |||
/*------------------------------------------------------------------------- | |||
* Definition of KHRONOS_APICALL | |||
*------------------------------------------------------------------------- | |||
* This precedes the return type of the function in the function prototype. | |||
*/ | |||
#if defined(_WIN32) && !defined(__SCITECH_SNAP__) | |||
# define KHRONOS_APICALL __declspec(dllimport) | |||
#elif defined (__SYMBIAN32__) | |||
# define KHRONOS_APICALL IMPORT_C | |||
#else | |||
# define KHRONOS_APICALL | |||
#endif | |||
/*------------------------------------------------------------------------- | |||
* Definition of KHRONOS_APIENTRY | |||
*------------------------------------------------------------------------- | |||
* This follows the return type of the function and precedes the function | |||
* name in the function prototype. | |||
*/ | |||
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) | |||
/* Win32 but not WinCE */ | |||
# define KHRONOS_APIENTRY __stdcall | |||
#else | |||
# define KHRONOS_APIENTRY | |||
#endif | |||
/*------------------------------------------------------------------------- | |||
* Definition of KHRONOS_APIATTRIBUTES | |||
*------------------------------------------------------------------------- | |||
* This follows the closing parenthesis of the function prototype arguments. | |||
*/ | |||
#if defined (__ARMCC_2__) | |||
#define KHRONOS_APIATTRIBUTES __softfp | |||
#else | |||
#define KHRONOS_APIATTRIBUTES | |||
#endif | |||
/*------------------------------------------------------------------------- | |||
* basic type definitions | |||
*-----------------------------------------------------------------------*/ | |||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) | |||
/* | |||
* Using <stdint.h> | |||
*/ | |||
#include <stdint.h> | |||
typedef int32_t khronos_int32_t; | |||
typedef uint32_t khronos_uint32_t; | |||
typedef int64_t khronos_int64_t; | |||
typedef uint64_t khronos_uint64_t; | |||
#define KHRONOS_SUPPORT_INT64 1 | |||
#define KHRONOS_SUPPORT_FLOAT 1 | |||
#elif defined(__VMS ) || defined(__sgi) | |||
/* | |||
* Using <inttypes.h> | |||
*/ | |||
#include <inttypes.h> | |||
typedef int32_t khronos_int32_t; | |||
typedef uint32_t khronos_uint32_t; | |||
typedef int64_t khronos_int64_t; | |||
typedef uint64_t khronos_uint64_t; | |||
#define KHRONOS_SUPPORT_INT64 1 | |||
#define KHRONOS_SUPPORT_FLOAT 1 | |||
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__) | |||
/* | |||
* Win32 | |||
*/ | |||
typedef __int32 khronos_int32_t; | |||
typedef unsigned __int32 khronos_uint32_t; | |||
typedef __int64 khronos_int64_t; | |||
typedef unsigned __int64 khronos_uint64_t; | |||
#define KHRONOS_SUPPORT_INT64 1 | |||
#define KHRONOS_SUPPORT_FLOAT 1 | |||
#elif defined(__sun__) || defined(__digital__) | |||
/* | |||
* Sun or Digital | |||
*/ | |||
typedef int khronos_int32_t; | |||
typedef unsigned int khronos_uint32_t; | |||
#if defined(__arch64__) || defined(_LP64) | |||
typedef long int khronos_int64_t; | |||
typedef unsigned long int khronos_uint64_t; | |||
#else | |||
typedef long long int khronos_int64_t; | |||
typedef unsigned long long int khronos_uint64_t; | |||
#endif /* __arch64__ */ | |||
#define KHRONOS_SUPPORT_INT64 1 | |||
#define KHRONOS_SUPPORT_FLOAT 1 | |||
#elif 0 | |||
/* | |||
* Hypothetical platform with no float or int64 support | |||
*/ | |||
typedef int khronos_int32_t; | |||
typedef unsigned int khronos_uint32_t; | |||
#define KHRONOS_SUPPORT_INT64 0 | |||
#define KHRONOS_SUPPORT_FLOAT 0 | |||
#else | |||
/* | |||
* Generic fallback | |||
*/ | |||
#include <stdint.h> | |||
typedef int32_t khronos_int32_t; | |||
typedef uint32_t khronos_uint32_t; | |||
typedef int64_t khronos_int64_t; | |||
typedef uint64_t khronos_uint64_t; | |||
#define KHRONOS_SUPPORT_INT64 1 | |||
#define KHRONOS_SUPPORT_FLOAT 1 | |||
#endif | |||
/* | |||
* Types that are (so far) the same on all platforms | |||
*/ | |||
typedef signed char khronos_int8_t; | |||
typedef unsigned char khronos_uint8_t; | |||
typedef signed short int khronos_int16_t; | |||
typedef unsigned short int khronos_uint16_t; | |||
/* | |||
* Types that differ between LLP64 and LP64 architectures - in LLP64, | |||
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears | |||
* to be the only LLP64 architecture in current use. | |||
*/ | |||
#ifdef _WIN64 | |||
typedef signed long long int khronos_intptr_t; | |||
typedef unsigned long long int khronos_uintptr_t; | |||
typedef signed long long int khronos_ssize_t; | |||
typedef unsigned long long int khronos_usize_t; | |||
#else | |||
typedef signed long int khronos_intptr_t; | |||
typedef unsigned long int khronos_uintptr_t; | |||
typedef signed long int khronos_ssize_t; | |||
typedef unsigned long int khronos_usize_t; | |||
#endif | |||
#if KHRONOS_SUPPORT_FLOAT | |||
/* | |||
* Float type | |||
*/ | |||
typedef float khronos_float_t; | |||
#endif | |||
#if KHRONOS_SUPPORT_INT64 | |||
/* Time types | |||
* | |||
* These types can be used to represent a time interval in nanoseconds or | |||
* an absolute Unadjusted System Time. Unadjusted System Time is the number | |||
* of nanoseconds since some arbitrary system event (e.g. since the last | |||
* time the system booted). The Unadjusted System Time is an unsigned | |||
* 64 bit value that wraps back to 0 every 584 years. Time intervals | |||
* may be either signed or unsigned. | |||
*/ | |||
typedef khronos_uint64_t khronos_utime_nanoseconds_t; | |||
typedef khronos_int64_t khronos_stime_nanoseconds_t; | |||
#endif | |||
/* | |||
* Dummy value used to pad enum types to 32 bits. | |||
*/ | |||
#ifndef KHRONOS_MAX_ENUM | |||
#define KHRONOS_MAX_ENUM 0x7FFFFFFF | |||
#endif | |||
/* | |||
* Enumerated boolean type | |||
* | |||
* Values other than zero should be considered to be true. Therefore | |||
* comparisons should not be made against KHRONOS_TRUE. | |||
*/ | |||
typedef enum { | |||
KHRONOS_FALSE = 0, | |||
KHRONOS_TRUE = 1, | |||
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM | |||
} khronos_boolean_enum_t; | |||
#endif /* __khrplatform_h_ */ |
@ -0,0 +1,51 @@ | |||
// | |||
// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. | |||
// Use of this source code is governed by a BSD-style license that can be | |||
// found in the LICENSE file. | |||
// | |||
// angle_windowsstore.h: | |||
#ifndef ANGLE_WINDOWSSTORE_H_ | |||
#define ANGLE_WINDOWSSTORE_H_ | |||
// The following properties can be set on the CoreApplication to support additional | |||
// ANGLE configuration options. | |||
// | |||
// The Visual Studio sample templates provided with this version of ANGLE have examples | |||
// of how to set these property values. | |||
// | |||
// Property: EGLNativeWindowTypeProperty | |||
// Type: IInspectable | |||
// Description: Set this property to specify the window type to use for creating a surface. | |||
// If this property is missing, surface creation will fail. | |||
// | |||
const wchar_t EGLNativeWindowTypeProperty[] = L"EGLNativeWindowTypeProperty"; | |||
// | |||
// Property: EGLRenderSurfaceSizeProperty | |||
// Type: Size | |||
// Description: Set this property to specify a preferred size in pixels of the render surface. | |||
// The render surface size width and height must be greater than 0. | |||
// If this property is set, then the render surface size is fixed. | |||
// The render surface will then be scaled to the window dimensions. | |||
// If this property is missing, a default behavior will be provided. | |||
// The default behavior uses the window size if a CoreWindow is specified or | |||
// the size of the SwapChainPanel control if one is specified. | |||
// | |||
const wchar_t EGLRenderSurfaceSizeProperty[] = L"EGLRenderSurfaceSizeProperty"; | |||
// | |||
// Property: EGLRenderResolutionScaleProperty | |||
// Type: Single | |||
// Description: Use this to specify a preferred scale for the render surface compared to the window. | |||
// For example, if the window is 800x480, and: | |||
// - scale is set to 0.5f then the surface will be 400x240 | |||
// - scale is set to 1.2f then the surface will be 960x576 | |||
// If the window resizes or rotates then the surface will resize accordingly. | |||
// EGLRenderResolutionScaleProperty and EGLRenderSurfaceSizeProperty cannot both be set. | |||
// The scale factor should be > 0.0f and < 1.5f. | |||
// | |||
const wchar_t EGLRenderResolutionScaleProperty[] = L"EGLRenderResolutionScaleProperty"; | |||
#endif // ANGLE_WINDOWSSTORE_H_ |