Working on UWP support
Support Universal Windows Platform (UWP): - Windows 10 App - Windows Phone - Xbox One
This commit is contained in:
parent
e12182f59b
commit
b6b58991e6
31 changed files with 6202 additions and 97 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -96,6 +96,8 @@ project/vs2015/*.opendb
|
||||||
!project/vs2017/raylib.sln
|
!project/vs2017/raylib.sln
|
||||||
!project/vs2017/raylib/*.vcxproj
|
!project/vs2017/raylib/*.vcxproj
|
||||||
!project/vs2017/examples/*.vcxproj
|
!project/vs2017/examples/*.vcxproj
|
||||||
|
!project/vs2015.UWP/raylib/*.vcxproj
|
||||||
|
!project/vs2015.UWP/raylib.App.UWP/*.vcxproj
|
||||||
|
|
||||||
# Web examples
|
# Web examples
|
||||||
docs/examples/web/*.html
|
docs/examples/web/*.html
|
||||||
|
|
|
||||||
174
project/vs2015.UWP/raylib.App.UWP/App.cpp
Normal file
174
project/vs2015.UWP/raylib.App.UWP/App.cpp
Normal file
|
|
@ -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();
|
||||||
|
}
|
||||||
41
project/vs2015.UWP/raylib.App.UWP/App.h
Normal file
41
project/vs2015.UWP/raylib.App.UWP/App.h
Normal file
|
|
@ -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;
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
project/vs2015.UWP/raylib.App.UWP/Assets/Logo.scale-100.png
Normal file
BIN
project/vs2015.UWP/raylib.App.UWP/Assets/Logo.scale-100.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 801 B |
BIN
project/vs2015.UWP/raylib.App.UWP/Assets/SmallLogo.scale-100.png
Normal file
BIN
project/vs2015.UWP/raylib.App.UWP/Assets/SmallLogo.scale-100.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 329 B |
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
BIN
project/vs2015.UWP/raylib.App.UWP/Assets/StoreLogo.scale-100.png
Normal file
BIN
project/vs2015.UWP/raylib.App.UWP/Assets/StoreLogo.scale-100.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 429 B |
BIN
project/vs2015.UWP/raylib.App.UWP/Assets/WideLogo.scale-100.png
Normal file
BIN
project/vs2015.UWP/raylib.App.UWP/Assets/WideLogo.scale-100.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
48
project/vs2015.UWP/raylib.App.UWP/Package.appxmanifest
Normal file
48
project/vs2015.UWP/raylib.App.UWP/Package.appxmanifest
Normal file
|
|
@ -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>
|
||||||
4
project/vs2015.UWP/raylib.App.UWP/packages.config
Normal file
4
project/vs2015.UWP/raylib.App.UWP/packages.config
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="ANGLE.WindowsStore" version="2.1.2" targetFramework="native" />
|
||||||
|
</packages>
|
||||||
1
project/vs2015.UWP/raylib.App.UWP/pch.cpp
Normal file
1
project/vs2015.UWP/raylib.App.UWP/pch.cpp
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
#include "pch.h"
|
||||||
16
project/vs2015.UWP/raylib.App.UWP/pch.h
Normal file
16
project/vs2015.UWP/raylib.App.UWP/pch.h
Normal file
|
|
@ -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>
|
||||||
Binary file not shown.
42
project/vs2015.UWP/raylib.App.UWP/raylib.App.UWP.filters
Normal file
42
project/vs2015.UWP/raylib.App.UWP/raylib.App.UWP.filters
Normal file
|
|
@ -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>
|
||||||
4
project/vs2015.UWP/raylib.App.UWP/raylib.App.UWP.user
Normal file
4
project/vs2015.UWP/raylib.App.UWP/raylib.App.UWP.user
Normal file
|
|
@ -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>
|
||||||
140
project/vs2015.UWP/raylib.App.UWP/raylib.App.UWP.vcxproj
Normal file
140
project/vs2015.UWP/raylib.App.UWP/raylib.App.UWP.vcxproj
Normal file
|
|
@ -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>
|
||||||
123
project/vs2015.UWP/raylib/raylib.vcxproj
Normal file
123
project/vs2015.UWP/raylib/raylib.vcxproj
Normal file
|
|
@ -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>
|
||||||
210
src/core.c
210
src/core.c
|
|
@ -3,13 +3,14 @@
|
||||||
* raylib.core - Basic functions to manage windows, OpenGL context and input on multiple platforms
|
* raylib.core - Basic functions to manage windows, OpenGL context and input on multiple platforms
|
||||||
*
|
*
|
||||||
* PLATFORMS SUPPORTED:
|
* PLATFORMS SUPPORTED:
|
||||||
* - Windows (Win32, Win64)
|
* - PLATFORM_DESKTOP: Windows (Win32, Win64)
|
||||||
* - Linux (tested on Ubuntu)
|
* - PLATFORM_DESKTOP: Linux (X11 desktop mode)
|
||||||
* - FreeBSD
|
* - PLATFORM_DESKTOP: FreeBSD (X11 desktop)
|
||||||
* - OSX/macOS
|
* - PLATFORM_DESKTOP: OSX/macOS
|
||||||
* - Android (ARM, ARM64)
|
* - PLATFORM_ANDROID: Android 4.0 (ARM, ARM64)
|
||||||
* - Raspberry Pi (Raspbian)
|
* - PLATFORM_RPI: Raspberry Pi 0,1,2,3 (Raspbian)
|
||||||
* - HTML5 (Chrome, Firefox)
|
* - PLATFORM_WEB: HTML5 with asm.js (Chrome, Firefox)
|
||||||
|
* - PLATFORM_UWP: Windows 10 App, Windows Phone, Xbox One
|
||||||
*
|
*
|
||||||
* CONFIGURATION:
|
* CONFIGURATION:
|
||||||
*
|
*
|
||||||
|
|
@ -29,6 +30,10 @@
|
||||||
* Windowing and input system configured for HTML5 (run on browser), code converted from C to asm.js
|
* Windowing and input system configured for HTML5 (run on browser), code converted from C to asm.js
|
||||||
* using emscripten compiler. OpenGL ES 2.0 required for direct translation to WebGL equivalent code.
|
* using emscripten compiler. OpenGL ES 2.0 required for direct translation to WebGL equivalent code.
|
||||||
*
|
*
|
||||||
|
* #define PLATFORM_UWP
|
||||||
|
* Universal Windows Platform support, using OpenGL ES 2.0 through ANGLE on multiple Windows platforms,
|
||||||
|
* including Windows 10 App, Windows Phone and Xbox One platforms.
|
||||||
|
*
|
||||||
* #define SUPPORT_DEFAULT_FONT (default)
|
* #define SUPPORT_DEFAULT_FONT (default)
|
||||||
* Default font is loaded on window initialization to be available for the user to render simple text.
|
* Default font is loaded on window initialization to be available for the user to render simple text.
|
||||||
* NOTE: If enabled, uses external module functions to load default raylib font (module: text)
|
* NOTE: If enabled, uses external module functions to load default raylib font (module: text)
|
||||||
|
|
@ -184,6 +189,12 @@
|
||||||
#include "GLES2/gl2.h" // Khronos OpenGL ES 2.0 library
|
#include "GLES2/gl2.h" // Khronos OpenGL ES 2.0 library
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(PLATFORM_UWP)
|
||||||
|
#include "EGL/egl.h" // Khronos EGL library - Native platform display device control functions
|
||||||
|
#include "EGL/eglext.h" // Khronos EGL library - Extensions
|
||||||
|
#include "GLES2/gl2.h" // Khronos OpenGL ES 2.0 library
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(PLATFORM_WEB)
|
#if defined(PLATFORM_WEB)
|
||||||
#include <emscripten/emscripten.h>
|
#include <emscripten/emscripten.h>
|
||||||
#include <emscripten/html5.h>
|
#include <emscripten/html5.h>
|
||||||
|
|
@ -223,9 +234,10 @@
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)
|
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)
|
||||||
static GLFWwindow *window; // Native window (graphic device)
|
static GLFWwindow *window; // Native window (graphic device)
|
||||||
static bool windowMinimized = false;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static bool windowMinimized = false;
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID)
|
#if defined(PLATFORM_ANDROID)
|
||||||
static struct android_app *app; // Android activity
|
static struct android_app *app; // Android activity
|
||||||
static struct android_poll_source *source; // Android events polling source
|
static struct android_poll_source *source; // Android events polling source
|
||||||
|
|
@ -261,7 +273,7 @@ static pthread_t gamepadThreadId; // Gamepad reading thread id
|
||||||
static char gamepadName[64]; // Gamepad name holder
|
static char gamepadName[64]; // Gamepad name holder
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI)
|
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) || defined(PLATFORM_UWP)
|
||||||
static EGLDisplay display; // Native display device (physical screen connection)
|
static EGLDisplay display; // Native display device (physical screen connection)
|
||||||
static EGLSurface surface; // Surface to draw on, framebuffers (connected to context)
|
static EGLSurface surface; // Surface to draw on, framebuffers (connected to context)
|
||||||
static EGLContext context; // Graphic context, mode in which drawing can be done
|
static EGLContext context; // Graphic context, mode in which drawing can be done
|
||||||
|
|
@ -270,6 +282,10 @@ static uint64_t baseTime; // Base time measure for hi-res timer
|
||||||
static bool windowShouldClose = false; // Flag to set window for closing
|
static bool windowShouldClose = false; // Flag to set window for closing
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(PLATFORM_UWP)
|
||||||
|
static EGLNativeWindowType uwpWindow;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Display size-related data
|
// Display size-related data
|
||||||
static unsigned int displayWidth, displayHeight; // Display width and height (monitor, device-screen, LCD, ...)
|
static unsigned int displayWidth, displayHeight; // Display width and height (monitor, device-screen, LCD, ...)
|
||||||
static int screenWidth, screenHeight; // Screen width and height (used render area)
|
static int screenWidth, screenHeight; // Screen width and height (used render area)
|
||||||
|
|
@ -279,7 +295,7 @@ static int renderOffsetY = 0; // Offset Y from render area (must b
|
||||||
static bool fullscreen = false; // Fullscreen mode (useful only for PLATFORM_DESKTOP)
|
static bool fullscreen = false; // Fullscreen mode (useful only for PLATFORM_DESKTOP)
|
||||||
static Matrix downscaleView; // Matrix to downscale view (in case screen size bigger than display size)
|
static Matrix downscaleView; // Matrix to downscale view (in case screen size bigger than display size)
|
||||||
|
|
||||||
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB)
|
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) || defined(PLATFORM_UWP)
|
||||||
static const char *windowTitle; // Window text title...
|
static const char *windowTitle; // Window text title...
|
||||||
static bool cursorOnScreen = false; // Tracks if cursor is inside client area
|
static bool cursorOnScreen = false; // Tracks if cursor is inside client area
|
||||||
static bool cursorHidden = false; // Track if cursor is hidden
|
static bool cursorHidden = false; // Track if cursor is hidden
|
||||||
|
|
@ -399,6 +415,10 @@ static void InitGamepad(void); // Init raw gamepad inpu
|
||||||
static void *GamepadThread(void *arg); // Mouse reading thread
|
static void *GamepadThread(void *arg); // Mouse reading thread
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(PLATFORM_UWP)
|
||||||
|
// Define functions required to manage inputs
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
// NOTE: We include Sleep() function signature here to avoid windows.h inclusion
|
// NOTE: We include Sleep() function signature here to avoid windows.h inclusion
|
||||||
void __stdcall Sleep(unsigned long msTimeout); // Required for Wait()
|
void __stdcall Sleep(unsigned long msTimeout); // Required for Wait()
|
||||||
|
|
@ -407,14 +427,19 @@ static void *GamepadThread(void *arg); // Mouse reading thread
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Module Functions Definition - Window and OpenGL Context Functions
|
// Module Functions Definition - Window and OpenGL Context Functions
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB)
|
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB) || defined(PLATFORM_UWP)
|
||||||
// Initialize window and OpenGL context
|
// Initialize window and OpenGL context
|
||||||
void InitWindow(int width, int height, const char *title)
|
void InitWindow(int width, int height, void *data)
|
||||||
{
|
{
|
||||||
TraceLog(LOG_INFO, "Initializing raylib (v1.8.0)");
|
TraceLog(LOG_INFO, "Initializing raylib (v1.8.0)");
|
||||||
|
|
||||||
// Store window title (could be useful...)
|
#if defined(PLATFORM_DESKTOP)
|
||||||
windowTitle = title;
|
windowTitle = (char *)data;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(PLATFORM_UWP)
|
||||||
|
uwpWindow = (EGLNativeWindowType)data;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Init graphics device (display device and OpenGL context)
|
// Init graphics device (display device and OpenGL context)
|
||||||
InitGraphicsDevice(width, height);
|
InitGraphicsDevice(width, height);
|
||||||
|
|
@ -558,7 +583,7 @@ void CloseWindow(void)
|
||||||
timeEndPeriod(1); // Restore time period
|
timeEndPeriod(1); // Restore time period
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI)
|
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) || defined(PLATFORM_UWP)
|
||||||
// Close surface, context and display
|
// Close surface, context and display
|
||||||
if (display != EGL_NO_DISPLAY)
|
if (display != EGL_NO_DISPLAY)
|
||||||
{
|
{
|
||||||
|
|
@ -606,7 +631,7 @@ bool WindowShouldClose(void)
|
||||||
return (glfwWindowShouldClose(window));
|
return (glfwWindowShouldClose(window));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI)
|
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) || defined(PLATFORM_UWP)
|
||||||
return windowShouldClose;
|
return windowShouldClose;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
@ -614,7 +639,7 @@ bool WindowShouldClose(void)
|
||||||
// Check if window has been minimized (or lost focus)
|
// Check if window has been minimized (or lost focus)
|
||||||
bool IsWindowMinimized(void)
|
bool IsWindowMinimized(void)
|
||||||
{
|
{
|
||||||
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)
|
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB) || defined(PLATFORM_UWP)
|
||||||
return windowMinimized;
|
return windowMinimized;
|
||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -681,7 +706,7 @@ void SetWindowMonitor(int monitor)
|
||||||
|
|
||||||
if ((monitor >= 0) && (monitor < monitorCount))
|
if ((monitor >= 0) && (monitor < monitorCount))
|
||||||
{
|
{
|
||||||
glfwSetWindowMonitor(window, monitors[monitor], 0, 0, screenWidth, screenHeight, GLFW_DONT_CARE);
|
//glfwSetWindowMonitor(window, monitors[monitor], 0, 0, screenWidth, screenHeight, GLFW_DONT_CARE);
|
||||||
TraceLog(LOG_INFO, "Selected fullscreen monitor: [%i] %s", monitor, glfwGetMonitorName(monitors[monitor]));
|
TraceLog(LOG_INFO, "Selected fullscreen monitor: [%i] %s", monitor, glfwGetMonitorName(monitors[monitor]));
|
||||||
}
|
}
|
||||||
else TraceLog(LOG_WARNING, "Selected monitor not found");
|
else TraceLog(LOG_WARNING, "Selected monitor not found");
|
||||||
|
|
@ -1833,7 +1858,7 @@ static void InitGraphicsDevice(int width, int height)
|
||||||
}
|
}
|
||||||
#endif // defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)
|
#endif // defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI)
|
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) || defined(PLATFORM_UWP)
|
||||||
fullscreen = true;
|
fullscreen = true;
|
||||||
|
|
||||||
// Screen size security check
|
// Screen size security check
|
||||||
|
|
@ -1876,12 +1901,151 @@ static void InitGraphicsDevice(int width, int height)
|
||||||
EGL_NONE
|
EGL_NONE
|
||||||
};
|
};
|
||||||
|
|
||||||
EGLint contextAttribs[] =
|
const EGLint contextAttribs[] =
|
||||||
{
|
{
|
||||||
EGL_CONTEXT_CLIENT_VERSION, 2,
|
EGL_CONTEXT_CLIENT_VERSION, 2,
|
||||||
EGL_NONE
|
EGL_NONE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if defined(PLATFORM_UWP)
|
||||||
|
const EGLint surfaceAttributes[] =
|
||||||
|
{
|
||||||
|
// EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER is part of the same optimization as EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER (see above).
|
||||||
|
// If you have compilation issues with it then please update your Visual Studio templates.
|
||||||
|
EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER, EGL_TRUE,
|
||||||
|
EGL_NONE
|
||||||
|
};
|
||||||
|
|
||||||
|
const EGLint defaultDisplayAttributes[] =
|
||||||
|
{
|
||||||
|
// These are the default display attributes, used to request ANGLE's D3D11 renderer.
|
||||||
|
// eglInitialize will only succeed with these attributes if the hardware supports D3D11 Feature Level 10_0+.
|
||||||
|
EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE,
|
||||||
|
|
||||||
|
// EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER is an optimization that can have large performance benefits on mobile devices.
|
||||||
|
// Its syntax is subject to change, though. Please update your Visual Studio templates if you experience compilation issues with it.
|
||||||
|
EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, EGL_TRUE,
|
||||||
|
|
||||||
|
// EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE is an option that enables ANGLE to automatically call
|
||||||
|
// the IDXGIDevice3::Trim method on behalf of the application when it gets suspended.
|
||||||
|
// Calling IDXGIDevice3::Trim when an application is suspended is a Windows Store application certification requirement.
|
||||||
|
EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE, EGL_TRUE,
|
||||||
|
EGL_NONE,
|
||||||
|
};
|
||||||
|
|
||||||
|
const EGLint fl9_3DisplayAttributes[] =
|
||||||
|
{
|
||||||
|
// These can be used to request ANGLE's D3D11 renderer, with D3D11 Feature Level 9_3.
|
||||||
|
// These attributes are used if the call to eglInitialize fails with the default display attributes.
|
||||||
|
EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE,
|
||||||
|
EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE, 9,
|
||||||
|
EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE, 3,
|
||||||
|
EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, EGL_TRUE,
|
||||||
|
EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE, EGL_TRUE,
|
||||||
|
EGL_NONE,
|
||||||
|
};
|
||||||
|
|
||||||
|
const EGLint warpDisplayAttributes[] =
|
||||||
|
{
|
||||||
|
// These attributes can be used to request D3D11 WARP.
|
||||||
|
// They are used if eglInitialize fails with both the default display attributes and the 9_3 display attributes.
|
||||||
|
EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE,
|
||||||
|
EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE,
|
||||||
|
EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, EGL_TRUE,
|
||||||
|
EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE, EGL_TRUE,
|
||||||
|
EGL_NONE,
|
||||||
|
};
|
||||||
|
|
||||||
|
EGLConfig config = NULL;
|
||||||
|
|
||||||
|
// eglGetPlatformDisplayEXT is an alternative to eglGetDisplay. It allows us to pass in display attributes, used to configure D3D11.
|
||||||
|
PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT = (PFNEGLGETPLATFORMDISPLAYEXTPROC)(eglGetProcAddress("eglGetPlatformDisplayEXT"));
|
||||||
|
if (!eglGetPlatformDisplayEXT) TraceLog(LOG_ERROR, "Failed to get function eglGetPlatformDisplayEXT");
|
||||||
|
|
||||||
|
//
|
||||||
|
// To initialize the display, we make three sets of calls to eglGetPlatformDisplayEXT and eglInitialize, with varying
|
||||||
|
// parameters passed to eglGetPlatformDisplayEXT:
|
||||||
|
// 1) The first calls uses "defaultDisplayAttributes" as a parameter. This corresponds to D3D11 Feature Level 10_0+.
|
||||||
|
// 2) If eglInitialize fails for step 1 (e.g. because 10_0+ isn't supported by the default GPU), then we try again
|
||||||
|
// using "fl9_3DisplayAttributes". This corresponds to D3D11 Feature Level 9_3.
|
||||||
|
// 3) If eglInitialize fails for step 2 (e.g. because 9_3+ isn't supported by the default GPU), then we try again
|
||||||
|
// using "warpDisplayAttributes". This corresponds to D3D11 Feature Level 11_0 on WARP, a D3D11 software rasterizer.
|
||||||
|
//
|
||||||
|
|
||||||
|
// This tries to initialize EGL to D3D11 Feature Level 10_0+. See above comment for details.
|
||||||
|
display = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, defaultDisplayAttributes);
|
||||||
|
if (display == EGL_NO_DISPLAY) TraceLog(LOG_ERROR, "Failed to get EGL display");
|
||||||
|
|
||||||
|
if (eglInitialize(display, NULL, NULL) == EGL_FALSE)
|
||||||
|
{
|
||||||
|
// This tries to initialize EGL to D3D11 Feature Level 9_3, if 10_0+ is unavailable (e.g. on some mobile devices).
|
||||||
|
display = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, fl9_3DisplayAttributes);
|
||||||
|
if (display == EGL_NO_DISPLAY) TraceLog(LOG_ERROR, "Failed to get EGL display");
|
||||||
|
|
||||||
|
if (eglInitialize(display, NULL, NULL) == EGL_FALSE)
|
||||||
|
{
|
||||||
|
// This initializes EGL to D3D11 Feature Level 11_0 on WARP, if 9_3+ is unavailable on the default GPU.
|
||||||
|
display = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, warpDisplayAttributes);
|
||||||
|
if (display == EGL_NO_DISPLAY) TraceLog(LOG_ERROR, "Failed to get EGL display");
|
||||||
|
|
||||||
|
if (eglInitialize(display, NULL, NULL) == EGL_FALSE)
|
||||||
|
{
|
||||||
|
// If all of the calls to eglInitialize returned EGL_FALSE then an error has occurred.
|
||||||
|
TraceLog(LOG_ERROR, "Failed to initialize EGL");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//SetupFramebufferSize(displayWidth, displayHeight);
|
||||||
|
|
||||||
|
EGLint numConfigs = 0;
|
||||||
|
if ((eglChooseConfig(display, framebufferAttribs, &config, 1, &numConfigs) == EGL_FALSE) || (numConfigs == 0))
|
||||||
|
{
|
||||||
|
TraceLog(LOG_ERROR, "Failed to choose first EGLConfig");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a PropertySet and initialize with the EGLNativeWindowType.
|
||||||
|
//PropertySet^ surfaceCreationProperties = ref new PropertySet();
|
||||||
|
//surfaceCreationProperties->Insert(ref new String(EGLNativeWindowTypeProperty), window); // CoreWindow^ window
|
||||||
|
|
||||||
|
// You can configure the surface to render at a lower resolution and be scaled up to
|
||||||
|
// the full window size. The scaling is often free on mobile hardware.
|
||||||
|
//
|
||||||
|
// One way to configure the SwapChainPanel is to specify precisely which resolution it should render at.
|
||||||
|
// Size customRenderSurfaceSize = Size(800, 600);
|
||||||
|
// surfaceCreationProperties->Insert(ref new String(EGLRenderSurfaceSizeProperty), PropertyValue::CreateSize(customRenderSurfaceSize));
|
||||||
|
//
|
||||||
|
// Another way is to tell the SwapChainPanel to render at a certain scale factor compared to its size.
|
||||||
|
// e.g. if the SwapChainPanel is 1920x1280 then setting a factor of 0.5f will make the app render at 960x640
|
||||||
|
// float customResolutionScale = 0.5f;
|
||||||
|
// surfaceCreationProperties->Insert(ref new String(EGLRenderResolutionScaleProperty), PropertyValue::CreateSingle(customResolutionScale));
|
||||||
|
|
||||||
|
|
||||||
|
// eglCreateWindowSurface() requires a EGLNativeWindowType parameter,
|
||||||
|
// In Windows platform: typedef HWND EGLNativeWindowType;
|
||||||
|
|
||||||
|
|
||||||
|
// 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";
|
||||||
|
|
||||||
|
//https://stackoverflow.com/questions/46550182/how-to-create-eglsurface-using-c-winrt-and-angle
|
||||||
|
|
||||||
|
//surface = eglCreateWindowSurface(display, config, reinterpret_cast<IInspectable*>(surfaceCreationProperties), surfaceAttributes);
|
||||||
|
surface = eglCreateWindowSurface(display, config, uwpWindow, surfaceAttributes);
|
||||||
|
if (surface == EGL_NO_SURFACE) TraceLog(LOG_ERROR, "Failed to create EGL fullscreen surface");
|
||||||
|
|
||||||
|
context = eglCreateContext(display, config, EGL_NO_CONTEXT, contextAttribs);
|
||||||
|
if (context == EGL_NO_CONTEXT) TraceLog(LOG_ERROR, "Failed to create EGL context");
|
||||||
|
|
||||||
|
// Get EGL display window size
|
||||||
|
eglQuerySurface(display, surface, EGL_WIDTH, &screenWidth);
|
||||||
|
eglQuerySurface(display, surface, EGL_HEIGHT, &screenHeight);
|
||||||
|
|
||||||
|
#else // PLATFORM_ANDROID, PLATFORM_RPI
|
||||||
EGLint numConfigs;
|
EGLint numConfigs;
|
||||||
|
|
||||||
// Get an EGL display connection
|
// Get an EGL display connection
|
||||||
|
|
@ -1898,6 +2062,7 @@ static void InitGraphicsDevice(int width, int height)
|
||||||
|
|
||||||
// Create an EGL rendering context
|
// Create an EGL rendering context
|
||||||
context = eglCreateContext(display, config, EGL_NO_CONTEXT, contextAttribs);
|
context = eglCreateContext(display, config, EGL_NO_CONTEXT, contextAttribs);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Create an EGL window surface
|
// Create an EGL window surface
|
||||||
//---------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------
|
||||||
|
|
@ -1981,6 +2146,9 @@ static void InitGraphicsDevice(int width, int height)
|
||||||
}
|
}
|
||||||
#endif // defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI)
|
#endif // defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI)
|
||||||
|
|
||||||
|
renderWidth = screenWidth;
|
||||||
|
renderHeight = screenHeight;
|
||||||
|
|
||||||
// Initialize OpenGL context (states and resources)
|
// Initialize OpenGL context (states and resources)
|
||||||
// NOTE: screenWidth and screenHeight not used, just stored as globals
|
// NOTE: screenWidth and screenHeight not used, just stored as globals
|
||||||
rlglInit(screenWidth, screenHeight);
|
rlglInit(screenWidth, screenHeight);
|
||||||
|
|
@ -2365,7 +2533,7 @@ static void SwapBuffers(void)
|
||||||
glfwSwapBuffers(window);
|
glfwSwapBuffers(window);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI)
|
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) || defined(PLATFORM_UWP)
|
||||||
eglSwapBuffers(display, surface);
|
eglSwapBuffers(display, surface);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
||||||
303
src/external/include/ANGLE/EGL/egl.h
vendored
Normal file
303
src/external/include/ANGLE/EGL/egl.h
vendored
Normal file
|
|
@ -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
|
||||||
780
src/external/include/ANGLE/EGL/eglext.h
vendored
Normal file
780
src/external/include/ANGLE/EGL/eglext.h
vendored
Normal file
|
|
@ -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
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue