Merge libEGL into libRAD.
Bug 18621031
Change-Id: I9a0cc1864bb573aef48a851e8094c6f675a3395b
Reviewed-on: https://swiftshader-review.googlesource.com/1592
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Radiance/libEGL/libEGL.def b/src/Radiance/libEGL/libEGL.def
deleted file mode 100644
index 441b6da..0000000
--- a/src/Radiance/libEGL/libEGL.def
+++ /dev/null
@@ -1,38 +0,0 @@
-LIBRARY libEGL
-EXPORTS
- eglBindAPI @14
- eglChooseConfig @7
- eglCopyBuffers @33
- eglCreateContext @23
- eglCreatePbufferFromClientBuffer @18
- eglCreatePbufferSurface @10
- eglCreatePixmapSurface @11
- eglCreateWindowSurface @9
- eglDestroyContext @24
- eglDestroySurface @12
- eglGetConfigAttrib @8
- eglGetConfigs @6
- eglGetCurrentContext @26
- eglGetCurrentDisplay @28
- eglGetCurrentSurface @27
- eglGetDisplay @2
- eglGetError @1
- eglGetProcAddress @34
- eglInitialize @3
- eglMakeCurrent @25
- eglQueryAPI @15
- eglQueryContext @29
- eglQueryString @5
- eglQuerySurface @13
- eglReleaseThread @17
- eglSurfaceAttrib @19
- eglSwapBuffers @32
- eglSwapInterval @22
- eglTerminate @4
- eglWaitClient @16
- eglWaitGL @30
- eglWaitNative @31
-
- ; Functions that don't change the error code, for use by client APIs
- clientGetCurrentContext
- clientGetCurrentDisplay
\ No newline at end of file
diff --git a/src/Radiance/libEGL/libEGL.rc b/src/Radiance/libEGL/libEGL.rc
deleted file mode 100644
index 2ca933e..0000000
--- a/src/Radiance/libEGL/libEGL.rc
+++ /dev/null
@@ -1,135 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include <windows.h>
-#include "../../common/Version.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (United States) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#include ""afxres.h""\r\n"
- "#include ""../common/version.h""\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION MAJOR_VERSION,MINOR_VERSION,BUILD_VERSION,BUILD_REVISION
- PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,BUILD_VERSION,BUILD_REVISION
- FILEFLAGSMASK 0x17L
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0"
- BEGIN
- VALUE "FileDescription", "SwiftShader libEGL Dynamic Link Library"
- VALUE "FileVersion", VERSION_STRING
- VALUE "InternalName", "libEGL"
- VALUE "LegalCopyright", "Copyright (C) 2012 TransGaming Inc."
- VALUE "OriginalFilename", "libEGL.dll"
- VALUE "PrivateBuild", VERSION_STRING
- VALUE "ProductName", "SwiftShader libEGL Dynamic Link Library"
- VALUE "ProductVersion", VERSION_STRING
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_DIALOG1 DIALOGEX 0, 0, 129, 47
-STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Waiting for debugger"
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- PUSHBUTTON "Cancel",IDCANCEL,72,26,50,14
- LTEXT "Attach a debugger or ESC to cancel",IDC_STATIC,7,7,115,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_DIALOG1, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 122
- TOPMARGIN, 7
- BOTTOMMARGIN, 40
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (United States) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
diff --git a/src/Radiance/libEGL/libEGL.vcxproj b/src/Radiance/libEGL/libEGL.vcxproj
deleted file mode 100644
index 3e57389..0000000
--- a/src/Radiance/libEGL/libEGL.vcxproj
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.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="Profile|Win32">
- <Configuration>Profile</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{2F6770B5-F168-4FCD-8A56-4DD95BEC8893}</ProjectGuid>
- <RootNamespace>libEGL</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>NotSet</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>NotSet</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>NotSet</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" 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>
- <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">false</LinkIncremental>
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\include;$(DXSDK_DIR)\Include;$(VCInstallDir)PlatformSDK\include;$(IncludePath)</IncludePath>
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">..\include;$(DXSDK_DIR)\Include;$(VCInstallDir)PlatformSDK\include;$(IncludePath)</IncludePath>
- <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\include;$(DXSDK_DIR)\Include;$(VCInstallDir)PlatformSDK\include;$(IncludePath)</IncludePath>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(ProjectDir)/..;$(ProjectDir)/../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <BrowseInformation>true</BrowseInformation>
- </ClCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>libEGL.def</ModuleDefinitionFile>
- <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Windows</SubSystem>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- <PostBuildEvent>
- <Command>mkdir "$(ProjectDir)..\..\..\lib\$(Configuration)\"
-copy "$(OutDir)libEGL.dll" "$(ProjectDir)..\..\..\lib\$(Configuration)\"</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <Optimization>MaxSpeed</Optimization>
- <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>$(ProjectDir)/..;$(ProjectDir)/../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- </ClCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>libEGL.def</ModuleDefinitionFile>
- <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Windows</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- <PostBuildEvent>
- <Command>mkdir "$(ProjectDir)..\..\..\lib\$(Configuration)\"
-copy "$(OutDir)libEGL.dll" "$(ProjectDir)..\..\..\lib\$(Configuration)\"</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">
- <ClCompile>
- <Optimization>MaxSpeed</Optimization>
- <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>$(ProjectDir)/..;$(ProjectDir)/../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <OmitFramePointers>false</OmitFramePointers>
- </ClCompile>
- <Link>
- <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>libEGL.def</ModuleDefinitionFile>
- <DelayLoadDLLs>%(DelayLoadDLLs)</DelayLoadDLLs>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Windows</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- <PostBuildEvent>
- <Command>mkdir "$(ProjectDir)..\..\..\lib\$(Configuration)\"
-copy "$(OutDir)libEGL.dll" "$(ProjectDir)..\..\..\lib\$(Configuration)\"</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="Config.cpp" />
- <ClCompile Include="..\Common\debug.cpp" />
- <ClCompile Include="Display.cpp" />
- <ClCompile Include="libEGL.cpp" />
- <ClCompile Include="main.cpp" />
- <ClCompile Include="Surface.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\common\debug.h" />
- <ClInclude Include="..\include\EGL\egl.h" />
- <ClInclude Include="..\include\EGL\eglext.h" />
- <ClInclude Include="..\include\EGL\eglplatform.h" />
- <ClInclude Include="Config.h" />
- <ClInclude Include="Context.hpp" />
- <ClInclude Include="Display.h" />
- <ClInclude Include="Image.hpp" />
- <ClInclude Include="main.h" />
- <ClInclude Include="resource.h" />
- <ClInclude Include="Surface.h" />
- <ClInclude Include="Texture2D.hpp" />
- </ItemGroup>
- <ItemGroup>
- <None Include="libEGL.def" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="libEGL.rc" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/src/Radiance/libEGL/libEGL.vcxproj.filters b/src/Radiance/libEGL/libEGL.vcxproj.filters
deleted file mode 100644
index b89cfd5..0000000
--- a/src/Radiance/libEGL/libEGL.vcxproj.filters
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="Config.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\Common\debug.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="Display.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="libEGL.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="main.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="Surface.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="Config.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="Display.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="main.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="resource.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="Surface.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\include\EGL\egl.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\include\EGL\eglext.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\include\EGL\eglplatform.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\common\debug.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="Context.hpp">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="Texture2D.hpp">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="Image.hpp">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="libEGL.rc" />
- </ItemGroup>
- <ItemGroup>
- <None Include="libEGL.def" />
- </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/src/Radiance/libEGL/main.cpp b/src/Radiance/libEGL/main.cpp
deleted file mode 100644
index a737aea..0000000
--- a/src/Radiance/libEGL/main.cpp
+++ /dev/null
@@ -1,330 +0,0 @@
-// SwiftShader Software Renderer
-//
-// Copyright(c) 2005-2013 TransGaming Inc.
-//
-// All rights reserved. No part of this software may be copied, distributed, transmitted,
-// transcribed, stored in a retrieval system, translated into any human or computer
-// language by any means, or disclosed to third parties without the explicit written
-// agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express
-// or implied, including but not limited to any patent rights, are granted to you.
-//
-
-// main.cpp: DLL entry point and management of thread-local data.
-
-#include "main.h"
-
-#include "resource.h"
-#include "Common/Thread.hpp"
-#include "Common/SharedLibrary.hpp"
-#include "common/debug.h"
-
-static sw::Thread::LocalStorageKey currentTLS = TLS_OUT_OF_INDEXES;
-
-#if !defined(_MSC_VER)
-#define CONSTRUCTOR __attribute__((constructor))
-#define DESTRUCTOR __attribute__((destructor))
-#else
-#define CONSTRUCTOR
-#define DESTRUCTOR
-#endif
-
-static void eglAttachThread()
-{
- TRACE("()");
-
- egl::Current *current = new egl::Current;
-
- if(current)
- {
- sw::Thread::setLocalStorage(currentTLS, current);
-
- current->error = EGL_SUCCESS;
- current->API = EGL_OPENGL_ES_API;
- current->display = EGL_NO_DISPLAY;
- current->drawSurface = EGL_NO_SURFACE;
- current->readSurface = EGL_NO_SURFACE;
- current->context = EGL_NO_CONTEXT;
- }
-}
-
-static void eglDetachThread()
-{
- TRACE("()");
-
- egl::Current *current = (egl::Current*)sw::Thread::getLocalStorage(currentTLS);
-
- if(current)
- {
- delete current;
- }
-}
-
-CONSTRUCTOR static bool eglAttachProcess()
-{
- TRACE("()");
-
- #if !defined(ANGLE_DISABLE_TRACE)
- FILE *debug = fopen(TRACE_OUTPUT_FILE, "rt");
-
- if(debug)
- {
- fclose(debug);
- debug = fopen(TRACE_OUTPUT_FILE, "wt"); // Erase
- fclose(debug);
- }
- #endif
-
- currentTLS = sw::Thread::allocateLocalStorageKey();
-
- if(currentTLS == TLS_OUT_OF_INDEXES)
- {
- return false;
- }
-
- eglAttachThread();
-
- #if defined(_WIN32)
- const char *libRAD_lib = "libRAD.dll";
- #else
- const char *libRAD_lib = "libRAD.so";
- #endif
-
- libRAD = loadLibrary(libRAD_lib);
- es2::createContext = (egl::Context *(*)(const egl::Config*, const egl::Context*))getProcAddress(libRAD, "glCreateContext");
- rad::getProcAddress = (__eglMustCastToProperFunctionPointerType (RADAPIENTRY *)(const char*))getProcAddress(libRAD, "radGetProcAddress");
- es2::createBackBuffer = (egl::Image *(*)(int, int, const egl::Config*))getProcAddress(libRAD, "createBackBuffer");
- es2::createDepthStencil = (egl::Image *(*)(unsigned int, unsigned int, sw::Format, int, bool))getProcAddress(libRAD, "createDepthStencil");
- es2::createFrameBuffer = (sw::FrameBuffer *(*)(EGLNativeDisplayType, EGLNativeWindowType, int, int))getProcAddress(libRAD, "createFrameBuffer");
-
- return libRAD != 0;
-}
-
-DESTRUCTOR static void eglDetachProcess()
-{
- TRACE("()");
-
- eglDetachThread();
- sw::Thread::freeLocalStorageKey(currentTLS);
- freeLibrary(libRAD);
-}
-
-#if defined(_WIN32)
-static INT_PTR CALLBACK DebuggerWaitDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- RECT rect;
-
- switch(uMsg)
- {
- case WM_INITDIALOG:
- GetWindowRect(GetDesktopWindow(), &rect);
- SetWindowPos(hwnd, HWND_TOP, rect.right / 2, rect.bottom / 2, 0, 0, SWP_NOSIZE);
- SetTimer(hwnd, 1, 100, NULL);
- return TRUE;
- case WM_COMMAND:
- if(LOWORD(wParam) == IDCANCEL)
- {
- EndDialog(hwnd, 0);
- }
- break;
- case WM_TIMER:
- if(IsDebuggerPresent())
- {
- EndDialog(hwnd, 0);
- }
- }
-
- return FALSE;
-}
-
-static void WaitForDebugger(HINSTANCE instance)
-{
- if(!IsDebuggerPresent())
- {
- HRSRC dialog = FindResource(instance, MAKEINTRESOURCE(IDD_DIALOG1), RT_DIALOG);
- DLGTEMPLATE *dialogTemplate = (DLGTEMPLATE*)LoadResource(instance, dialog);
- DialogBoxIndirect(instance, dialogTemplate, NULL, DebuggerWaitDialogProc);
- }
-}
-
-extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
-{
- switch(reason)
- {
- case DLL_PROCESS_ATTACH:
- if(false)
- {
- WaitForDebugger(instance);
- }
- return eglAttachProcess();
- break;
- case DLL_THREAD_ATTACH:
- eglAttachThread();
- break;
- case DLL_THREAD_DETACH:
- eglDetachThread();
- break;
- case DLL_PROCESS_DETACH:
- eglDetachProcess();
- break;
- default:
- break;
- }
-
- return TRUE;
-}
-#endif
-
-namespace egl
-{
-static Current *eglGetCurrent(void)
-{
- Current *current = (Current*)sw::Thread::getLocalStorage(currentTLS);
-
- if(!current)
- {
- eglAttachThread();
- }
-
- return (Current*)sw::Thread::getLocalStorage(currentTLS);
-}
-
-void setCurrentError(EGLint error)
-{
- Current *current = eglGetCurrent();
-
- current->error = error;
-}
-
-EGLint getCurrentError()
-{
- Current *current = eglGetCurrent();
-
- return current->error;
-}
-
-void setCurrentAPI(EGLenum API)
-{
- Current *current = eglGetCurrent();
-
- current->API = API;
-}
-
-EGLenum getCurrentAPI()
-{
- Current *current = eglGetCurrent();
-
- return current->API;
-}
-
-void setCurrentDisplay(EGLDisplay dpy)
-{
- Current *current = eglGetCurrent();
-
- current->display = dpy;
-}
-
-EGLDisplay getCurrentDisplay()
-{
- Current *current = eglGetCurrent();
-
- return current->display;
-}
-
-void setCurrentContext(EGLContext ctx)
-{
- Current *current = eglGetCurrent();
-
- current->context = ctx;
-}
-
-EGLContext getCurrentContext()
-{
- Current *current = eglGetCurrent();
-
- return current->context;
-}
-
-void setCurrentDrawSurface(EGLSurface surface)
-{
- Current *current = eglGetCurrent();
-
- current->drawSurface = surface;
-}
-
-EGLSurface getCurrentDrawSurface()
-{
- Current *current = eglGetCurrent();
-
- return current->drawSurface;
-}
-
-void setCurrentReadSurface(EGLSurface surface)
-{
- Current *current = eglGetCurrent();
-
- current->readSurface = surface;
-}
-
-EGLSurface getCurrentReadSurface()
-{
- Current *current = eglGetCurrent();
-
- return current->readSurface;
-}
-}
-
-void error(EGLint errorCode)
-{
- egl::setCurrentError(errorCode);
-
- if(errorCode != EGL_SUCCESS)
- {
- switch(errorCode)
- {
- case EGL_NOT_INITIALIZED: TRACE("\t! Error generated: not initialized\n"); break;
- case EGL_BAD_ACCESS: TRACE("\t! Error generated: bad access\n"); break;
- case EGL_BAD_ALLOC: TRACE("\t! Error generated: bad alloc\n"); break;
- case EGL_BAD_ATTRIBUTE: TRACE("\t! Error generated: bad attribute\n"); break;
- case EGL_BAD_CONFIG: TRACE("\t! Error generated: bad config\n"); break;
- case EGL_BAD_CONTEXT: TRACE("\t! Error generated: bad context\n"); break;
- case EGL_BAD_CURRENT_SURFACE: TRACE("\t! Error generated: bad current surface\n"); break;
- case EGL_BAD_DISPLAY: TRACE("\t! Error generated: bad display\n"); break;
- case EGL_BAD_MATCH: TRACE("\t! Error generated: bad match\n"); break;
- case EGL_BAD_NATIVE_PIXMAP: TRACE("\t! Error generated: bad native pixmap\n"); break;
- case EGL_BAD_NATIVE_WINDOW: TRACE("\t! Error generated: bad native window\n"); break;
- case EGL_BAD_PARAMETER: TRACE("\t! Error generated: bad parameter\n"); break;
- case EGL_BAD_SURFACE: TRACE("\t! Error generated: bad surface\n"); break;
- case EGL_CONTEXT_LOST: TRACE("\t! Error generated: context lost\n"); break;
- default: TRACE("\t! Error generated: <0x%X>\n", errorCode); break;
- }
- }
-}
-
-extern "C"
-{
-EGLContext clientGetCurrentContext()
-{
- return egl::getCurrentContext();
-}
-
-EGLContext clientGetCurrentDisplay()
-{
- return egl::getCurrentDisplay();
-}
-}
-
-namespace es2
-{
- egl::Context *(*createContext)(const egl::Config *config, const egl::Context *shareContext) = 0;
-
- egl::Image *(*createBackBuffer)(int width, int height, const egl::Config *config) = 0;
- egl::Image *(*createDepthStencil)(unsigned int width, unsigned int height, sw::Format format, int multiSampleDepth, bool discard) = 0;
- sw::FrameBuffer *(*createFrameBuffer)(EGLNativeDisplayType display, EGLNativeWindowType window, int width, int height) = 0;
-}
-
-namespace rad
-{
- __eglMustCastToProperFunctionPointerType (RADAPIENTRY *getProcAddress)(const char *procname) = 0;
-}
-
-void *libRAD = 0; // Handle to the libRAD module
diff --git a/src/Radiance/libEGL/main.h b/src/Radiance/libEGL/main.h
deleted file mode 100644
index 3b32f23..0000000
--- a/src/Radiance/libEGL/main.h
+++ /dev/null
@@ -1,103 +0,0 @@
-// SwiftShader Software Renderer
-//
-// Copyright(c) 2005-2012 TransGaming Inc.
-//
-// All rights reserved. No part of this software may be copied, distributed, transmitted,
-// transcribed, stored in a retrieval system, translated into any human or computer
-// language by any means, or disclosed to third parties without the explicit written
-// agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express
-// or implied, including but not limited to any patent rights, are granted to you.
-//
-
-// main.h: Management of thread-local data.
-
-#ifndef LIBEGL_MAIN_H_
-#define LIBEGL_MAIN_H_
-
-#define EGLAPI
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-#include <RAD/rad.h>
-
-namespace egl
-{
- struct Current
- {
- EGLint error;
- EGLenum API;
- EGLDisplay display;
- EGLContext context;
- EGLSurface drawSurface;
- EGLSurface readSurface;
- };
-
- void setCurrentError(EGLint error);
- EGLint getCurrentError();
-
- void setCurrentAPI(EGLenum API);
- EGLenum getCurrentAPI();
-
- void setCurrentDisplay(EGLDisplay dpy);
- EGLDisplay getCurrentDisplay();
-
- void setCurrentContext(EGLContext ctx);
- EGLContext getCurrentContext();
-
- void setCurrentDrawSurface(EGLSurface surface);
- EGLSurface getCurrentDrawSurface();
-
- void setCurrentReadSurface(EGLSurface surface);
- EGLSurface getCurrentReadSurface();
-}
-
-void error(EGLint errorCode);
-
-template<class T>
-const T &error(EGLint errorCode, const T &returnValue)
-{
- error(errorCode);
-
- return returnValue;
-}
-
-template<class T>
-const T &success(const T &returnValue)
-{
- egl::setCurrentError(EGL_SUCCESS);
-
- return returnValue;
-}
-
-namespace egl
-{
- class Config;
- class Surface;
- class Display;
- class Context;
- class Image;
-}
-
-namespace sw
-{
- class FrameBuffer;
- enum Format : unsigned char;
-}
-
-// libRAD dependencies
-namespace es2
-{
- extern egl::Context *(*createContext)(const egl::Config *config, const egl::Context *shareContext);
-
- extern egl::Image *(*createBackBuffer)(int width, int height, const egl::Config *config);
- extern egl::Image *(*createDepthStencil)(unsigned int width, unsigned int height, sw::Format format, int multiSampleDepth, bool discard);
- extern sw::FrameBuffer *(*createFrameBuffer)(EGLNativeDisplayType display, EGLNativeWindowType window, int width, int height);
-}
-
-namespace rad
-{
- extern __eglMustCastToProperFunctionPointerType (RADAPIENTRY *getProcAddress)(const char *procname);
-}
-
-extern void *libRAD; // Handle to the libRAD module
-
-#endif // LIBEGL_MAIN_H_
diff --git a/src/Radiance/libEGL/resource.h b/src/Radiance/libEGL/resource.h
deleted file mode 100644
index b60570a..0000000
--- a/src/Radiance/libEGL/resource.h
+++ /dev/null
@@ -1,17 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by libEGL.rc
-//
-#define IDD_DIALOG1 101
-#define IDC_STATIC -1
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1001
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/src/Radiance/libEGL/Config.cpp b/src/Radiance/libRAD/Config.cpp
similarity index 100%
rename from src/Radiance/libEGL/Config.cpp
rename to src/Radiance/libRAD/Config.cpp
diff --git a/src/Radiance/libEGL/Config.h b/src/Radiance/libRAD/Config.h
similarity index 100%
rename from src/Radiance/libEGL/Config.h
rename to src/Radiance/libRAD/Config.h
diff --git a/src/Radiance/libRAD/Context.cpp b/src/Radiance/libRAD/Context.cpp
index efb83a2..b3764f4 100644
--- a/src/Radiance/libRAD/Context.cpp
+++ b/src/Radiance/libRAD/Context.cpp
@@ -21,8 +21,8 @@
#include "Program.h"
#include "Shader.h"
#include "Texture.h"
-#include "libEGL/Display.h"
-#include "libEGL/Surface.h"
+#include "Display.h"
+#include "Surface.h"
#include "Common/Half.hpp"
#include <EGL/eglext.h>
@@ -704,7 +704,7 @@
mState.stencilMask != mState.stencilBackMask)
{
ERR("Separate front/back stencil writemasks, reference values, or stencil mask values are invalid under WebGL.");
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
// get the maximum size of the stencil ref
@@ -1047,14 +1047,14 @@
{
if(!mState.program)
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
PrimitiveType primitiveType;
int primitiveCount;
if(!rad2sw::ConvertPrimitiveType(mode, count, primitiveType, primitiveCount))
- return error(GL_INVALID_ENUM);
+ return rad::error(GL_INVALID_ENUM);
if(primitiveCount <= 0)
{
@@ -1071,14 +1071,14 @@
GLenum err = applyVertexBuffer(0, first);
if(err != GL_NO_ERROR)
{
- return error(err);
+ return rad::error(err);
}
applyShaders();
if(!mState.program->validateSamplers(false))
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
if(!cullSkipsDraw(mode))
@@ -1091,14 +1091,14 @@
{
if(!mState.program || !mState.elementArrayBuffer)
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
PrimitiveType primitiveType;
int primitiveCount;
if(!rad2sw::ConvertPrimitiveType(mode, count, primitiveType, primitiveCount))
- return error(GL_INVALID_ENUM);
+ return rad::error(GL_INVALID_ENUM);
if(primitiveCount <= 0)
{
@@ -1117,7 +1117,7 @@
GLenum err = applyVertexBuffer(0, 0);
if(err != GL_NO_ERROR)
{
- return error(err);
+ return rad::error(err);
}
applyShaders();
@@ -1125,7 +1125,7 @@
if(!mState.program->validateSamplers(false))
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
if(!cullSkipsDraw(mode))
@@ -1256,12 +1256,3 @@
}
}
-
-// Exported functions for use by EGL
-extern "C"
-{
- es2::Context *glCreateContext(const egl::Config *config, const es2::Context *shareContext)
- {
- return new es2::Context(config, shareContext);
- }
-}
diff --git a/src/Radiance/libRAD/Context.h b/src/Radiance/libRAD/Context.h
index c0d7b6d..e6af360 100644
--- a/src/Radiance/libRAD/Context.h
+++ b/src/Radiance/libRAD/Context.h
@@ -15,7 +15,7 @@
#ifndef LIBGLESV2_CONTEXT_H_
#define LIBGLESV2_CONTEXT_H_
-#include "libEGL/Context.hpp"
+#include "Context.hpp"
#include "Image.hpp"
#include "Renderer/Sampler.hpp"
diff --git a/src/Radiance/libEGL/Context.hpp b/src/Radiance/libRAD/Context.hpp
similarity index 100%
rename from src/Radiance/libEGL/Context.hpp
rename to src/Radiance/libRAD/Context.hpp
diff --git a/src/Radiance/libEGL/Display.cpp b/src/Radiance/libRAD/Display.cpp
similarity index 98%
rename from src/Radiance/libEGL/Display.cpp
rename to src/Radiance/libRAD/Display.cpp
index 657a90e..9bc0b93 100644
--- a/src/Radiance/libEGL/Display.cpp
+++ b/src/Radiance/libRAD/Display.cpp
@@ -16,8 +16,8 @@
#include "Display.h"
#include "main.h"
-#include "libEGL/Surface.h"
-#include "libEGL/Context.hpp"
+#include "Surface.h"
+#include "Context.hpp"
#include "common/debug.h"
#include <algorithm>
@@ -390,10 +390,7 @@
if(clientVersion == 2 && config->mRenderableType & EGL_OPENGL_ES2_BIT)
{
- if(es2::createContext != 0)
- {
- context = es2::createContext(config, shareContext);
- }
+ context = new es2::Context(config, static_cast<const es2::Context*>(shareContext));
}
else
{
diff --git a/src/Radiance/libEGL/Display.h b/src/Radiance/libRAD/Display.h
similarity index 100%
rename from src/Radiance/libEGL/Display.h
rename to src/Radiance/libRAD/Display.h
diff --git a/src/Radiance/libRAD/Fence.cpp b/src/Radiance/libRAD/Fence.cpp
index e79077b..0260a92 100644
--- a/src/Radiance/libRAD/Fence.cpp
+++ b/src/Radiance/libRAD/Fence.cpp
@@ -49,7 +49,7 @@
{
if(!mQuery)
{
- return error(GL_INVALID_OPERATION, GL_TRUE);
+ return rad::error(GL_INVALID_OPERATION, GL_TRUE);
}
UNIMPLEMENTED();
@@ -62,7 +62,7 @@
{
if(!mQuery)
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
while(!testFence())
@@ -75,7 +75,7 @@
{
if(!mQuery)
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
switch (pname)
@@ -100,7 +100,7 @@
params[0] = mCondition;
break;
default:
- return error(GL_INVALID_ENUM);
+ return rad::error(GL_INVALID_ENUM);
break;
}
}
diff --git a/src/Radiance/libRAD/Image.hpp b/src/Radiance/libRAD/Image.hpp
index 70baa6d..d77dcdb 100644
--- a/src/Radiance/libRAD/Image.hpp
+++ b/src/Radiance/libRAD/Image.hpp
@@ -13,7 +13,7 @@
#define gl_Image_hpp
#include "Renderer/Surface.hpp"
-#include "libEGL/Image.hpp"
+#include "ImageEGL.hpp"
#define GL_APICALL
#include <GLES2/gl2.h>
diff --git a/src/Radiance/libEGL/Image.hpp b/src/Radiance/libRAD/ImageEGL.hpp
similarity index 100%
rename from src/Radiance/libEGL/Image.hpp
rename to src/Radiance/libRAD/ImageEGL.hpp
diff --git a/src/Radiance/libEGL/Surface.cpp b/src/Radiance/libRAD/Surface.cpp
similarity index 90%
rename from src/Radiance/libEGL/Surface.cpp
rename to src/Radiance/libRAD/Surface.cpp
index 46afdd6..14cb562 100644
--- a/src/Radiance/libEGL/Surface.cpp
+++ b/src/Radiance/libRAD/Surface.cpp
@@ -29,6 +29,13 @@
#include <algorithm>
+extern "C"
+{
+ es2::Image *createBackBuffer(int width, int height, const egl::Config *config);
+ es2::Image *createDepthStencil(unsigned int width, unsigned int height, sw::Format format, int multiSampleDepth, bool discard);
+ sw::FrameBuffer *createFrameBuffer(HDC display, HWND window, int width, int height);
+}
+
namespace egl
{
@@ -126,7 +133,7 @@
if(mWindow)
{
- frameBuffer = es2::createFrameBuffer(mDisplay->getNativeDisplay(), mWindow, backBufferWidth, backBufferHeight);
+ frameBuffer = createFrameBuffer(mDisplay->getNativeDisplay(), mWindow, backBufferWidth, backBufferHeight);
if(!frameBuffer)
{
@@ -136,7 +143,7 @@
}
}
- backBuffer = es2::createBackBuffer(backBufferWidth, backBufferHeight, mConfig);
+ backBuffer = createBackBuffer(backBufferWidth, backBufferHeight, mConfig);
if(!backBuffer)
{
@@ -147,7 +154,7 @@
if(mConfig->mDepthStencilFormat != sw::FORMAT_NULL)
{
- mDepthStencil = es2::createDepthStencil(backBufferWidth, backBufferHeight, mConfig->mDepthStencilFormat, 1, false);
+ mDepthStencil = createDepthStencil(backBufferWidth, backBufferHeight, mConfig->mDepthStencilFormat, 1, false);
if(!mDepthStencil)
{
diff --git a/src/Radiance/libEGL/Surface.h b/src/Radiance/libRAD/Surface.h
similarity index 100%
rename from src/Radiance/libEGL/Surface.h
rename to src/Radiance/libRAD/Surface.h
diff --git a/src/Radiance/libRAD/Texture.cpp b/src/Radiance/libRAD/Texture.cpp
index 3c31d6b..d84ff80 100644
--- a/src/Radiance/libRAD/Texture.cpp
+++ b/src/Radiance/libRAD/Texture.cpp
@@ -18,8 +18,8 @@
#include "main.h"
#include "mathutil.h"
#include "Device.hpp"
-#include "libEGL/Display.h"
-#include "libEGL/Surface.h"
+#include "Display.h"
+#include "Surface.h"
#include "common/debug.h"
#include <algorithm>
@@ -45,24 +45,24 @@
resource->destruct();
}
-void Texture::addRef()
-{
- sw::atomicIncrement(&referenceCount);
-}
-
-void Texture::release()
-{
- ASSERT(referenceCount > 0);
-
- if(referenceCount > 0)
- {
- sw::atomicDecrement(&referenceCount);
- }
-
- if(referenceCount == 0)
- {
- delete this;
- }
+void Texture::addRef()
+{
+ sw::atomicIncrement(&referenceCount);
+}
+
+void Texture::release()
+{
+ ASSERT(referenceCount > 0);
+
+ if(referenceCount > 0)
+ {
+ sw::atomicDecrement(&referenceCount);
+ }
+
+ if(referenceCount == 0)
+ {
+ delete this;
+ }
}
sw::Resource *Texture::getResource() const
@@ -222,22 +222,22 @@
{
if(!image)
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
if(width + xoffset > image->getWidth() || height + yoffset > image->getHeight())
{
- return error(GL_INVALID_VALUE);
+ return rad::error(GL_INVALID_VALUE);
}
if(IsCompressed(image->getFormat()))
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
if(format != image->getFormat())
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
if(pixels)
@@ -250,17 +250,17 @@
{
if(!image)
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
if(width + xoffset > image->getWidth() || height + yoffset > image->getHeight())
{
- return error(GL_INVALID_VALUE);
+ return rad::error(GL_INVALID_VALUE);
}
if(format != image->getFormat())
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
if(pixels)
@@ -278,7 +278,7 @@
if(!success)
{
- return error(GL_OUT_OF_MEMORY, false);
+ return rad::error(GL_OUT_OF_MEMORY, false);
}
return true;
@@ -393,7 +393,7 @@
if(!image[level])
{
- return error(GL_OUT_OF_MEMORY);
+ return rad::error(GL_OUT_OF_MEMORY);
}
Texture::setImage(format, type, unpackAlignment, pixels, image[level]);
@@ -410,7 +410,7 @@
if(!image[level])
{
- return error(GL_OUT_OF_MEMORY);
+ return rad::error(GL_OUT_OF_MEMORY);
}
Texture::setCompressedImage(imageSize, pixels, image[level]);
@@ -522,7 +522,7 @@
if(!image[i])
{
- return error(GL_OUT_OF_MEMORY);
+ return rad::error(GL_OUT_OF_MEMORY);
}
getDevice()->stretchRect(image[i - 1], 0, image[i], 0, true);
@@ -656,7 +656,7 @@
if(!image[face][level])
{
- return error(GL_OUT_OF_MEMORY);
+ return rad::error(GL_OUT_OF_MEMORY);
}
Texture::setCompressedImage(imageSize, pixels, image[face][level]);
@@ -792,7 +792,7 @@
if(!image[face][level])
{
- return error(GL_OUT_OF_MEMORY);
+ return rad::error(GL_OUT_OF_MEMORY);
}
Texture::setImage(format, type, unpackAlignment, pixels, image[face][level]);
@@ -812,7 +812,7 @@
{
if(!isCubeComplete())
{
- return error(GL_INVALID_OPERATION);
+ return rad::error(GL_INVALID_OPERATION);
}
unsigned int q = log2(image[0][0]->getWidth());
@@ -830,7 +830,7 @@
if(!image[f][i])
{
- return error(GL_OUT_OF_MEMORY);
+ return rad::error(GL_OUT_OF_MEMORY);
}
getDevice()->stretchRect(image[f][i - 1], 0, image[f][i], 0, true);
diff --git a/src/Radiance/libRAD/Texture.h b/src/Radiance/libRAD/Texture.h
index 83b0e28..cf9a4c7 100644
--- a/src/Radiance/libRAD/Texture.h
+++ b/src/Radiance/libRAD/Texture.h
@@ -17,7 +17,7 @@
#define LIBGLESV2_TEXTURE_H_
#include "utilities.h"
-#include "libEGL/Texture2D.hpp"
+#include "Texture2D.hpp"
#include "common/debug.h"
#define GL_APICALL
@@ -51,7 +51,7 @@
virtual ~Texture();
- virtual void addRef();
+ virtual void addRef();
virtual void release();
sw::Resource *getResource() const;
diff --git a/src/Radiance/libEGL/Texture2D.hpp b/src/Radiance/libRAD/Texture2D.hpp
similarity index 100%
rename from src/Radiance/libEGL/Texture2D.hpp
rename to src/Radiance/libRAD/Texture2D.hpp
diff --git a/src/Radiance/libEGL/libEGL.cbp b/src/Radiance/libRAD/libEGL.cbp
similarity index 100%
rename from src/Radiance/libEGL/libEGL.cbp
rename to src/Radiance/libRAD/libEGL.cbp
diff --git a/src/Radiance/libEGL/libEGL.cpp b/src/Radiance/libRAD/libEGL.cpp
similarity index 81%
rename from src/Radiance/libEGL/libEGL.cpp
rename to src/Radiance/libRAD/libEGL.cpp
index 6aec214..d2f2bf3 100644
--- a/src/Radiance/libEGL/libEGL.cpp
+++ b/src/Radiance/libRAD/libEGL.cpp
@@ -26,12 +26,12 @@
{
if(display == EGL_NO_DISPLAY)
{
- return error(EGL_BAD_DISPLAY, false);
+ return egl::error(EGL_BAD_DISPLAY, false);
}
if(!display->isInitialized())
{
- return error(EGL_NOT_INITIALIZED, false);
+ return egl::error(EGL_NOT_INITIALIZED, false);
}
return true;
@@ -46,7 +46,7 @@
if(!display->isValidConfig(config))
{
- return error(EGL_BAD_CONFIG, false);
+ return egl::error(EGL_BAD_CONFIG, false);
}
return true;
@@ -61,7 +61,7 @@
if(!display->isValidContext(context))
{
- return error(EGL_BAD_CONTEXT, false);
+ return egl::error(EGL_BAD_CONTEXT, false);
}
return true;
@@ -76,7 +76,7 @@
if(!display->isValidSurface(surface))
{
- return error(EGL_BAD_SURFACE, false);
+ return egl::error(EGL_BAD_SURFACE, false);
}
return true;
@@ -108,7 +108,7 @@
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_NO_DISPLAY);
+ return egl::error(EGL_BAD_ALLOC, EGL_NO_DISPLAY);
}
return EGL_NO_DISPLAY;
@@ -123,24 +123,24 @@
{
if(dpy == EGL_NO_DISPLAY)
{
- return error(EGL_BAD_DISPLAY, EGL_FALSE);
+ return egl::error(EGL_BAD_DISPLAY, EGL_FALSE);
}
egl::Display *display = static_cast<egl::Display*>(dpy);
if(!display->initialize())
{
- return error(EGL_NOT_INITIALIZED, EGL_FALSE);
+ return egl::error(EGL_NOT_INITIALIZED, EGL_FALSE);
}
if(major) *major = 1;
if(minor) *minor = 4;
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -154,18 +154,18 @@
{
if(dpy == EGL_NO_DISPLAY)
{
- return error(EGL_BAD_DISPLAY, EGL_FALSE);
+ return egl::error(EGL_BAD_DISPLAY, EGL_FALSE);
}
egl::Display *display = static_cast<egl::Display*>(dpy);
display->terminate();
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -187,23 +187,23 @@
switch(name)
{
case EGL_CLIENT_APIS:
- return success("OpenGL_ES");
+ return egl::success("OpenGL_ES");
case EGL_EXTENSIONS:
- return success("EGL_KHR_gl_texture_2D_image "
+ return egl::success("EGL_KHR_gl_texture_2D_image "
"EGL_KHR_gl_texture_cubemap_image "
"EGL_KHR_gl_renderbuffer_image "
"EGL_KHR_image_base");
case EGL_VENDOR:
- return success("TransGaming Inc.");
+ return egl::success("TransGaming Inc.");
case EGL_VERSION:
- return success("1.4 SwiftShader " VERSION_STRING);
+ return egl::success("1.4 SwiftShader " VERSION_STRING);
}
- return error(EGL_BAD_PARAMETER, (const char*)NULL);
+ return egl::error(EGL_BAD_PARAMETER, (const char*)NULL);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, (const char*)NULL);
+ return egl::error(EGL_BAD_ALLOC, (const char*)NULL);
}
return NULL;
@@ -226,21 +226,21 @@
if(!num_config)
{
- return error(EGL_BAD_PARAMETER, EGL_FALSE);
+ return egl::error(EGL_BAD_PARAMETER, EGL_FALSE);
}
const EGLint attribList[] = {EGL_NONE};
if(!display->getConfigs(configs, attribList, config_size, num_config))
{
- return error(EGL_BAD_ATTRIBUTE, EGL_FALSE);
+ return egl::error(EGL_BAD_ATTRIBUTE, EGL_FALSE);
}
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -263,7 +263,7 @@
if(!num_config)
{
- return error(EGL_BAD_PARAMETER, EGL_FALSE);
+ return egl::error(EGL_BAD_PARAMETER, EGL_FALSE);
}
const EGLint attribList[] = {EGL_NONE};
@@ -275,11 +275,11 @@
display->getConfigs(configs, attrib_list, config_size, num_config);
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -301,14 +301,14 @@
if(!display->getConfigAttrib(config, attribute, value))
{
- return error(EGL_BAD_ATTRIBUTE, EGL_FALSE);
+ return egl::error(EGL_BAD_ATTRIBUTE, EGL_FALSE);
}
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -330,14 +330,14 @@
if(!display->isValidWindow(window))
{
- return error(EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE);
+ return egl::error(EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE);
}
return display->createWindowSurface(window, config, attrib_list);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_NO_SURFACE);
+ return egl::error(EGL_BAD_ALLOC, EGL_NO_SURFACE);
}
return EGL_NO_SURFACE;
@@ -361,7 +361,7 @@
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_NO_SURFACE);
+ return egl::error(EGL_BAD_ALLOC, EGL_NO_SURFACE);
}
return EGL_NO_SURFACE;
@@ -383,11 +383,11 @@
UNIMPLEMENTED(); // FIXME
- return success(EGL_NO_SURFACE);
+ return egl::success(EGL_NO_SURFACE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_NO_SURFACE);
+ return egl::error(EGL_BAD_ALLOC, EGL_NO_SURFACE);
}
return EGL_NO_SURFACE;
@@ -409,16 +409,16 @@
if(surface == EGL_NO_SURFACE)
{
- return error(EGL_BAD_SURFACE, EGL_FALSE);
+ return egl::error(EGL_BAD_SURFACE, EGL_FALSE);
}
display->destroySurface((egl::Surface*)surface);
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -441,7 +441,7 @@
if(surface == EGL_NO_SURFACE)
{
- return error(EGL_BAD_SURFACE, EGL_FALSE);
+ return egl::error(EGL_BAD_SURFACE, EGL_FALSE);
}
switch(attribute)
@@ -495,14 +495,14 @@
*value = eglSurface->getWidth();
break;
default:
- return error(EGL_BAD_ATTRIBUTE, EGL_FALSE);
+ return egl::error(EGL_BAD_ATTRIBUTE, EGL_FALSE);
}
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -518,20 +518,20 @@
{
case EGL_OPENGL_API:
case EGL_OPENVG_API:
- return error(EGL_BAD_PARAMETER, EGL_FALSE); // Not supported by this implementation
+ return egl::error(EGL_BAD_PARAMETER, EGL_FALSE); // Not supported by this implementation
case EGL_OPENGL_ES_API:
break;
default:
- return error(EGL_BAD_PARAMETER, EGL_FALSE);
+ return egl::error(EGL_BAD_PARAMETER, EGL_FALSE);
}
egl::setCurrentAPI(api);
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -545,11 +545,11 @@
{
EGLenum API = egl::getCurrentAPI();
- return success(API);
+ return egl::success(API);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -563,11 +563,11 @@
{
UNIMPLEMENTED(); // FIXME
- return success(0);
+ return egl::success(0);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -581,11 +581,11 @@
{
eglMakeCurrent(EGL_NO_DISPLAY, EGL_NO_CONTEXT, EGL_NO_SURFACE, EGL_NO_SURFACE);
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -599,7 +599,7 @@
UNIMPLEMENTED();
- return error(EGL_BAD_PARAMETER, EGL_NO_SURFACE);
+ return egl::error(EGL_BAD_PARAMETER, EGL_NO_SURFACE);
}
EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value)
@@ -619,11 +619,11 @@
UNIMPLEMENTED(); // FIXME
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -646,16 +646,16 @@
if(draw_surface == NULL)
{
- return error(EGL_BAD_SURFACE, EGL_FALSE);
+ return egl::error(EGL_BAD_SURFACE, EGL_FALSE);
}
draw_surface->setSwapInterval(interval);
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -679,7 +679,7 @@
}
else
{
- return error(EGL_BAD_ATTRIBUTE, EGL_NO_CONTEXT);
+ return egl::error(EGL_BAD_ATTRIBUTE, EGL_NO_CONTEXT);
}
}
}
@@ -695,7 +695,7 @@
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_NO_CONTEXT);
+ return egl::error(EGL_BAD_ALLOC, EGL_NO_CONTEXT);
}
return EGL_NO_CONTEXT;
@@ -717,16 +717,16 @@
if(ctx == EGL_NO_CONTEXT)
{
- return error(EGL_BAD_CONTEXT, EGL_FALSE);
+ return egl::error(EGL_BAD_CONTEXT, EGL_FALSE);
}
display->destroyContext(context);
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -752,7 +752,7 @@
if(ctx == EGL_NO_CONTEXT && (draw != EGL_NO_SURFACE || read != EGL_NO_SURFACE))
{
- return error(EGL_BAD_MATCH, EGL_FALSE);
+ return egl::error(EGL_BAD_MATCH, EGL_FALSE);
}
if(ctx != EGL_NO_CONTEXT && !validateContext(display, context))
@@ -768,7 +768,7 @@
if((draw != EGL_NO_SURFACE) ^ (read != EGL_NO_SURFACE))
{
- return error(EGL_BAD_MATCH, EGL_FALSE);
+ return egl::error(EGL_BAD_MATCH, EGL_FALSE);
}
if(draw != read)
@@ -786,11 +786,11 @@
context->makeCurrent(static_cast<egl::Surface*>(draw));
}
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -804,11 +804,11 @@
{
EGLContext context = egl::getCurrentContext();
- return success(context);
+ return egl::success(context);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_NO_CONTEXT);
+ return egl::error(EGL_BAD_ALLOC, EGL_NO_CONTEXT);
}
return EGL_NO_CONTEXT;
@@ -823,21 +823,21 @@
if(readdraw == EGL_READ)
{
EGLSurface read = egl::getCurrentReadSurface();
- return success(read);
+ return egl::success(read);
}
else if(readdraw == EGL_DRAW)
{
EGLSurface draw = egl::getCurrentDrawSurface();
- return success(draw);
+ return egl::success(draw);
}
else
{
- return error(EGL_BAD_PARAMETER, EGL_NO_SURFACE);
+ return egl::error(EGL_BAD_PARAMETER, EGL_NO_SURFACE);
}
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_NO_SURFACE);
+ return egl::error(EGL_BAD_ALLOC, EGL_NO_SURFACE);
}
return EGL_NO_SURFACE;
@@ -851,11 +851,11 @@
{
EGLDisplay dpy = egl::getCurrentDisplay();
- return success(dpy);
+ return egl::success(dpy);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_NO_DISPLAY);
+ return egl::error(EGL_BAD_ALLOC, EGL_NO_DISPLAY);
}
return EGL_NO_DISPLAY;
@@ -878,11 +878,11 @@
UNIMPLEMENTED(); // FIXME
- return success(0);
+ return egl::success(0);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -896,11 +896,11 @@
{
UNIMPLEMENTED(); // FIXME
- return success(0);
+ return egl::success(0);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -914,11 +914,11 @@
{
UNIMPLEMENTED(); // FIXME
- return success(0);
+ return egl::success(0);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -940,16 +940,16 @@
if(surface == EGL_NO_SURFACE)
{
- return error(EGL_BAD_SURFACE, EGL_FALSE);
+ return egl::error(EGL_BAD_SURFACE, EGL_FALSE);
}
eglSurface->swap();
- return success(EGL_TRUE);
+ return egl::success(EGL_TRUE);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -971,11 +971,11 @@
UNIMPLEMENTED(); // FIXME
- return success(0);
+ return egl::success(0);
}
catch(std::bad_alloc&)
{
- return error(EGL_BAD_ALLOC, EGL_FALSE);
+ return egl::error(EGL_BAD_ALLOC, EGL_FALSE);
}
return EGL_FALSE;
@@ -985,12 +985,7 @@
{
TRACE("(const char *procname = \"%s\")", procname);
- if(rad::getProcAddress != 0)
- {
- __eglMustCastToProperFunctionPointerType proc = rad::getProcAddress(procname);
- if(proc) return proc;
- }
-
- return NULL;
+ RADPROC RADAPIENTRY radGetProcAddress(const RADchar *procname);
+ return (__eglMustCastToProperFunctionPointerType)radGetProcAddress;
}
}
diff --git a/src/Radiance/libRAD/libRAD.cpp b/src/Radiance/libRAD/libRAD.cpp
index 9402e66..5f8d7b1 100644
--- a/src/Radiance/libRAD/libRAD.cpp
+++ b/src/Radiance/libRAD/libRAD.cpp
@@ -18,7 +18,7 @@
#include "common/debug.h"
#include "Common/Version.h"
#include "Main/Register.hpp"
-#include "../libEGL/Surface.h"
+#include "Surface.h"
#define GL_APICALL
#include <RAD/rad.h>
diff --git a/src/Radiance/libRAD/libRAD.def b/src/Radiance/libRAD/libRAD.def
index 0b301d2..0b3cc3c 100644
--- a/src/Radiance/libRAD/libRAD.def
+++ b/src/Radiance/libRAD/libRAD.def
@@ -2,11 +2,15 @@
EXPORTS
radGetProcAddress
- ; EGL dependencies
- glCreateContext
-
- createFrameBuffer
- createBackBuffer
- createDepthStencil
+ eglBindAPI
+ eglChooseConfig
+ eglCreateContext
+ eglCreateWindowSurface
+ eglGetDisplay
+ eglGetError
+ eglGetProcAddress
+ eglInitialize
+ eglMakeCurrent
+ eglTerminate
Register
diff --git a/src/Radiance/libRAD/libRAD.rc b/src/Radiance/libRAD/libRAD.rc
index c8b346a..295f270 100644
--- a/src/Radiance/libRAD/libRAD.rc
+++ b/src/Radiance/libRAD/libRAD.rc
@@ -14,13 +14,11 @@
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
+// English (United States) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
-#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
@@ -70,13 +68,13 @@
BEGIN
BLOCK "040904b0"
BEGIN
- VALUE "FileDescription", "SwiftShader libGLESv2 Dynamic Link Library"
+ VALUE "FileDescription", "SwiftShader libRAD Dynamic Link Library"
VALUE "FileVersion", VERSION_STRING
- VALUE "InternalName", "libGLESv2"
- VALUE "LegalCopyright", "Copyright (C) 2012 TransGaming Inc."
- VALUE "OriginalFilename", "libGLESv2.dll"
+ VALUE "InternalName", "libRAD"
+ VALUE "LegalCopyright", "Copyright (C) 2014 Google Inc."
+ VALUE "OriginalFilename", "libRAD.dll"
VALUE "PrivateBuild", VERSION_STRING
- VALUE "ProductName", "SwiftShader libGLESv2 Dynamic Link Library"
+ VALUE "ProductName", "SwiftShader libRAD Dynamic Link Library"
VALUE "ProductVersion", VERSION_STRING
END
END
@@ -86,7 +84,41 @@
END
END
-#endif // English (U.S.) resources
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_DIALOG1 DIALOGEX 0, 0, 129, 47
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Waiting for debugger"
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ PUSHBUTTON "Cancel",IDCANCEL,72,26,50,14
+ LTEXT "Attach a debugger or ESC to cancel",IDC_STATIC,7,7,115,8
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO
+BEGIN
+ IDD_DIALOG1, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 122
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 40
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+#endif // English (United States) resources
/////////////////////////////////////////////////////////////////////////////
@@ -100,3 +132,5 @@
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
+
+
diff --git a/src/Radiance/libRAD/libRAD.vcxproj b/src/Radiance/libRAD/libRAD.vcxproj
index 27d248a..44406c0 100644
--- a/src/Radiance/libRAD/libRAD.vcxproj
+++ b/src/Radiance/libRAD/libRAD.vcxproj
@@ -160,15 +160,19 @@
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
+ <ClCompile Include="Config.cpp" />
<ClCompile Include="Context.cpp" />
<ClCompile Include="..\common\debug.cpp" />
<ClCompile Include="Device.cpp" />
+ <ClCompile Include="Display.cpp" />
<ClCompile Include="Fence.cpp" />
<ClCompile Include="Image.cpp" />
+ <ClCompile Include="libEGL.cpp" />
<ClCompile Include="libRAD.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="Program.cpp" />
<ClCompile Include="Shader.cpp" />
+ <ClCompile Include="Surface.cpp" />
<ClCompile Include="Texture.cpp" />
<ClCompile Include="utilities.cpp" />
</ItemGroup>
@@ -177,16 +181,23 @@
<ClInclude Include="..\include\GLES2\gl2.h" />
<ClInclude Include="..\include\GLES2\gl2ext.h" />
<ClInclude Include="..\include\GLES2\gl2platform.h" />
+ <ClInclude Include="Config.h" />
<ClInclude Include="Context.h" />
+ <ClInclude Include="Context.hpp" />
<ClInclude Include="Device.hpp" />
+ <ClInclude Include="Display.h" />
<ClInclude Include="Fence.h" />
<ClInclude Include="Image.hpp" />
+ <ClInclude Include="ImageEGL.hpp" />
<ClInclude Include="main.h" />
+ <ClInclude Include="mainEGL.h" />
<ClInclude Include="mathutil.h" />
<ClInclude Include="Program.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="Shader.h" />
+ <ClInclude Include="Surface.h" />
<ClInclude Include="Texture.h" />
+ <ClInclude Include="Texture2D.hpp" />
<ClInclude Include="utilities.h" />
</ItemGroup>
<ItemGroup>
diff --git a/src/Radiance/libRAD/libRAD.vcxproj.filters b/src/Radiance/libRAD/libRAD.vcxproj.filters
index 51f456a..c6f4677 100644
--- a/src/Radiance/libRAD/libRAD.vcxproj.filters
+++ b/src/Radiance/libRAD/libRAD.vcxproj.filters
@@ -44,6 +44,18 @@
<ClCompile Include="Image.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="Config.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Display.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="libEGL.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Surface.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Context.h">
@@ -91,6 +103,27 @@
<ClInclude Include="..\common\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="Config.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Context.hpp">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Display.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ImageEGL.hpp">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="mainEGL.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Surface.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Texture2D.hpp">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="libRAD.rc" />
diff --git a/src/Radiance/libRAD/main.cpp b/src/Radiance/libRAD/main.cpp
index 0a9ba74..ccb0cef 100644
--- a/src/Radiance/libRAD/main.cpp
+++ b/src/Radiance/libRAD/main.cpp
@@ -13,10 +13,13 @@
#include "main.h"
-#include "libEGL/Surface.h"
+#include "Surface.h"
#include "Common/Thread.hpp"
#include "Common/SharedLibrary.hpp"
#include "common/debug.h"
+#include "resource.h"
+
+static sw::Thread::LocalStorageKey currentTLS = TLS_OUT_OF_INDEXES;
#if !defined(_MSC_VER)
#define CONSTRUCTOR __attribute__((constructor))
@@ -26,73 +29,283 @@
#define DESTRUCTOR
#endif
-static void glAttachThread()
+static void eglAttachThread()
{
- TRACE("()");
+ TRACE("()");
+
+ egl::Current *current = new egl::Current;
+
+ if(current)
+ {
+ sw::Thread::setLocalStorage(currentTLS, current);
+
+ current->error = EGL_SUCCESS;
+ current->API = EGL_OPENGL_ES_API;
+ current->display = EGL_NO_DISPLAY;
+ current->drawSurface = EGL_NO_SURFACE;
+ current->readSurface = EGL_NO_SURFACE;
+ current->context = EGL_NO_CONTEXT;
+ }
}
-static void glDetachThread()
+static void eglDetachThread()
{
- TRACE("()");
+ TRACE("()");
+
+ egl::Current *current = (egl::Current*)sw::Thread::getLocalStorage(currentTLS);
+
+ if(current)
+ {
+ delete current;
+ }
}
-CONSTRUCTOR static bool glAttachProcess()
+CONSTRUCTOR static void eglAttachProcess()
{
- TRACE("()");
+ TRACE("()");
- glAttachThread();
+#if !defined(ANGLE_DISABLE_TRACE)
+ FILE *debug = fopen(TRACE_OUTPUT_FILE, "rt");
- #if defined(_WIN32)
- const char *libEGL_lib = "libEGL.dll";
- #else
- const char *libEGL_lib = "libEGL.so.1";
- #endif
+ if(debug)
+ {
+ fclose(debug);
+ debug = fopen(TRACE_OUTPUT_FILE, "wt"); // Erase
+ fclose(debug);
+ }
+#endif
- libEGL = loadLibrary(libEGL_lib);
- egl::getCurrentContext = (egl::Context *(*)())getProcAddress(libEGL, "clientGetCurrentContext");
- egl::getCurrentDisplay = (egl::Display *(*)())getProcAddress(libEGL, "clientGetCurrentDisplay");
+ currentTLS = sw::Thread::allocateLocalStorageKey();
- return libEGL != 0;
+ if(currentTLS == TLS_OUT_OF_INDEXES)
+ {
+ return;
+ }
+
+ eglAttachThread();
}
-DESTRUCTOR static void glDetachProcess()
+DESTRUCTOR static void eglDetachProcess()
{
- TRACE("()");
+ TRACE("()");
- glDetachThread();
- freeLibrary(libEGL);
+ eglDetachThread();
+ sw::Thread::freeLocalStorageKey(currentTLS);
}
#if defined(_WIN32)
+static INT_PTR CALLBACK DebuggerWaitDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ RECT rect;
+
+ switch(uMsg)
+ {
+ case WM_INITDIALOG:
+ GetWindowRect(GetDesktopWindow(), &rect);
+ SetWindowPos(hwnd, HWND_TOP, rect.right / 2, rect.bottom / 2, 0, 0, SWP_NOSIZE);
+ SetTimer(hwnd, 1, 100, NULL);
+ return TRUE;
+ case WM_COMMAND:
+ if(LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hwnd, 0);
+ }
+ break;
+ case WM_TIMER:
+ if(IsDebuggerPresent())
+ {
+ EndDialog(hwnd, 0);
+ }
+ }
+
+ return FALSE;
+}
+
+static void WaitForDebugger(HINSTANCE instance)
+{
+ if(!IsDebuggerPresent())
+ {
+ HRSRC dialog = FindResource(instance, MAKEINTRESOURCE(IDD_DIALOG1), RT_DIALOG);
+ DLGTEMPLATE *dialogTemplate = (DLGTEMPLATE*)LoadResource(instance, dialog);
+ DialogBoxIndirect(instance, dialogTemplate, NULL, DebuggerWaitDialogProc);
+ }
+}
+
extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
{
- switch(reason)
- {
- case DLL_PROCESS_ATTACH:
- return glAttachProcess();
- break;
- case DLL_THREAD_ATTACH:
- glAttachThread();
- break;
- case DLL_THREAD_DETACH:
- glDetachThread();
- break;
- case DLL_PROCESS_DETACH:
- glDetachProcess();
- break;
- default:
- break;
- }
+ switch(reason)
+ {
+ case DLL_PROCESS_ATTACH:
+ if(false)
+ {
+ WaitForDebugger(instance);
+ }
+ eglAttachProcess();
+ break;
+ case DLL_THREAD_ATTACH:
+ eglAttachThread();
+ break;
+ case DLL_THREAD_DETACH:
+ eglDetachThread();
+ break;
+ case DLL_PROCESS_DETACH:
+ eglDetachProcess();
+ break;
+ default:
+ break;
+ }
- return TRUE;
+ return TRUE;
}
#endif
+namespace egl
+{
+ static Current *eglGetCurrent(void)
+ {
+ Current *current = (Current*)sw::Thread::getLocalStorage(currentTLS);
+
+ if(!current)
+ {
+ eglAttachThread();
+ }
+
+ return (Current*)sw::Thread::getLocalStorage(currentTLS);
+ }
+
+ void setCurrentError(EGLint error)
+ {
+ Current *current = eglGetCurrent();
+
+ current->error = error;
+ }
+
+ EGLint getCurrentError()
+ {
+ Current *current = eglGetCurrent();
+
+ return current->error;
+ }
+
+ void setCurrentAPI(EGLenum API)
+ {
+ Current *current = eglGetCurrent();
+
+ current->API = API;
+ }
+
+ EGLenum getCurrentAPI()
+ {
+ Current *current = eglGetCurrent();
+
+ return current->API;
+ }
+
+ void setCurrentDisplay(EGLDisplay dpy)
+ {
+ Current *current = eglGetCurrent();
+
+ current->display = dpy;
+ }
+
+ EGLDisplay getCurrentDisplay()
+ {
+ Current *current = eglGetCurrent();
+
+ return current->display;
+ }
+
+ void setCurrentContext(EGLContext ctx)
+ {
+ Current *current = eglGetCurrent();
+
+ current->context = ctx;
+ }
+
+ EGLContext getCurrentContext()
+ {
+ Current *current = eglGetCurrent();
+
+ return current->context;
+ }
+
+ void setCurrentDrawSurface(EGLSurface surface)
+ {
+ Current *current = eglGetCurrent();
+
+ current->drawSurface = surface;
+ }
+
+ EGLSurface getCurrentDrawSurface()
+ {
+ Current *current = eglGetCurrent();
+
+ return current->drawSurface;
+ }
+
+ void setCurrentReadSurface(EGLSurface surface)
+ {
+ Current *current = eglGetCurrent();
+
+ current->readSurface = surface;
+ }
+
+ EGLSurface getCurrentReadSurface()
+ {
+ Current *current = eglGetCurrent();
+
+ return current->readSurface;
+ }
+}
+
+namespace egl
+{
+ void error(EGLint errorCode)
+ {
+ egl::setCurrentError(errorCode);
+
+ if(errorCode != EGL_SUCCESS)
+ {
+ switch(errorCode)
+ {
+ case EGL_NOT_INITIALIZED: TRACE("\t! Error generated: not initialized\n"); break;
+ case EGL_BAD_ACCESS: TRACE("\t! Error generated: bad access\n"); break;
+ case EGL_BAD_ALLOC: TRACE("\t! Error generated: bad alloc\n"); break;
+ case EGL_BAD_ATTRIBUTE: TRACE("\t! Error generated: bad attribute\n"); break;
+ case EGL_BAD_CONFIG: TRACE("\t! Error generated: bad config\n"); break;
+ case EGL_BAD_CONTEXT: TRACE("\t! Error generated: bad context\n"); break;
+ case EGL_BAD_CURRENT_SURFACE: TRACE("\t! Error generated: bad current surface\n"); break;
+ case EGL_BAD_DISPLAY: TRACE("\t! Error generated: bad display\n"); break;
+ case EGL_BAD_MATCH: TRACE("\t! Error generated: bad match\n"); break;
+ case EGL_BAD_NATIVE_PIXMAP: TRACE("\t! Error generated: bad native pixmap\n"); break;
+ case EGL_BAD_NATIVE_WINDOW: TRACE("\t! Error generated: bad native window\n"); break;
+ case EGL_BAD_PARAMETER: TRACE("\t! Error generated: bad parameter\n"); break;
+ case EGL_BAD_SURFACE: TRACE("\t! Error generated: bad surface\n"); break;
+ case EGL_CONTEXT_LOST: TRACE("\t! Error generated: context lost\n"); break;
+ default: TRACE("\t! Error generated: <0x%X>\n", errorCode); break;
+ }
+ }
+ }
+}
+
+extern "C"
+{
+ EGLContext clientGetCurrentContext()
+ {
+ return egl::getCurrentContext();
+ }
+
+ EGLContext clientGetCurrentDisplay()
+ {
+ return egl::getCurrentDisplay();
+ }
+}
+
namespace es2
{
es2::Context *getContext()
{
- egl::Context *context = egl::getCurrentContext();
+ egl::Context *context = static_cast<egl::Context*>(egl::getCurrentContext());
if(context && context->getClientVersion() == 2)
{
@@ -104,7 +317,7 @@
egl::Display *getDisplay()
{
- return egl::getCurrentDisplay();
+ return static_cast<egl::Display*>(egl::getCurrentDisplay());
}
Device *getDevice()
@@ -119,50 +332,45 @@
{
GLint getClientVersion()
{
- Context *context = egl::getCurrentContext();
+ Context *context = static_cast<egl::Context*>(egl::getCurrentContext());
return context ? context->getClientVersion() : 0;
}
}
-// Records an error code
-void error(GLenum errorCode)
+namespace rad
{
- es2::Context *context = es2::getContext();
+ // Records an error code
+ void error(GLenum errorCode)
+ {
+ es2::Context *context = es2::getContext();
- if(context)
- {
- switch(errorCode)
- {
- case GL_INVALID_ENUM:
- context->recordInvalidEnum();
- TRACE("\t! Error generated: invalid enum\n");
- break;
- case GL_INVALID_VALUE:
- context->recordInvalidValue();
- TRACE("\t! Error generated: invalid value\n");
- break;
- case GL_INVALID_OPERATION:
- context->recordInvalidOperation();
- TRACE("\t! Error generated: invalid operation\n");
- break;
- case GL_OUT_OF_MEMORY:
- context->recordOutOfMemory();
- TRACE("\t! Error generated: out of memory\n");
- break;
- case GL_INVALID_FRAMEBUFFER_OPERATION:
- context->recordInvalidFramebufferOperation();
- TRACE("\t! Error generated: invalid framebuffer operation\n");
- break;
- default: UNREACHABLE();
- }
- }
+ if(context)
+ {
+ switch(errorCode)
+ {
+ case GL_INVALID_ENUM:
+ context->recordInvalidEnum();
+ TRACE("\t! Error generated: invalid enum\n");
+ break;
+ case GL_INVALID_VALUE:
+ context->recordInvalidValue();
+ TRACE("\t! Error generated: invalid value\n");
+ break;
+ case GL_INVALID_OPERATION:
+ context->recordInvalidOperation();
+ TRACE("\t! Error generated: invalid operation\n");
+ break;
+ case GL_OUT_OF_MEMORY:
+ context->recordOutOfMemory();
+ TRACE("\t! Error generated: out of memory\n");
+ break;
+ case GL_INVALID_FRAMEBUFFER_OPERATION:
+ context->recordInvalidFramebufferOperation();
+ TRACE("\t! Error generated: invalid framebuffer operation\n");
+ break;
+ default: UNREACHABLE();
+ }
+ }
+ }
}
-
-namespace egl
-{
- egl::Context *(*getCurrentContext)() = 0;
- egl::Display *(*getCurrentDisplay)() = 0;
-}
-
-void *libEGL = 0; // Handle to the libEGL module
diff --git a/src/Radiance/libRAD/main.h b/src/Radiance/libRAD/main.h
index ef95881..6c8982a 100644
--- a/src/Radiance/libRAD/main.h
+++ b/src/Radiance/libRAD/main.h
@@ -17,7 +17,7 @@
#include "Context.h"
#include "Device.hpp"
#include "common/debug.h"
-#include "libEGL/Display.h"
+#include "Display.h"
#define GL_APICALL
#include <GLES2/gl2.h>
@@ -35,6 +35,8 @@
GLint getClientVersion();
}
+namespace rad
+{
void error(GLenum errorCode);
template<class T>
@@ -44,14 +46,66 @@
return returnValue;
}
-
-// libEGL dependencies
-namespace egl
-{
- extern egl::Context *(*getCurrentContext)();
- extern egl::Display *(*getCurrentDisplay)();
}
-extern void *libEGL; // Handle to the libEGL module
+#define EGLAPI
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+#include <RAD/rad.h>
+
+namespace egl
+{
+ struct Current
+ {
+ EGLint error;
+ EGLenum API;
+ EGLDisplay display;
+ EGLContext context;
+ EGLSurface drawSurface;
+ EGLSurface readSurface;
+ };
+
+ void setCurrentError(EGLint error);
+ EGLint getCurrentError();
+
+ void setCurrentAPI(EGLenum API);
+ EGLenum getCurrentAPI();
+
+ void setCurrentDisplay(EGLDisplay dpy);
+ EGLDisplay getCurrentDisplay();
+
+ void setCurrentContext(EGLContext ctx);
+ EGLContext getCurrentContext();
+
+ void setCurrentDrawSurface(EGLSurface surface);
+ EGLSurface getCurrentDrawSurface();
+
+ void setCurrentReadSurface(EGLSurface surface);
+ EGLSurface getCurrentReadSurface();
+
+ void error(EGLint errorCode);
+
+ template<class T>
+ const T &error(EGLint errorCode, const T &returnValue)
+ {
+ error(errorCode);
+
+ return returnValue;
+ }
+
+ template<class T>
+ const T &success(const T &returnValue)
+ {
+ egl::setCurrentError(EGL_SUCCESS);
+
+ return returnValue;
+ }
+
+ class Config;
+ class Surface;
+ class Display;
+ class Context;
+ class Image;
+}
#endif // LIBGLESV2_MAIN_H_
diff --git a/src/Radiance/libRAD/mainEGL.h b/src/Radiance/libRAD/mainEGL.h
new file mode 100644
index 0000000..e3670fa
--- /dev/null
+++ b/src/Radiance/libRAD/mainEGL.h
@@ -0,0 +1,26 @@
+// SwiftShader Software Renderer
+//
+// Copyright(c) 2005-2012 TransGaming Inc.
+//
+// All rights reserved. No part of this software may be copied, distributed, transmitted,
+// transcribed, stored in a retrieval system, translated into any human or computer
+// language by any means, or disclosed to third parties without the explicit written
+// agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express
+// or implied, including but not limited to any patent rights, are granted to you.
+//
+
+// main.h: Management of thread-local data.
+
+#ifndef LIBEGL_MAIN_H_
+#define LIBEGL_MAIN_H_
+
+
+
+namespace sw
+{
+ class FrameBuffer;
+ enum Format : unsigned char;
+}
+
+
+#endif // LIBEGL_MAIN_H_
diff --git a/src/Radiance/libRAD/resource.h b/src/Radiance/libRAD/resource.h
index 0292bf5..75e51d8 100644
--- a/src/Radiance/libRAD/resource.h
+++ b/src/Radiance/libRAD/resource.h
@@ -1,14 +1,17 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by libRAD.rc
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1001
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by libRAD.rc
+//
+#define IDD_DIALOG1 101
+#define IDC_STATIC -1
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 102
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1001
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/src/SwiftShader.sln b/src/SwiftShader.sln
index 351be64..a100064 100644
--- a/src/SwiftShader.sln
+++ b/src/SwiftShader.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
-VisualStudioVersion = 12.0.30110.0
+VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LLVM", "LLVM", "{B408B98A-E888-4ECF-81E0-7A37A6854B17}"
EndProject
@@ -239,17 +239,9 @@
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{B7E24D8E-6BE9-4DEF-A8B9-6A6E60CA60E9}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libRAD", "Radiance\libRAD\libRAD.vcxproj", "{A08DD1A8-998C-4FBB-8710-89B80D0BC3AD}"
- ProjectSection(ProjectDependencies) = postProject
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893} = {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}
- EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Radiance", "Radiance", "{CA0EBD66-3F60-4F3D-8143-B31F14458B40}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libEGL", "Radiance\libEGL\libEGL.vcxproj", "{2F6770B5-F168-4FCD-8A56-4DD95BEC8893}"
- ProjectSection(ProjectDependencies) = postProject
- {7B02CB19-4CDF-4F79-BC9B-7F3F6164A003} = {7B02CB19-4CDF-4F79-BC9B-7F3F6164A003}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Compiler", "Radiance\compiler\Compiler.vcxproj", "{5AEBF8B8-3454-4984-9D77-A8F13BC0377B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "preprocessor", "Radiance\compiler\preprocessor\preprocessor.vcxproj", "{6303975E-7060-4CE7-8090-CB2DE0B840B4}"
@@ -257,7 +249,6 @@
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rad", "..\tests\HelloRAD\rad.vcxproj", "{B4537008-1302-4EE7-98C8-6897472B9E36}"
ProjectSection(ProjectDependencies) = postProject
{A08DD1A8-998C-4FBB-8710-89B80D0BC3AD} = {A08DD1A8-998C-4FBB-8710-89B80D0BC3AD}
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893} = {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}
EndProjectSection
EndProject
Global
@@ -675,15 +666,6 @@
{A08DD1A8-998C-4FBB-8710-89B80D0BC3AD}.Release|Win32.ActiveCfg = Release|Win32
{A08DD1A8-998C-4FBB-8710-89B80D0BC3AD}.Release|Win32.Build.0 = Release|Win32
{A08DD1A8-998C-4FBB-8710-89B80D0BC3AD}.Release|x64.ActiveCfg = Release|Win32
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}.Debug|Win32.ActiveCfg = Debug|Win32
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}.Debug|Win32.Build.0 = Debug|Win32
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}.Debug|x64.ActiveCfg = Debug|Win32
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}.Profile|Win32.ActiveCfg = Profile|Win32
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}.Profile|Win32.Build.0 = Profile|Win32
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}.Profile|x64.ActiveCfg = Profile|Win32
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}.Release|Win32.ActiveCfg = Release|Win32
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}.Release|Win32.Build.0 = Release|Win32
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893}.Release|x64.ActiveCfg = Release|Win32
{5AEBF8B8-3454-4984-9D77-A8F13BC0377B}.Debug|Win32.ActiveCfg = Debug|Win32
{5AEBF8B8-3454-4984-9D77-A8F13BC0377B}.Debug|Win32.Build.0 = Debug|Win32
{5AEBF8B8-3454-4984-9D77-A8F13BC0377B}.Debug|x64.ActiveCfg = Debug|Win32
@@ -716,6 +698,8 @@
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
+ {B5871A7A-968C-42E3-A33B-981E6F448E78} = {D33114D7-E582-4D61-B27D-FAB0297C43FF}
+ {E746FCA9-64C3-433E-85E8-9A5A67AB7ED6} = {D33114D7-E582-4D61-B27D-FAB0297C43FF}
{97EDF19C-6360-4770-9255-EBA2F1A13E9B} = {B408B98A-E888-4ECF-81E0-7A37A6854B17}
{7BE5F26F-0525-42BB-AAED-56C5B4582B99} = {B408B98A-E888-4ECF-81E0-7A37A6854B17}
{00F3295C-F7A0-43D3-BD0B-1BC0515B30E1} = {B408B98A-E888-4ECF-81E0-7A37A6854B17}
@@ -737,21 +721,18 @@
{531B1D71-5EE6-4576-971E-9CC28B0B3868} = {B408B98A-E888-4ECF-81E0-7A37A6854B17}
{E9B87B46-1EB0-4D95-9049-41B148FBADCD} = {B408B98A-E888-4ECF-81E0-7A37A6854B17}
{1F8587CB-0779-44BB-AFA4-03DD8A036D75} = {B408B98A-E888-4ECF-81E0-7A37A6854B17}
- {B5871A7A-968C-42E3-A33B-981E6F448E78} = {D33114D7-E582-4D61-B27D-FAB0297C43FF}
- {E746FCA9-64C3-433E-85E8-9A5A67AB7ED6} = {D33114D7-E582-4D61-B27D-FAB0297C43FF}
{5B3A6DB8-1E7E-40D7-92B9-DA8AAE619FAD} = {D33114D7-E582-4D61-B27D-FAB0297C43FF}
{92940255-AB4B-42FB-A2C4-0FAB19C3C48A} = {D33114D7-E582-4D61-B27D-FAB0297C43FF}
- {235B1D85-E6B6-45E2-BA5D-5C60396428FF} = {D33114D7-E582-4D61-B27D-FAB0297C43FF}
{9DAFEE32-19F6-4410-AA09-2B564FB86F62} = {ED25C308-5BDB-43A7-BED6-C2C059FC2D7D}
{9CF4408B-9B08-481F-95DA-3DF0846DABE4} = {ED25C308-5BDB-43A7-BED6-C2C059FC2D7D}
- {B7E24D8E-6BE9-4DEF-A8B9-6A6E60CA60E9} = {ED25C308-5BDB-43A7-BED6-C2C059FC2D7D}
- {04FC5430-3F1B-42A2-A18A-D8BB7E5B2733} = {ED25C308-5BDB-43A7-BED6-C2C059FC2D7D}
- {AB1EB229-D86C-41B3-8E20-7A7E1FF5DDF5} = {ED25C308-5BDB-43A7-BED6-C2C059FC2D7D}
- {B4537008-1302-4EE7-98C8-6897472B9E36} = {ED25C308-5BDB-43A7-BED6-C2C059FC2D7D}
{09ABE661-9BC0-4152-A820-1FB0522CAC01} = {B7E24D8E-6BE9-4DEF-A8B9-6A6E60CA60E9}
+ {04FC5430-3F1B-42A2-A18A-D8BB7E5B2733} = {ED25C308-5BDB-43A7-BED6-C2C059FC2D7D}
+ {235B1D85-E6B6-45E2-BA5D-5C60396428FF} = {D33114D7-E582-4D61-B27D-FAB0297C43FF}
+ {AB1EB229-D86C-41B3-8E20-7A7E1FF5DDF5} = {ED25C308-5BDB-43A7-BED6-C2C059FC2D7D}
+ {B7E24D8E-6BE9-4DEF-A8B9-6A6E60CA60E9} = {ED25C308-5BDB-43A7-BED6-C2C059FC2D7D}
{A08DD1A8-998C-4FBB-8710-89B80D0BC3AD} = {CA0EBD66-3F60-4F3D-8143-B31F14458B40}
- {2F6770B5-F168-4FCD-8A56-4DD95BEC8893} = {CA0EBD66-3F60-4F3D-8143-B31F14458B40}
{5AEBF8B8-3454-4984-9D77-A8F13BC0377B} = {CA0EBD66-3F60-4F3D-8143-B31F14458B40}
{6303975E-7060-4CE7-8090-CB2DE0B840B4} = {CA0EBD66-3F60-4F3D-8143-B31F14458B40}
+ {B4537008-1302-4EE7-98C8-6897472B9E36} = {ED25C308-5BDB-43A7-BED6-C2C059FC2D7D}
EndGlobalSection
EndGlobal
diff --git a/tests/HelloRAD/rad.vcxproj b/tests/HelloRAD/rad.vcxproj
index 7d9e226..eac2f0b 100644
--- a/tests/HelloRAD/rad.vcxproj
+++ b/tests/HelloRAD/rad.vcxproj
@@ -109,9 +109,6 @@
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\..\src\Radiance\libEGL\libEGL.vcxproj">
- <Project>{2f6770b5-f168-4fcd-8a56-4dd95bec8893}</Project>
- </ProjectReference>
<ProjectReference Include="..\..\src\Radiance\libRAD\libRAD.vcxproj">
<Project>{a08dd1a8-998c-4fbb-8710-89b80d0bc3ad}</Project>
</ProjectReference>
diff --git a/tests/HelloRAD/src/app/radexample.cpp b/tests/HelloRAD/src/app/radexample.cpp
index bcc45bb..216c170 100644
--- a/tests/HelloRAD/src/app/radexample.cpp
+++ b/tests/HelloRAD/src/app/radexample.cpp
@@ -105,7 +105,6 @@
void InitRAD()
{
- // obfuscated string for radGetProcAddress
PFNRADGETPROCADDRESSPROC getProc = (PFNRADGETPROCADDRESSPROC)eglGetProcAddress("radGetProcAddress");
radLoadProcs(getProc);