daily update on 20240226 by nitload youmu
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,7 +0,0 @@
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\debuger.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\Debug\debuger.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\dllmain.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\Debug\dllmain.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\linear.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\Debug\linear.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\mat2.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\Debug\mat2.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\mat3.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\Debug\mat3.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\mat4.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\Debug\mat4.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\StgSharpC.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\Debug\StgSharpC.obj
|
||||
@@ -1,2 +0,0 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.37.32822:TargetPlatformVersion=10.0.22621.0:
|
||||
Debug|Win32|D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\|
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\Debug\StgSharpGraphic.dll</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+32
-42
@@ -1,19 +1,11 @@
|
||||
// StgShqrpGraphic.cpp : 定义 DLL 的导出函数。
|
||||
//
|
||||
|
||||
#include "./include/ssgc_framework.h"
|
||||
#include "./include/glad_gl.h"
|
||||
#include "./include/glfw3.h"
|
||||
#include "./include/StgSharpC.h"
|
||||
#include "ssgc_framework.h"
|
||||
#include "gl.h"
|
||||
#include "glfw3.h"
|
||||
#include "StgSharpC.h"
|
||||
#include <stdio.h>
|
||||
|
||||
GladGLContext* currentContext;
|
||||
extern char* infolog[512] = { 0 };
|
||||
|
||||
void printShaderCode(char* const* code)
|
||||
{
|
||||
printf(*code);
|
||||
}
|
||||
extern char infolog[512] = { 0 };
|
||||
|
||||
SSCAPI void _cdecl initGL(int majorVersion, int minorVersion)
|
||||
{
|
||||
@@ -21,41 +13,43 @@ SSCAPI void _cdecl initGL(int majorVersion, int minorVersion)
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, majorVersion);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, minorVersion);
|
||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||
|
||||
#ifdef __APPLE__
|
||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
SSCAPI unsigned int loadShaderCode(GladGLContext* context, char* const shaderCode, GLint shadertype)
|
||||
{
|
||||
if (currentContext != NULL)
|
||||
unsigned int shader = context->CreateShader(shadertype);
|
||||
context->ShaderSource(shader, 1, &shaderCode, NULL);
|
||||
context->CompileShader(shader);
|
||||
int success;
|
||||
context->GetShaderiv(shader, GL_COMPILE_STATUS, &success);
|
||||
if (!success)
|
||||
{
|
||||
unsigned int shader = context->CreateShader(shadertype);
|
||||
context->ShaderSource(shader, 1, &shaderCode, NULL);
|
||||
context->CompileShader(shader);
|
||||
int success;
|
||||
context->GetShaderiv(shader, GL_COMPILE_STATUS, &success);
|
||||
if (!success)
|
||||
{
|
||||
context->GetShaderInfoLog(shader, 512, NULL, infolog);
|
||||
infolog[511] = '\0';
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return shader;
|
||||
}
|
||||
context->GetShaderInfoLog(shader, 512, NULL, infolog);
|
||||
infolog[511] = '\0';
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
return shader;
|
||||
}
|
||||
}
|
||||
|
||||
SSCAPI GLFWglproc SSCDECL loadGlfuncDefault(char* procName)
|
||||
{
|
||||
void* ret = glfwGetProcAddress(procName);
|
||||
printf("%llu\n", (uint64_t)ret);
|
||||
if (ret = NULL)
|
||||
{
|
||||
*infolog = "Failed to load OpenGL api:";
|
||||
for (size_t i = 0; i < sizeof(procName); i++)
|
||||
{
|
||||
infolog[30 + i] = procName[i];
|
||||
}
|
||||
printf("%s\n", infolog);
|
||||
}
|
||||
return (GLFWglproc)ret;
|
||||
}
|
||||
|
||||
SSCAPI unsigned int linkShaderProgram(GladGLContext* context, GLuint shaderProgram)
|
||||
{
|
||||
context->LinkProgram(shaderProgram);
|
||||
@@ -71,7 +65,6 @@ SSCAPI unsigned int linkShaderProgram(GladGLContext* context, GLuint shaderProgr
|
||||
{
|
||||
return shaderProgram;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
SSCAPI void SSCDECL loadImageData(char* location, Image* out, imageLoader loader)
|
||||
@@ -92,7 +85,4 @@ char* _cdecl readLog()
|
||||
{
|
||||
infolog[511] = '\0';
|
||||
return &infolog;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -5,15 +5,14 @@
|
||||
|
||||
#include "ssgc_framework.h"
|
||||
#include "ssgc_internal.h"
|
||||
#include "glad_gl.h"
|
||||
#include "glad_wgl.h"
|
||||
#include "gl.h"
|
||||
#include "wgl.h"
|
||||
#include "glfw3.h"
|
||||
#include <immintrin.h>
|
||||
|
||||
#define STBIDEF SSCAPI
|
||||
#include "stb_image.h"
|
||||
|
||||
|
||||
#pragma comment(lib,"glfw3.lib")
|
||||
|
||||
#if __cplusplus
|
||||
@@ -21,13 +20,6 @@ extern "C"
|
||||
{
|
||||
#endif // _cplusplus
|
||||
|
||||
#pragma region debug
|
||||
|
||||
SSCAPI void printShaderCode(char* const* code);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
|
||||
#pragma region Internal
|
||||
|
||||
extern __m128* defaultVecPtr;
|
||||
@@ -44,21 +36,20 @@ extern "C"
|
||||
|
||||
typedef char* (*imageLoader)(char const* filename, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
|
||||
SSCAPI char* infolog[512];
|
||||
SSCAPI char infolog[512];
|
||||
|
||||
SSCAPI void SSCDECL initGL(int majorVersion, int minorVersion);
|
||||
SSCAPI unsigned int SSCDECL loadShaderCode(GladGLContext* context, char* const shaderCode, GLint shadertype);
|
||||
SSCAPI unsigned int SSCDECL linkShaderProgram(GladGLContext* context, GLuint shadertype);
|
||||
SSCAPI void SSCDECL loadImageData(char* location, Image* out, imageLoader loader);
|
||||
SSCAPI GLFWglproc SSCDECL loadGlfuncDefault(char* procName);
|
||||
SSCAPI void SSCDECL unloadImageData(Image* out);
|
||||
SSCAPI void SSCDECL setCurrentGLContext(GLFWwindow* window, GladGLContext* contextPtr);
|
||||
SSCAPI char* SSCDECL readLog(void);
|
||||
|
||||
//linear related function
|
||||
|
||||
SSCAPI __m128* SSCDECL set_m128ptr_default();
|
||||
|
||||
|
||||
#pragma region mat define
|
||||
|
||||
typedef union matrix2map
|
||||
@@ -78,12 +69,10 @@ extern "C"
|
||||
float m[4][4];
|
||||
}matrix4map;
|
||||
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region mat2
|
||||
|
||||
|
||||
SSCAPI _inline void __cdecl transpose2to3(matrix2map* source, matrix3map* target);
|
||||
SSCAPI _inline void __cdecl transpose2to4(matrix2map* source, matrix4map* target);
|
||||
SSCAPI _inline void __cdecl deinit_mat2(matrix2map* mat);
|
||||
@@ -92,7 +81,6 @@ extern "C"
|
||||
|
||||
#pragma region mat3
|
||||
|
||||
|
||||
SSCAPI __inline void _cdecl transpose3to2(matrix3map* source, matrix2map* target);
|
||||
SSCAPI __inline void _cdecl transpose3to3(matrix3map* source, matrix3map* target);
|
||||
SSCAPI __inline void _cdecl transpose3to4(matrix3map* source, matrix4map* target);
|
||||
@@ -104,7 +92,6 @@ extern "C"
|
||||
#pragma region mat4
|
||||
//type and function for 4 colum matrix
|
||||
|
||||
|
||||
SSCAPI __inline void __cdecl transpose4to2(matrix4map* source, matrix4map* target);
|
||||
SSCAPI __inline void __cdecl transpose4to4(matrix4map* matrix, matrix4map* target);
|
||||
|
||||
@@ -114,17 +101,8 @@ extern "C"
|
||||
|
||||
#pragma endregion
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif // __cplusplus
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // !SSG
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" 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>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>17.0</VCProjectVersion>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectGuid>{20cbff26-6746-402e-992c-7b643e9423eb}</ProjectGuid>
|
||||
<RootNamespace>StgSharpC</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</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>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
||||
<ExpandAttributedSource>true</ExpandAttributedSource>
|
||||
<AssemblerOutput>All</AssemblerOutput>
|
||||
<BrowseInformation>true</BrowseInformation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>opengl32.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<PreserveSbr>true</PreserveSbr>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<AssemblerOutput>All</AssemblerOutput>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>opengl32.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<Library Include="glfw3.lib" />
|
||||
<Library Include="glfw3dll.lib" />
|
||||
<Library Include="glfw3_mt.lib" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="dllmain.c" />
|
||||
<ClCompile Include="mat2.c" />
|
||||
<ClCompile Include="mat3.c" />
|
||||
<ClCompile Include="mat4.c" />
|
||||
<ClCompile Include="stb_image.c" />
|
||||
<ClCompile Include="StgSharpC.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="gl.h" />
|
||||
<ClInclude Include="glfw3.h" />
|
||||
<ClInclude Include="glfw3native.h" />
|
||||
<ClInclude Include="khrplatform.h" />
|
||||
<ClInclude Include="ssgc_framework.h" />
|
||||
<ClInclude Include="ssgc_internal.h" />
|
||||
<ClInclude Include="stb_image.h" />
|
||||
<ClInclude Include="StgSharpC.h" />
|
||||
<ClInclude Include="wgl.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="源文件">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="头文件">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="资源文件">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Library Include="glfw3.lib">
|
||||
<Filter>资源文件</Filter>
|
||||
</Library>
|
||||
<Library Include="glfw3_mt.lib">
|
||||
<Filter>资源文件</Filter>
|
||||
</Library>
|
||||
<Library Include="glfw3dll.lib">
|
||||
<Filter>资源文件</Filter>
|
||||
</Library>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="dllmain.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="mat2.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="mat3.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="mat4.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="stb_image.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="StgSharpC.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="glfw3.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="glfw3native.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="khrplatform.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ssgc_framework.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ssgc_internal.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="stb_image.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="StgSharpC.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gl.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="wgl.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LocalDebuggerCommand>$(SolutionDir)Output\x64\Debug\net6.0\StgSharpDebug.exe</LocalDebuggerCommand>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,416 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Benchmark|Win32">
|
||||
<Configuration>Benchmark</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Benchmark|x64">
|
||||
<Configuration>Benchmark</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="RealDebug|Win32">
|
||||
<Configuration>RealDebug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="RealDebug|x64">
|
||||
<Configuration>RealDebug</Configuration>
|
||||
<Platform>x64</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="Toollist|Win32">
|
||||
<Configuration>Toollist</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Toollist|x64">
|
||||
<Configuration>Toollist</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>17.0</VCProjectVersion>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectGuid>{00ef73c2-cc73-4478-884e-08979f4a429a}</ProjectGuid>
|
||||
<RootNamespace>StgSharpGraphic</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
<ProjectName>StgSharpC</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Benchmark|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Toollist|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RealDebug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Benchmark|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Toollist|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RealDebug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</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 Condition="'$(Configuration)|$(Platform)'=='Benchmark|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)'=='Toollist|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)'=='RealDebug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Benchmark|x64'" 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)'=='Toollist|x64'" 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)'=='RealDebug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<TargetName>StgSharpC</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)include</IncludePath>
|
||||
<OutDir>$(SolutionDir)</OutDir>
|
||||
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(ProjectDir)lib</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Benchmark|x64'">
|
||||
<TargetName>StgSharpC</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)include</IncludePath>
|
||||
<OutDir>$(SolutionDir)</OutDir>
|
||||
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(ProjectDir)lib</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Toollist|x64'">
|
||||
<TargetName>StgSharpC</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)include</IncludePath>
|
||||
<OutDir>$(SolutionDir)</OutDir>
|
||||
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(ProjectDir)lib</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RealDebug|x64'">
|
||||
<TargetName>StgSharpC</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)include</IncludePath>
|
||||
<OutDir>$(SolutionDir)</OutDir>
|
||||
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(ProjectDir)lib</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<TargetName>StgSharpGraphic</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Benchmark|Win32'">
|
||||
<TargetName>StgSharpGraphic</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Toollist|Win32'">
|
||||
<TargetName>StgSharpGraphic</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RealDebug|Win32'">
|
||||
<TargetName>StgSharpGraphic</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<TargetName>StgSharpGraphic</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<TargetName>StgSharpC</TargetName>
|
||||
<IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)include</IncludePath>
|
||||
<OutDir>$(SolutionDir)</OutDir>
|
||||
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(ProjectDir)lib</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;STGSHARPGRAPHIC_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Benchmark|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;STGSHARPGRAPHIC_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Toollist|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;STGSHARPGRAPHIC_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RealDebug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;STGSHARPGRAPHIC_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;STGSHARPGRAPHIC_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>GLFW_BUILD_DLL;_DEBUG;STGSHARPGRAPHIC_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
<ShowIncludes>true</ShowIncludes>
|
||||
<AssemblerOutput>All</AssemblerOutput>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)lib</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>OpenGL32.lib;glfw3.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ShowProgress>LinkVerbose</ShowProgress>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Benchmark|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>GLFW_BUILD_DLL;_DEBUG;STGSHARPGRAPHIC_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
<ShowIncludes>true</ShowIncludes>
|
||||
<AssemblerOutput>All</AssemblerOutput>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)lib</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>OpenGL32.lib;glfw3.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ShowProgress>LinkVerbose</ShowProgress>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Toollist|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>GLFW_BUILD_DLL;_DEBUG;STGSHARPGRAPHIC_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
<ShowIncludes>true</ShowIncludes>
|
||||
<AssemblerOutput>All</AssemblerOutput>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)lib</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>OpenGL32.lib;glfw3.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ShowProgress>LinkVerbose</ShowProgress>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='RealDebug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>GLFW_BUILD_DLL;_DEBUG;STGSHARPGRAPHIC_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
<ShowIncludes>true</ShowIncludes>
|
||||
<AssemblerOutput>All</AssemblerOutput>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)lib</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>OpenGL32.lib;glfw3.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ShowProgress>LinkVerbose</ShowProgress>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_GLFW_BUILD_DLL;NDEBUG;STGSHARPGRAPHIC_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<AssemblerOutput>All</AssemblerOutput>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
<ShowIncludes>true</ShowIncludes>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableUAC>false</EnableUAC>
|
||||
<AdditionalLibraryDirectories>$(ProjectDir)lib</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>glfw3dll.lib;glfw3.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<MapExports>true</MapExports>
|
||||
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
|
||||
<ShowProgress>LinkVerbose</ShowProgress>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\glad_gl.h" />
|
||||
<ClInclude Include="include\glad_glsc2.h" />
|
||||
<ClInclude Include="include\glad_glx.h" />
|
||||
<ClInclude Include="include\glad_wgl.h" />
|
||||
<ClInclude Include="include\glfw3.h" />
|
||||
<ClInclude Include="include\glfw3native.h" />
|
||||
<ClInclude Include="include\khrplatform.h" />
|
||||
<ClInclude Include="include\ssgc_framework.h" />
|
||||
<ClInclude Include="include\ssgc_internal.h" />
|
||||
<ClInclude Include="include\stb_image.h" />
|
||||
<ClInclude Include="include\StgSharpC.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Library Include="lib\glfw3.lib" />
|
||||
<Library Include="lib\glfw3dll.lib" />
|
||||
<Library Include="lib\glfw3_mt.lib" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="debuger.c" />
|
||||
<ClCompile Include="dllmain.c" />
|
||||
<ClCompile Include="glsc2.c" />
|
||||
<ClCompile Include="linear.c" />
|
||||
<ClCompile Include="mat2.c" />
|
||||
<ClCompile Include="mat3.c" />
|
||||
<ClCompile Include="mat4.c" />
|
||||
<ClCompile Include="stb_image.c" />
|
||||
<ClCompile Include="StgSharpC.c" />
|
||||
<ClCompile Include="wgl.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -1,110 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="源文件">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="头文件">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="资源文件">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="头文件\glad">
|
||||
<UniqueIdentifier>{11bb7d6d-b350-4396-81cf-94252c7ac868}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="头文件\glfw">
|
||||
<UniqueIdentifier>{0f11315e-afa5-47bd-8cda-99fa20df04d9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="头文件\KHRplatform">
|
||||
<UniqueIdentifier>{832aa80e-51b7-4954-aafc-d3d4aaaa09ec}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="资源文件\glfw">
|
||||
<UniqueIdentifier>{0384ee02-17f6-48b6-b1c6-7717af12fea9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="源文件\glad">
|
||||
<UniqueIdentifier>{d0bf8adc-b25d-4590-8735-46e4af45e1a0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\glfw3.h">
|
||||
<Filter>头文件\glfw</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\glfw3native.h">
|
||||
<Filter>头文件\glfw</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\glad_gl.h">
|
||||
<Filter>头文件\glad</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\glad_glsc2.h">
|
||||
<Filter>头文件\glad</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\glad_glx.h">
|
||||
<Filter>头文件\glad</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\glad_wgl.h">
|
||||
<Filter>头文件\glad</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\ssgc_framework.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\ssgc_internal.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\StgSharpC.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\khrplatform.h">
|
||||
<Filter>头文件\KHRplatform</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\stb_image.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Library Include="lib\glfw3.lib">
|
||||
<Filter>资源文件\glfw</Filter>
|
||||
</Library>
|
||||
<Library Include="lib\glfw3_mt.lib">
|
||||
<Filter>资源文件\glfw</Filter>
|
||||
</Library>
|
||||
<Library Include="lib\glfw3dll.lib">
|
||||
<Filter>资源文件\glfw</Filter>
|
||||
</Library>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="debuger.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="dllmain.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="linear.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="mat2.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="mat3.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="mat4.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="StgSharpC.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="glsc2.c">
|
||||
<Filter>源文件\glad</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="wgl.c">
|
||||
<Filter>源文件\glad</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="stb_image.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup />
|
||||
</Project>
|
||||
@@ -1,393 +0,0 @@
|
||||
#include <Windows.h>
|
||||
#include <GL/gl.h>
|
||||
#include <tchar.h>
|
||||
#include <iostream>
|
||||
|
||||
|
||||
#define SIMPLE_DEMO 0
|
||||
|
||||
#if defined SIMPLE_DEMO && SIMPLE_DEMO ==1
|
||||
|
||||
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
|
||||
{
|
||||
// Create a window
|
||||
const char* className = "OpenGLWindowClass";
|
||||
const char* windowTitle = "OpenGL Window";
|
||||
const int windowWidth = 800;
|
||||
const int windowHeight = 600;
|
||||
|
||||
WNDCLASSEX wc = {};
|
||||
wc.cbSize = sizeof(WNDCLASSEX);
|
||||
wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
|
||||
wc.lpfnWndProc = WindowProc;
|
||||
wc.hInstance = hInstance;
|
||||
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||
wc.lpszClassName = _T("OpenGLWindowClass");
|
||||
|
||||
if (!RegisterClassEx(&wc))
|
||||
{
|
||||
MessageBox(NULL, _T("Failed to register window class"), _T("Error"), MB_OK | MB_ICONERROR);
|
||||
return -1;
|
||||
}
|
||||
|
||||
HWND hwnd = CreateWindowEx(
|
||||
0, //窗口扩展风格
|
||||
_T("OpenGLWindowClass"), //指向注册类名的指针
|
||||
_T("OpenGL Window"), //指向窗口名称的指针
|
||||
WS_OVERLAPPEDWINDOW, //窗口风格
|
||||
CW_USEDEFAULT, //窗口水平位置
|
||||
CW_USEDEFAULT, //窗口垂直位置
|
||||
windowWidth, //窗口宽度
|
||||
windowHeight, //窗口深度
|
||||
NULL, //父窗口的句柄
|
||||
NULL, //菜单的句柄或是子窗口的标识符
|
||||
hInstance, //应用程序实例的句柄
|
||||
NULL //指向窗口的创建数据
|
||||
);
|
||||
|
||||
if (!hwnd)
|
||||
{
|
||||
MessageBox(NULL, _T("Failed to create window"), _T("Error"), MB_OK | MB_ICONERROR);
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateWindow(hwnd);
|
||||
ShowWindow(hwnd, SW_SHOW);
|
||||
}
|
||||
|
||||
HDC hdc = GetDC(hwnd);
|
||||
|
||||
// Set pixel format
|
||||
PIXELFORMATDESCRIPTOR pfd = {};
|
||||
pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);
|
||||
pfd.nVersion = 1;
|
||||
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
|
||||
pfd.iPixelType = PFD_TYPE_RGBA;
|
||||
pfd.cColorBits = 32;
|
||||
pfd.cDepthBits = 24;
|
||||
pfd.cStencilBits = 8;
|
||||
pfd.iLayerType = PFD_MAIN_PLANE;
|
||||
|
||||
int pixelFormat = ChoosePixelFormat(hdc, &pfd);
|
||||
if (!SetPixelFormat(hdc, pixelFormat, &pfd))
|
||||
{
|
||||
MessageBox(NULL, _T("Failed to set pixel format"), _T("Error"), MB_OK | MB_ICONERROR);
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Create and activate OpenGL context
|
||||
HGLRC hglrc = wglCreateContext(hdc);
|
||||
if (!wglMakeCurrent(hdc, hglrc))
|
||||
{
|
||||
MessageBox(NULL, _T("Failed to make OpenGL context current"), _T("Error"), MB_OK | MB_ICONERROR);
|
||||
return -1;
|
||||
}
|
||||
|
||||
MessageBoxA(0, (char*)glGetString(GL_VERSION), "OPENGL VERSION", 0);
|
||||
|
||||
// Now you have an active OpenGL context
|
||||
|
||||
// Main message loop
|
||||
MSG msg = {};
|
||||
while (GetMessage(&msg, NULL, 0, 0))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
|
||||
|
||||
// Clean up and exit
|
||||
wglMakeCurrent(NULL, NULL);
|
||||
wglDeleteContext(hglrc);
|
||||
ReleaseDC(hwnd, hdc);
|
||||
DestroyWindow(hwnd);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_CLOSE:
|
||||
PostQuitMessage(0);
|
||||
return 0;
|
||||
|
||||
case WM_DESTROY:
|
||||
return 0;
|
||||
}
|
||||
return DefWindowProc(hwnd, uMsg, wParam, lParam);
|
||||
}
|
||||
|
||||
#else
|
||||
// Sample code showing how to create a modern OpenGL window and rendering context on Win32.
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
typedef HGLRC WINAPI wglCreateContextAttribsARB_type(HDC hdc, HGLRC hShareContext, const int* attribList);
|
||||
|
||||
wglCreateContextAttribsARB_type* wglCreateContextAttribsARB;
|
||||
|
||||
// See https://www.opengl.org/registry/specs/ARB/wgl_create_context.txt for all values
|
||||
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
||||
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
|
||||
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
|
||||
|
||||
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
|
||||
|
||||
typedef BOOL WINAPI wglChoosePixelFormatARB_type(HDC hdc, const int* piAttribIList, const FLOAT* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats);
|
||||
|
||||
wglChoosePixelFormatARB_type* wglChoosePixelFormatARB;
|
||||
|
||||
// See https://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt for all values
|
||||
#define WGL_DRAW_TO_WINDOW_ARB 0x2001
|
||||
#define WGL_ACCELERATION_ARB 0x2003
|
||||
#define WGL_SUPPORT_OPENGL_ARB 0x2010
|
||||
#define WGL_DOUBLE_BUFFER_ARB 0x2011
|
||||
#define WGL_PIXEL_TYPE_ARB 0x2013
|
||||
#define WGL_COLOR_BITS_ARB 0x2014
|
||||
#define WGL_DEPTH_BITS_ARB 0x2022
|
||||
#define WGL_STENCIL_BITS_ARB 0x2023
|
||||
|
||||
#define WGL_FULL_ACCELERATION_ARB 0x2027
|
||||
#define WGL_TYPE_RGBA_ARB 0x202B
|
||||
|
||||
static void
|
||||
fatal_error(const char* msg)
|
||||
{
|
||||
MessageBoxA(NULL, msg, "Error", MB_OK | MB_ICONEXCLAMATION);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
static void
|
||||
init_opengl_extensions(void)
|
||||
{
|
||||
// Before we can load extensions, we need a dummy OpenGL context, created using a dummy window.
|
||||
// We use a dummy window because you can only set the pixel format for a window once. For the
|
||||
// real window, we want to use wglChoosePixelFormatARB (so we can potentially specify options
|
||||
// that aren't available in PIXELFORMATDESCRIPTOR), but we can't load and use that before we
|
||||
// have a context.
|
||||
WNDCLASSA window_class = {};
|
||||
window_class.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
|
||||
window_class.lpfnWndProc = DefWindowProcA;
|
||||
window_class.hInstance = GetModuleHandle(0);
|
||||
window_class.lpszClassName = "Dummy_WGL_djuasiodwa";
|
||||
|
||||
if (!RegisterClassA(&window_class)) {
|
||||
fatal_error("Failed to register dummy OpenGL window.");
|
||||
}
|
||||
|
||||
HWND dummy_window = CreateWindowExA(
|
||||
0,
|
||||
window_class.lpszClassName,
|
||||
"Dummy OpenGL Window",
|
||||
0,
|
||||
CW_USEDEFAULT,
|
||||
CW_USEDEFAULT,
|
||||
CW_USEDEFAULT,
|
||||
CW_USEDEFAULT,
|
||||
0,
|
||||
0,
|
||||
window_class.hInstance,
|
||||
0);
|
||||
|
||||
if (!dummy_window) {
|
||||
fatal_error("Failed to create dummy OpenGL window.");
|
||||
}
|
||||
|
||||
HDC dummy_dc = GetDC(dummy_window);
|
||||
|
||||
PIXELFORMATDESCRIPTOR pfd = {};
|
||||
pfd.nSize = sizeof(pfd);
|
||||
pfd.nVersion = 1;
|
||||
pfd.iPixelType = PFD_TYPE_RGBA;
|
||||
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
|
||||
pfd.cColorBits = 32;
|
||||
pfd.cAlphaBits = 8;
|
||||
pfd.iLayerType = PFD_MAIN_PLANE;
|
||||
pfd.cDepthBits = 24;
|
||||
pfd.cStencilBits = 8;
|
||||
|
||||
int pixel_format = ChoosePixelFormat(dummy_dc, &pfd);
|
||||
if (!pixel_format) {
|
||||
fatal_error("Failed to find a suitable pixel format.");
|
||||
}
|
||||
if (!SetPixelFormat(dummy_dc, pixel_format, &pfd)) {
|
||||
fatal_error("Failed to set the pixel format.");
|
||||
}
|
||||
|
||||
HGLRC dummy_context = wglCreateContext(dummy_dc);
|
||||
if (!dummy_context) {
|
||||
fatal_error("Failed to create a dummy OpenGL rendering context.");
|
||||
}
|
||||
|
||||
if (!wglMakeCurrent(dummy_dc, dummy_context)) {
|
||||
fatal_error("Failed to activate dummy OpenGL rendering context.");
|
||||
}
|
||||
|
||||
wglCreateContextAttribsARB = (wglCreateContextAttribsARB_type*)wglGetProcAddress("wglCreateContextAttribsARB");
|
||||
wglChoosePixelFormatARB = (wglChoosePixelFormatARB_type*)wglGetProcAddress("wglChoosePixelFormatARB");
|
||||
|
||||
wglMakeCurrent(dummy_dc, 0);
|
||||
wglDeleteContext(dummy_context);
|
||||
ReleaseDC(dummy_window, dummy_dc);
|
||||
DestroyWindow(dummy_window);
|
||||
}
|
||||
|
||||
static HGLRC
|
||||
init_opengl(HDC real_dc)
|
||||
{
|
||||
init_opengl_extensions();
|
||||
|
||||
// Now we can choose a pixel format the modern way, using wglChoosePixelFormatARB.
|
||||
int pixel_format_attribs[] = {
|
||||
WGL_DRAW_TO_WINDOW_ARB, GL_TRUE,
|
||||
WGL_SUPPORT_OPENGL_ARB, GL_TRUE,
|
||||
WGL_DOUBLE_BUFFER_ARB, GL_TRUE,
|
||||
WGL_ACCELERATION_ARB, WGL_FULL_ACCELERATION_ARB,
|
||||
WGL_PIXEL_TYPE_ARB, WGL_TYPE_RGBA_ARB,
|
||||
WGL_COLOR_BITS_ARB, 32,
|
||||
WGL_DEPTH_BITS_ARB, 24,
|
||||
WGL_STENCIL_BITS_ARB, 8,
|
||||
0
|
||||
};
|
||||
|
||||
int pixel_format;
|
||||
UINT num_formats;
|
||||
wglChoosePixelFormatARB(real_dc, pixel_format_attribs, 0, 1, &pixel_format, &num_formats);
|
||||
if (!num_formats) {
|
||||
fatal_error("Failed to set the OpenGL 3.3 pixel format.");
|
||||
}
|
||||
|
||||
PIXELFORMATDESCRIPTOR pfd;
|
||||
DescribePixelFormat(real_dc, pixel_format, sizeof(pfd), &pfd);
|
||||
if (!SetPixelFormat(real_dc, pixel_format, &pfd)) {
|
||||
fatal_error("Failed to set the OpenGL 3.3 pixel format.");
|
||||
}
|
||||
|
||||
// Specify that we want to create an OpenGL 4.6 core profile context
|
||||
int gl33_attribs[] = {
|
||||
WGL_CONTEXT_MAJOR_VERSION_ARB, 4,
|
||||
WGL_CONTEXT_MINOR_VERSION_ARB, 6,
|
||||
WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB,
|
||||
0,
|
||||
};
|
||||
|
||||
HGLRC gl33_context = wglCreateContextAttribsARB(real_dc, 0, gl33_attribs);
|
||||
if (!gl33_context) {
|
||||
fatal_error("Failed to create OpenGL 3.3 context.");
|
||||
}
|
||||
|
||||
if (!wglMakeCurrent(real_dc, gl33_context)) {
|
||||
fatal_error("Failed to activate OpenGL 3.3 rendering context.");
|
||||
}
|
||||
|
||||
return gl33_context;
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK
|
||||
window_callback(HWND window, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||
{
|
||||
LRESULT result = 0;
|
||||
|
||||
switch (msg) {
|
||||
case WM_CLOSE:
|
||||
case WM_DESTROY:
|
||||
PostQuitMessage(0);
|
||||
break;
|
||||
default:
|
||||
result = DefWindowProcA(window, msg, wparam, lparam);
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static HWND
|
||||
create_window(HINSTANCE inst)
|
||||
{
|
||||
WNDCLASSA window_class = {};
|
||||
window_class.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
|
||||
window_class.lpfnWndProc = window_callback;
|
||||
window_class.hInstance = inst;
|
||||
window_class.hCursor = LoadCursor(0, IDC_ARROW);
|
||||
window_class.hbrBackground = 0;
|
||||
window_class.lpszClassName = "WGL_fdjhsklf";
|
||||
|
||||
if (!RegisterClassA(&window_class)) {
|
||||
fatal_error("Failed to register window.");
|
||||
}
|
||||
|
||||
// Specify a desired width and height, then adjust the rect so the window's client area will be
|
||||
// that size.
|
||||
RECT rect = { };
|
||||
rect.right = 1024;
|
||||
rect.bottom = 576;
|
||||
|
||||
DWORD window_style = WS_OVERLAPPEDWINDOW;
|
||||
AdjustWindowRect(&rect, window_style, false);
|
||||
|
||||
HWND window = CreateWindowExA(
|
||||
0,
|
||||
window_class.lpszClassName,
|
||||
"OpenGL",
|
||||
window_style,
|
||||
CW_USEDEFAULT,
|
||||
CW_USEDEFAULT,
|
||||
rect.right - rect.left,
|
||||
rect.bottom - rect.top,
|
||||
0,
|
||||
0,
|
||||
inst,
|
||||
0);
|
||||
|
||||
if (!window) {
|
||||
fatal_error("Failed to create window.");
|
||||
}
|
||||
|
||||
return window;
|
||||
}
|
||||
|
||||
|
||||
int WINAPI
|
||||
WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmd_line, int show)
|
||||
{
|
||||
HWND window = create_window(inst);
|
||||
HDC gldc = GetDC(window);
|
||||
HGLRC glrc = init_opengl(gldc);
|
||||
|
||||
ShowWindow(window, show);
|
||||
UpdateWindow(window);
|
||||
|
||||
|
||||
|
||||
|
||||
bool running = true;
|
||||
while (running) {
|
||||
MSG msg;
|
||||
while (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE)) {
|
||||
if (msg.message == WM_QUIT) {
|
||||
running = false;
|
||||
}
|
||||
else {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessageA(&msg);
|
||||
}
|
||||
}
|
||||
|
||||
glClearColor(1.0f, 0.5f, 0.5f, 1.0f);
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
// Do OpenGL rendering here
|
||||
|
||||
SwapBuffers(gldc);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+5
-21
@@ -1,13 +1,10 @@
|
||||
// dllmain.cpp : 定义 DLL 应用程序的入口点。
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
#include "./include/ssgc_framework.h"
|
||||
#include "ssgc_framework.h"
|
||||
#endif // __
|
||||
|
||||
|
||||
#include "./include/StgSharpC.h"
|
||||
|
||||
#include "StgSharpC.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
BOOL APIENTRY DllMain(HMODULE hModule,
|
||||
@@ -18,10 +15,7 @@ BOOL APIENTRY DllMain(HMODULE hModule,
|
||||
switch (ul_reason_for_call)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
do
|
||||
{
|
||||
defaultVecPtr = _aligned_malloc(sizeof(__m128), 16);
|
||||
} while (defaultVecPtr == NULL);
|
||||
|
||||
return 1;
|
||||
|
||||
case DLL_THREAD_ATTACH:
|
||||
@@ -33,23 +27,13 @@ BOOL APIENTRY DllMain(HMODULE hModule,
|
||||
case DLL_PROCESS_DETACH:
|
||||
return 1;
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
#else
|
||||
attribute((constructor)) void DllMain()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#endif // _WIN32
|
||||
|
||||
|
||||
__m128* defaultVecPtr = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _WIN32
|
||||
-5384
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,325 +0,0 @@
|
||||
/**
|
||||
* SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "./include/glad_glsc2.h"
|
||||
|
||||
#ifndef GLAD_IMPL_UTIL_C_
|
||||
#define GLAD_IMPL_UTIL_C_
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define GLAD_IMPL_UTIL_SSCANF sscanf_s
|
||||
#else
|
||||
#define GLAD_IMPL_UTIL_SSCANF sscanf
|
||||
#endif
|
||||
|
||||
#endif /* GLAD_IMPL_UTIL_C_ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static void glad_gl_load_GL_SC_VERSION_2_0(GladGLSC2Context* context, GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!context->SC_VERSION_2_0) return;
|
||||
context->ActiveTexture = (PFNGLACTIVETEXTUREPROC)load(userptr, "glActiveTexture");
|
||||
context->BindBuffer = (PFNGLBINDBUFFERPROC)load(userptr, "glBindBuffer");
|
||||
context->BindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)load(userptr, "glBindFramebuffer");
|
||||
context->BindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)load(userptr, "glBindRenderbuffer");
|
||||
context->BindTexture = (PFNGLBINDTEXTUREPROC)load(userptr, "glBindTexture");
|
||||
context->BlendColor = (PFNGLBLENDCOLORPROC)load(userptr, "glBlendColor");
|
||||
context->BlendEquation = (PFNGLBLENDEQUATIONPROC)load(userptr, "glBlendEquation");
|
||||
context->BlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC)load(userptr, "glBlendEquationSeparate");
|
||||
context->BlendFunc = (PFNGLBLENDFUNCPROC)load(userptr, "glBlendFunc");
|
||||
context->BlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)load(userptr, "glBlendFuncSeparate");
|
||||
context->BufferData = (PFNGLBUFFERDATAPROC)load(userptr, "glBufferData");
|
||||
context->BufferSubData = (PFNGLBUFFERSUBDATAPROC)load(userptr, "glBufferSubData");
|
||||
context->CheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)load(userptr, "glCheckFramebufferStatus");
|
||||
context->Clear = (PFNGLCLEARPROC)load(userptr, "glClear");
|
||||
context->ClearColor = (PFNGLCLEARCOLORPROC)load(userptr, "glClearColor");
|
||||
context->ClearDepthf = (PFNGLCLEARDEPTHFPROC)load(userptr, "glClearDepthf");
|
||||
context->ClearStencil = (PFNGLCLEARSTENCILPROC)load(userptr, "glClearStencil");
|
||||
context->ColorMask = (PFNGLCOLORMASKPROC)load(userptr, "glColorMask");
|
||||
context->CompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)load(userptr, "glCompressedTexSubImage2D");
|
||||
context->CreateProgram = (PFNGLCREATEPROGRAMPROC)load(userptr, "glCreateProgram");
|
||||
context->CullFace = (PFNGLCULLFACEPROC)load(userptr, "glCullFace");
|
||||
context->DepthFunc = (PFNGLDEPTHFUNCPROC)load(userptr, "glDepthFunc");
|
||||
context->DepthMask = (PFNGLDEPTHMASKPROC)load(userptr, "glDepthMask");
|
||||
context->DepthRangef = (PFNGLDEPTHRANGEFPROC)load(userptr, "glDepthRangef");
|
||||
context->Disable = (PFNGLDISABLEPROC)load(userptr, "glDisable");
|
||||
context->DisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)load(userptr, "glDisableVertexAttribArray");
|
||||
context->DrawArrays = (PFNGLDRAWARRAYSPROC)load(userptr, "glDrawArrays");
|
||||
context->DrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)load(userptr, "glDrawRangeElements");
|
||||
context->Enable = (PFNGLENABLEPROC)load(userptr, "glEnable");
|
||||
context->EnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)load(userptr, "glEnableVertexAttribArray");
|
||||
context->Finish = (PFNGLFINISHPROC)load(userptr, "glFinish");
|
||||
context->Flush = (PFNGLFLUSHPROC)load(userptr, "glFlush");
|
||||
context->FramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)load(userptr, "glFramebufferRenderbuffer");
|
||||
context->FramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)load(userptr, "glFramebufferTexture2D");
|
||||
context->FrontFace = (PFNGLFRONTFACEPROC)load(userptr, "glFrontFace");
|
||||
context->GenBuffers = (PFNGLGENBUFFERSPROC)load(userptr, "glGenBuffers");
|
||||
context->GenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)load(userptr, "glGenFramebuffers");
|
||||
context->GenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)load(userptr, "glGenRenderbuffers");
|
||||
context->GenTextures = (PFNGLGENTEXTURESPROC)load(userptr, "glGenTextures");
|
||||
context->GenerateMipmap = (PFNGLGENERATEMIPMAPPROC)load(userptr, "glGenerateMipmap");
|
||||
context->GetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC)load(userptr, "glGetAttribLocation");
|
||||
context->GetBooleanv = (PFNGLGETBOOLEANVPROC)load(userptr, "glGetBooleanv");
|
||||
context->GetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load(userptr, "glGetBufferParameteriv");
|
||||
context->GetError = (PFNGLGETERRORPROC)load(userptr, "glGetError");
|
||||
context->GetFloatv = (PFNGLGETFLOATVPROC)load(userptr, "glGetFloatv");
|
||||
context->GetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)load(userptr, "glGetFramebufferAttachmentParameteriv");
|
||||
context->GetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC)load(userptr, "glGetGraphicsResetStatus");
|
||||
context->GetIntegerv = (PFNGLGETINTEGERVPROC)load(userptr, "glGetIntegerv");
|
||||
context->GetProgramiv = (PFNGLGETPROGRAMIVPROC)load(userptr, "glGetProgramiv");
|
||||
context->GetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC)load(userptr, "glGetRenderbufferParameteriv");
|
||||
context->GetString = (PFNGLGETSTRINGPROC)load(userptr, "glGetString");
|
||||
context->GetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC)load(userptr, "glGetTexParameterfv");
|
||||
context->GetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC)load(userptr, "glGetTexParameteriv");
|
||||
context->GetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)load(userptr, "glGetUniformLocation");
|
||||
context->GetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC)load(userptr, "glGetVertexAttribPointerv");
|
||||
context->GetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC)load(userptr, "glGetVertexAttribfv");
|
||||
context->GetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC)load(userptr, "glGetVertexAttribiv");
|
||||
context->GetnUniformfv = (PFNGLGETNUNIFORMFVPROC)load(userptr, "glGetnUniformfv");
|
||||
context->GetnUniformiv = (PFNGLGETNUNIFORMIVPROC)load(userptr, "glGetnUniformiv");
|
||||
context->Hint = (PFNGLHINTPROC)load(userptr, "glHint");
|
||||
context->IsEnabled = (PFNGLISENABLEDPROC)load(userptr, "glIsEnabled");
|
||||
context->LineWidth = (PFNGLLINEWIDTHPROC)load(userptr, "glLineWidth");
|
||||
context->PixelStorei = (PFNGLPIXELSTOREIPROC)load(userptr, "glPixelStorei");
|
||||
context->PolygonOffset = (PFNGLPOLYGONOFFSETPROC)load(userptr, "glPolygonOffset");
|
||||
context->ProgramBinary = (PFNGLPROGRAMBINARYPROC)load(userptr, "glProgramBinary");
|
||||
context->ReadnPixels = (PFNGLREADNPIXELSPROC)load(userptr, "glReadnPixels");
|
||||
context->RenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC)load(userptr, "glRenderbufferStorage");
|
||||
context->SampleCoverage = (PFNGLSAMPLECOVERAGEPROC)load(userptr, "glSampleCoverage");
|
||||
context->Scissor = (PFNGLSCISSORPROC)load(userptr, "glScissor");
|
||||
context->StencilFunc = (PFNGLSTENCILFUNCPROC)load(userptr, "glStencilFunc");
|
||||
context->StencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC)load(userptr, "glStencilFuncSeparate");
|
||||
context->StencilMask = (PFNGLSTENCILMASKPROC)load(userptr, "glStencilMask");
|
||||
context->StencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC)load(userptr, "glStencilMaskSeparate");
|
||||
context->StencilOp = (PFNGLSTENCILOPPROC)load(userptr, "glStencilOp");
|
||||
context->StencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC)load(userptr, "glStencilOpSeparate");
|
||||
context->TexParameterf = (PFNGLTEXPARAMETERFPROC)load(userptr, "glTexParameterf");
|
||||
context->TexParameterfv = (PFNGLTEXPARAMETERFVPROC)load(userptr, "glTexParameterfv");
|
||||
context->TexParameteri = (PFNGLTEXPARAMETERIPROC)load(userptr, "glTexParameteri");
|
||||
context->TexParameteriv = (PFNGLTEXPARAMETERIVPROC)load(userptr, "glTexParameteriv");
|
||||
context->TexStorage2D = (PFNGLTEXSTORAGE2DPROC)load(userptr, "glTexStorage2D");
|
||||
context->TexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC)load(userptr, "glTexSubImage2D");
|
||||
context->Uniform1f = (PFNGLUNIFORM1FPROC)load(userptr, "glUniform1f");
|
||||
context->Uniform1fv = (PFNGLUNIFORM1FVPROC)load(userptr, "glUniform1fv");
|
||||
context->Uniform1i = (PFNGLUNIFORM1IPROC)load(userptr, "glUniform1i");
|
||||
context->Uniform1iv = (PFNGLUNIFORM1IVPROC)load(userptr, "glUniform1iv");
|
||||
context->Uniform2f = (PFNGLUNIFORM2FPROC)load(userptr, "glUniform2f");
|
||||
context->Uniform2fv = (PFNGLUNIFORM2FVPROC)load(userptr, "glUniform2fv");
|
||||
context->Uniform2i = (PFNGLUNIFORM2IPROC)load(userptr, "glUniform2i");
|
||||
context->Uniform2iv = (PFNGLUNIFORM2IVPROC)load(userptr, "glUniform2iv");
|
||||
context->Uniform3f = (PFNGLUNIFORM3FPROC)load(userptr, "glUniform3f");
|
||||
context->Uniform3fv = (PFNGLUNIFORM3FVPROC)load(userptr, "glUniform3fv");
|
||||
context->Uniform3i = (PFNGLUNIFORM3IPROC)load(userptr, "glUniform3i");
|
||||
context->Uniform3iv = (PFNGLUNIFORM3IVPROC)load(userptr, "glUniform3iv");
|
||||
context->Uniform4f = (PFNGLUNIFORM4FPROC)load(userptr, "glUniform4f");
|
||||
context->Uniform4fv = (PFNGLUNIFORM4FVPROC)load(userptr, "glUniform4fv");
|
||||
context->Uniform4i = (PFNGLUNIFORM4IPROC)load(userptr, "glUniform4i");
|
||||
context->Uniform4iv = (PFNGLUNIFORM4IVPROC)load(userptr, "glUniform4iv");
|
||||
context->UniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC)load(userptr, "glUniformMatrix2fv");
|
||||
context->UniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC)load(userptr, "glUniformMatrix3fv");
|
||||
context->UniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)load(userptr, "glUniformMatrix4fv");
|
||||
context->UseProgram = (PFNGLUSEPROGRAMPROC)load(userptr, "glUseProgram");
|
||||
context->VertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC)load(userptr, "glVertexAttrib1f");
|
||||
context->VertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC)load(userptr, "glVertexAttrib1fv");
|
||||
context->VertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC)load(userptr, "glVertexAttrib2f");
|
||||
context->VertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC)load(userptr, "glVertexAttrib2fv");
|
||||
context->VertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC)load(userptr, "glVertexAttrib3f");
|
||||
context->VertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC)load(userptr, "glVertexAttrib3fv");
|
||||
context->VertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC)load(userptr, "glVertexAttrib4f");
|
||||
context->VertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)load(userptr, "glVertexAttrib4fv");
|
||||
context->VertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)load(userptr, "glVertexAttribPointer");
|
||||
context->Viewport = (PFNGLVIEWPORTPROC)load(userptr, "glViewport");
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
|
||||
#define GLAD_GL_IS_SOME_NEW_VERSION 1
|
||||
#else
|
||||
#define GLAD_GL_IS_SOME_NEW_VERSION 0
|
||||
#endif
|
||||
|
||||
static int glad_gl_get_extensions(GladGLSC2Context* context, int version, const char** out_exts, unsigned int* out_num_exts_i, char*** out_exts_i) {
|
||||
#if GLAD_GL_IS_SOME_NEW_VERSION
|
||||
if (GLAD_VERSION_MAJOR(version) < 3) {
|
||||
#else
|
||||
GLAD_UNUSED(version);
|
||||
GLAD_UNUSED(out_num_exts_i);
|
||||
GLAD_UNUSED(out_exts_i);
|
||||
#endif
|
||||
if (context->GetString == NULL) {
|
||||
return 0;
|
||||
}
|
||||
*out_exts = (const char*)context->GetString(GL_EXTENSIONS);
|
||||
#if GLAD_GL_IS_SOME_NEW_VERSION
|
||||
}
|
||||
else {
|
||||
unsigned int index = 0;
|
||||
unsigned int num_exts_i = 0;
|
||||
char** exts_i = NULL;
|
||||
if (context->GetStringi == NULL || context->GetIntegerv == NULL) {
|
||||
return 0;
|
||||
}
|
||||
context->GetIntegerv(GL_NUM_EXTENSIONS, (int*)&num_exts_i);
|
||||
if (num_exts_i > 0) {
|
||||
exts_i = (char**)malloc(num_exts_i * (sizeof * exts_i));
|
||||
}
|
||||
if (exts_i == NULL) {
|
||||
return 0;
|
||||
}
|
||||
for (index = 0; index < num_exts_i; index++) {
|
||||
const char* gl_str_tmp = (const char*)context->GetStringi(GL_EXTENSIONS, index);
|
||||
size_t len = strlen(gl_str_tmp) + 1;
|
||||
|
||||
char* local_str = (char*)malloc(len * sizeof(char));
|
||||
if (local_str != NULL) {
|
||||
memcpy(local_str, gl_str_tmp, len * sizeof(char));
|
||||
}
|
||||
|
||||
exts_i[index] = local_str;
|
||||
}
|
||||
|
||||
*out_num_exts_i = num_exts_i;
|
||||
*out_exts_i = exts_i;
|
||||
}
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
static void glad_gl_free_extensions(char** exts_i, unsigned int num_exts_i) {
|
||||
if (exts_i != NULL) {
|
||||
unsigned int index;
|
||||
for (index = 0; index < num_exts_i; index++) {
|
||||
free((void*)(exts_i[index]));
|
||||
}
|
||||
free((void*)exts_i);
|
||||
exts_i = NULL;
|
||||
}
|
||||
}
|
||||
static int glad_gl_has_extension(int version, const char* exts, unsigned int num_exts_i, char** exts_i, const char* ext) {
|
||||
if (GLAD_VERSION_MAJOR(version) < 3 || !GLAD_GL_IS_SOME_NEW_VERSION) {
|
||||
const char* extensions;
|
||||
const char* loc;
|
||||
const char* terminator;
|
||||
extensions = exts;
|
||||
if (extensions == NULL || ext == NULL) {
|
||||
return 0;
|
||||
}
|
||||
while (1) {
|
||||
loc = strstr(extensions, ext);
|
||||
if (loc == NULL) {
|
||||
return 0;
|
||||
}
|
||||
terminator = loc + strlen(ext);
|
||||
if ((loc == extensions || *(loc - 1) == ' ') &&
|
||||
(*terminator == ' ' || *terminator == '\0')) {
|
||||
return 1;
|
||||
}
|
||||
extensions = terminator;
|
||||
}
|
||||
}
|
||||
else {
|
||||
unsigned int index;
|
||||
for (index = 0; index < num_exts_i; index++) {
|
||||
const char* e = exts_i[index];
|
||||
if (strcmp(e, ext) == 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static GLADapiproc glad_gl_get_proc_from_userptr(void* userptr, const char* name) {
|
||||
return (GLAD_GNUC_EXTENSION(GLADapiproc(*)(const char* name)) userptr)(name);
|
||||
}
|
||||
|
||||
static int glad_gl_find_extensions_glsc2(GladGLSC2Context* context, int version) {
|
||||
const char* exts = NULL;
|
||||
unsigned int num_exts_i = 0;
|
||||
char** exts_i = NULL;
|
||||
if (!glad_gl_get_extensions(context, version, &exts, &num_exts_i, &exts_i)) return 0;
|
||||
|
||||
context->EXT_texture_compression_s3tc = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_texture_compression_s3tc");
|
||||
context->IMG_pvric_end_to_end_signature = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_IMG_pvric_end_to_end_signature");
|
||||
context->IMG_tile_region_protection = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_IMG_tile_region_protection");
|
||||
context->OES_depth24 = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_OES_depth24");
|
||||
context->OES_depth32 = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_OES_depth32");
|
||||
context->OES_rgb8_rgba8 = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_OES_rgb8_rgba8");
|
||||
context->OES_standard_derivatives = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_OES_standard_derivatives");
|
||||
|
||||
glad_gl_free_extensions(exts_i, num_exts_i);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int glad_gl_find_core_glsc2(GladGLSC2Context* context) {
|
||||
int i;
|
||||
const char* version;
|
||||
const char* prefixes[] = {
|
||||
"OpenGL ES-CM ",
|
||||
"OpenGL ES-CL ",
|
||||
"OpenGL ES ",
|
||||
"OpenGL SC ",
|
||||
NULL
|
||||
};
|
||||
int major = 0;
|
||||
int minor = 0;
|
||||
version = (const char*)context->GetString(GL_VERSION);
|
||||
if (!version) return 0;
|
||||
for (i = 0; prefixes[i]; i++) {
|
||||
const size_t length = strlen(prefixes[i]);
|
||||
if (strncmp(version, prefixes[i], length) == 0) {
|
||||
version += length;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
GLAD_IMPL_UTIL_SSCANF(version, "%d.%d", &major, &minor);
|
||||
|
||||
context->SC_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
|
||||
|
||||
return GLAD_MAKE_VERSION(major, minor);
|
||||
}
|
||||
|
||||
int gladLoadGLSC2ContextUserPtr(GladGLSC2Context* context, GLADuserptrloadfunc load, void* userptr) {
|
||||
int version;
|
||||
|
||||
context->GetString = (PFNGLGETSTRINGPROC)load(userptr, "glGetString");
|
||||
if (context->GetString == NULL) return 0;
|
||||
if (context->GetString(GL_VERSION) == NULL) return 0;
|
||||
version = glad_gl_find_core_glsc2(context);
|
||||
|
||||
glad_gl_load_GL_SC_VERSION_2_0(context, load, userptr);
|
||||
|
||||
if (!glad_gl_find_extensions_glsc2(context, version)) return 0;
|
||||
|
||||
|
||||
|
||||
return version;
|
||||
}
|
||||
|
||||
|
||||
int gladLoadGLSC2Context(GladGLSC2Context* context, GLADloadfunc load) {
|
||||
return gladLoadGLSC2ContextUserPtr(context, glad_gl_get_proc_from_userptr, GLAD_GNUC_EXTENSION(void*) load);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -1,795 +0,0 @@
|
||||
/**
|
||||
* SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <glad/glx.h>
|
||||
|
||||
#ifndef GLAD_IMPL_UTIL_C_
|
||||
#define GLAD_IMPL_UTIL_C_
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define GLAD_IMPL_UTIL_SSCANF sscanf_s
|
||||
#else
|
||||
#define GLAD_IMPL_UTIL_SSCANF sscanf
|
||||
#endif
|
||||
|
||||
#endif /* GLAD_IMPL_UTIL_C_ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
int GLAD_GLX_VERSION_1_0 = 0;
|
||||
int GLAD_GLX_VERSION_1_1 = 0;
|
||||
int GLAD_GLX_VERSION_1_2 = 0;
|
||||
int GLAD_GLX_VERSION_1_3 = 0;
|
||||
int GLAD_GLX_VERSION_1_4 = 0;
|
||||
int GLAD_GLX_3DFX_multisample = 0;
|
||||
int GLAD_GLX_AMD_gpu_association = 0;
|
||||
int GLAD_GLX_ARB_context_flush_control = 0;
|
||||
int GLAD_GLX_ARB_create_context = 0;
|
||||
int GLAD_GLX_ARB_create_context_no_error = 0;
|
||||
int GLAD_GLX_ARB_create_context_profile = 0;
|
||||
int GLAD_GLX_ARB_create_context_robustness = 0;
|
||||
int GLAD_GLX_ARB_fbconfig_float = 0;
|
||||
int GLAD_GLX_ARB_framebuffer_sRGB = 0;
|
||||
int GLAD_GLX_ARB_get_proc_address = 0;
|
||||
int GLAD_GLX_ARB_multisample = 0;
|
||||
int GLAD_GLX_ARB_robustness_application_isolation = 0;
|
||||
int GLAD_GLX_ARB_robustness_share_group_isolation = 0;
|
||||
int GLAD_GLX_ARB_vertex_buffer_object = 0;
|
||||
int GLAD_GLX_EXT_buffer_age = 0;
|
||||
int GLAD_GLX_EXT_context_priority = 0;
|
||||
int GLAD_GLX_EXT_create_context_es2_profile = 0;
|
||||
int GLAD_GLX_EXT_create_context_es_profile = 0;
|
||||
int GLAD_GLX_EXT_fbconfig_packed_float = 0;
|
||||
int GLAD_GLX_EXT_framebuffer_sRGB = 0;
|
||||
int GLAD_GLX_EXT_get_drawable_type = 0;
|
||||
int GLAD_GLX_EXT_import_context = 0;
|
||||
int GLAD_GLX_EXT_libglvnd = 0;
|
||||
int GLAD_GLX_EXT_no_config_context = 0;
|
||||
int GLAD_GLX_EXT_stereo_tree = 0;
|
||||
int GLAD_GLX_EXT_swap_control = 0;
|
||||
int GLAD_GLX_EXT_swap_control_tear = 0;
|
||||
int GLAD_GLX_EXT_texture_from_pixmap = 0;
|
||||
int GLAD_GLX_EXT_visual_info = 0;
|
||||
int GLAD_GLX_EXT_visual_rating = 0;
|
||||
int GLAD_GLX_INTEL_swap_event = 0;
|
||||
int GLAD_GLX_MESA_agp_offset = 0;
|
||||
int GLAD_GLX_MESA_copy_sub_buffer = 0;
|
||||
int GLAD_GLX_MESA_pixmap_colormap = 0;
|
||||
int GLAD_GLX_MESA_query_renderer = 0;
|
||||
int GLAD_GLX_MESA_release_buffers = 0;
|
||||
int GLAD_GLX_MESA_set_3dfx_mode = 0;
|
||||
int GLAD_GLX_MESA_swap_control = 0;
|
||||
int GLAD_GLX_NV_copy_buffer = 0;
|
||||
int GLAD_GLX_NV_copy_image = 0;
|
||||
int GLAD_GLX_NV_delay_before_swap = 0;
|
||||
int GLAD_GLX_NV_float_buffer = 0;
|
||||
int GLAD_GLX_NV_multigpu_context = 0;
|
||||
int GLAD_GLX_NV_multisample_coverage = 0;
|
||||
int GLAD_GLX_NV_present_video = 0;
|
||||
int GLAD_GLX_NV_robustness_video_memory_purge = 0;
|
||||
int GLAD_GLX_NV_swap_group = 0;
|
||||
int GLAD_GLX_NV_video_capture = 0;
|
||||
int GLAD_GLX_NV_video_out = 0;
|
||||
int GLAD_GLX_OML_swap_method = 0;
|
||||
int GLAD_GLX_OML_sync_control = 0;
|
||||
int GLAD_GLX_SGIS_blended_overlay = 0;
|
||||
int GLAD_GLX_SGIS_multisample = 0;
|
||||
int GLAD_GLX_SGIS_shared_multisample = 0;
|
||||
int GLAD_GLX_SGIX_fbconfig = 0;
|
||||
int GLAD_GLX_SGIX_hyperpipe = 0;
|
||||
int GLAD_GLX_SGIX_pbuffer = 0;
|
||||
int GLAD_GLX_SGIX_swap_barrier = 0;
|
||||
int GLAD_GLX_SGIX_swap_group = 0;
|
||||
int GLAD_GLX_SGIX_video_resize = 0;
|
||||
int GLAD_GLX_SGIX_visual_select_group = 0;
|
||||
int GLAD_GLX_SGI_cushion = 0;
|
||||
int GLAD_GLX_SGI_make_current_read = 0;
|
||||
int GLAD_GLX_SGI_swap_control = 0;
|
||||
int GLAD_GLX_SGI_video_sync = 0;
|
||||
int GLAD_GLX_SUN_get_transparent_index = 0;
|
||||
|
||||
|
||||
|
||||
PFNGLXBINDCHANNELTOWINDOWSGIXPROC glad_glXBindChannelToWindowSGIX = NULL;
|
||||
PFNGLXBINDHYPERPIPESGIXPROC glad_glXBindHyperpipeSGIX = NULL;
|
||||
PFNGLXBINDSWAPBARRIERNVPROC glad_glXBindSwapBarrierNV = NULL;
|
||||
PFNGLXBINDSWAPBARRIERSGIXPROC glad_glXBindSwapBarrierSGIX = NULL;
|
||||
PFNGLXBINDTEXIMAGEEXTPROC glad_glXBindTexImageEXT = NULL;
|
||||
PFNGLXBINDVIDEOCAPTUREDEVICENVPROC glad_glXBindVideoCaptureDeviceNV = NULL;
|
||||
PFNGLXBINDVIDEODEVICENVPROC glad_glXBindVideoDeviceNV = NULL;
|
||||
PFNGLXBINDVIDEOIMAGENVPROC glad_glXBindVideoImageNV = NULL;
|
||||
PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC glad_glXBlitContextFramebufferAMD = NULL;
|
||||
PFNGLXCHANNELRECTSGIXPROC glad_glXChannelRectSGIX = NULL;
|
||||
PFNGLXCHANNELRECTSYNCSGIXPROC glad_glXChannelRectSyncSGIX = NULL;
|
||||
PFNGLXCHOOSEFBCONFIGPROC glad_glXChooseFBConfig = NULL;
|
||||
PFNGLXCHOOSEFBCONFIGSGIXPROC glad_glXChooseFBConfigSGIX = NULL;
|
||||
PFNGLXCHOOSEVISUALPROC glad_glXChooseVisual = NULL;
|
||||
PFNGLXCOPYBUFFERSUBDATANVPROC glad_glXCopyBufferSubDataNV = NULL;
|
||||
PFNGLXCOPYCONTEXTPROC glad_glXCopyContext = NULL;
|
||||
PFNGLXCOPYIMAGESUBDATANVPROC glad_glXCopyImageSubDataNV = NULL;
|
||||
PFNGLXCOPYSUBBUFFERMESAPROC glad_glXCopySubBufferMESA = NULL;
|
||||
PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC glad_glXCreateAssociatedContextAMD = NULL;
|
||||
PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_glXCreateAssociatedContextAttribsAMD = NULL;
|
||||
PFNGLXCREATECONTEXTPROC glad_glXCreateContext = NULL;
|
||||
PFNGLXCREATECONTEXTATTRIBSARBPROC glad_glXCreateContextAttribsARB = NULL;
|
||||
PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC glad_glXCreateContextWithConfigSGIX = NULL;
|
||||
PFNGLXCREATEGLXPBUFFERSGIXPROC glad_glXCreateGLXPbufferSGIX = NULL;
|
||||
PFNGLXCREATEGLXPIXMAPPROC glad_glXCreateGLXPixmap = NULL;
|
||||
PFNGLXCREATEGLXPIXMAPMESAPROC glad_glXCreateGLXPixmapMESA = NULL;
|
||||
PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC glad_glXCreateGLXPixmapWithConfigSGIX = NULL;
|
||||
PFNGLXCREATENEWCONTEXTPROC glad_glXCreateNewContext = NULL;
|
||||
PFNGLXCREATEPBUFFERPROC glad_glXCreatePbuffer = NULL;
|
||||
PFNGLXCREATEPIXMAPPROC glad_glXCreatePixmap = NULL;
|
||||
PFNGLXCREATEWINDOWPROC glad_glXCreateWindow = NULL;
|
||||
PFNGLXCUSHIONSGIPROC glad_glXCushionSGI = NULL;
|
||||
PFNGLXDELAYBEFORESWAPNVPROC glad_glXDelayBeforeSwapNV = NULL;
|
||||
PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC glad_glXDeleteAssociatedContextAMD = NULL;
|
||||
PFNGLXDESTROYCONTEXTPROC glad_glXDestroyContext = NULL;
|
||||
PFNGLXDESTROYGLXPBUFFERSGIXPROC glad_glXDestroyGLXPbufferSGIX = NULL;
|
||||
PFNGLXDESTROYGLXPIXMAPPROC glad_glXDestroyGLXPixmap = NULL;
|
||||
PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC glad_glXDestroyHyperpipeConfigSGIX = NULL;
|
||||
PFNGLXDESTROYPBUFFERPROC glad_glXDestroyPbuffer = NULL;
|
||||
PFNGLXDESTROYPIXMAPPROC glad_glXDestroyPixmap = NULL;
|
||||
PFNGLXDESTROYWINDOWPROC glad_glXDestroyWindow = NULL;
|
||||
PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_glXEnumerateVideoCaptureDevicesNV = NULL;
|
||||
PFNGLXENUMERATEVIDEODEVICESNVPROC glad_glXEnumerateVideoDevicesNV = NULL;
|
||||
PFNGLXFREECONTEXTEXTPROC glad_glXFreeContextEXT = NULL;
|
||||
PFNGLXGETAGPOFFSETMESAPROC glad_glXGetAGPOffsetMESA = NULL;
|
||||
PFNGLXGETCLIENTSTRINGPROC glad_glXGetClientString = NULL;
|
||||
PFNGLXGETCONFIGPROC glad_glXGetConfig = NULL;
|
||||
PFNGLXGETCONTEXTGPUIDAMDPROC glad_glXGetContextGPUIDAMD = NULL;
|
||||
PFNGLXGETCONTEXTIDEXTPROC glad_glXGetContextIDEXT = NULL;
|
||||
PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_glXGetCurrentAssociatedContextAMD = NULL;
|
||||
PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext = NULL;
|
||||
PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay = NULL;
|
||||
PFNGLXGETCURRENTDISPLAYEXTPROC glad_glXGetCurrentDisplayEXT = NULL;
|
||||
PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable = NULL;
|
||||
PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable = NULL;
|
||||
PFNGLXGETCURRENTREADDRAWABLESGIPROC glad_glXGetCurrentReadDrawableSGI = NULL;
|
||||
PFNGLXGETFBCONFIGATTRIBPROC glad_glXGetFBConfigAttrib = NULL;
|
||||
PFNGLXGETFBCONFIGATTRIBSGIXPROC glad_glXGetFBConfigAttribSGIX = NULL;
|
||||
PFNGLXGETFBCONFIGFROMVISUALSGIXPROC glad_glXGetFBConfigFromVisualSGIX = NULL;
|
||||
PFNGLXGETFBCONFIGSPROC glad_glXGetFBConfigs = NULL;
|
||||
PFNGLXGETGPUIDSAMDPROC glad_glXGetGPUIDsAMD = NULL;
|
||||
PFNGLXGETGPUINFOAMDPROC glad_glXGetGPUInfoAMD = NULL;
|
||||
PFNGLXGETMSCRATEOMLPROC glad_glXGetMscRateOML = NULL;
|
||||
PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress = NULL;
|
||||
PFNGLXGETPROCADDRESSARBPROC glad_glXGetProcAddressARB = NULL;
|
||||
PFNGLXGETSELECTEDEVENTPROC glad_glXGetSelectedEvent = NULL;
|
||||
PFNGLXGETSELECTEDEVENTSGIXPROC glad_glXGetSelectedEventSGIX = NULL;
|
||||
PFNGLXGETSWAPINTERVALMESAPROC glad_glXGetSwapIntervalMESA = NULL;
|
||||
PFNGLXGETSYNCVALUESOMLPROC glad_glXGetSyncValuesOML = NULL;
|
||||
PFNGLXGETTRANSPARENTINDEXSUNPROC glad_glXGetTransparentIndexSUN = NULL;
|
||||
PFNGLXGETVIDEODEVICENVPROC glad_glXGetVideoDeviceNV = NULL;
|
||||
PFNGLXGETVIDEOINFONVPROC glad_glXGetVideoInfoNV = NULL;
|
||||
PFNGLXGETVIDEOSYNCSGIPROC glad_glXGetVideoSyncSGI = NULL;
|
||||
PFNGLXGETVISUALFROMFBCONFIGPROC glad_glXGetVisualFromFBConfig = NULL;
|
||||
PFNGLXGETVISUALFROMFBCONFIGSGIXPROC glad_glXGetVisualFromFBConfigSGIX = NULL;
|
||||
PFNGLXHYPERPIPEATTRIBSGIXPROC glad_glXHyperpipeAttribSGIX = NULL;
|
||||
PFNGLXHYPERPIPECONFIGSGIXPROC glad_glXHyperpipeConfigSGIX = NULL;
|
||||
PFNGLXIMPORTCONTEXTEXTPROC glad_glXImportContextEXT = NULL;
|
||||
PFNGLXISDIRECTPROC glad_glXIsDirect = NULL;
|
||||
PFNGLXJOINSWAPGROUPNVPROC glad_glXJoinSwapGroupNV = NULL;
|
||||
PFNGLXJOINSWAPGROUPSGIXPROC glad_glXJoinSwapGroupSGIX = NULL;
|
||||
PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC glad_glXLockVideoCaptureDeviceNV = NULL;
|
||||
PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_glXMakeAssociatedContextCurrentAMD = NULL;
|
||||
PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent = NULL;
|
||||
PFNGLXMAKECURRENTPROC glad_glXMakeCurrent = NULL;
|
||||
PFNGLXMAKECURRENTREADSGIPROC glad_glXMakeCurrentReadSGI = NULL;
|
||||
PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC glad_glXNamedCopyBufferSubDataNV = NULL;
|
||||
PFNGLXQUERYCHANNELDELTASSGIXPROC glad_glXQueryChannelDeltasSGIX = NULL;
|
||||
PFNGLXQUERYCHANNELRECTSGIXPROC glad_glXQueryChannelRectSGIX = NULL;
|
||||
PFNGLXQUERYCONTEXTPROC glad_glXQueryContext = NULL;
|
||||
PFNGLXQUERYCONTEXTINFOEXTPROC glad_glXQueryContextInfoEXT = NULL;
|
||||
PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC glad_glXQueryCurrentRendererIntegerMESA = NULL;
|
||||
PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC glad_glXQueryCurrentRendererStringMESA = NULL;
|
||||
PFNGLXQUERYDRAWABLEPROC glad_glXQueryDrawable = NULL;
|
||||
PFNGLXQUERYEXTENSIONPROC glad_glXQueryExtension = NULL;
|
||||
PFNGLXQUERYEXTENSIONSSTRINGPROC glad_glXQueryExtensionsString = NULL;
|
||||
PFNGLXQUERYFRAMECOUNTNVPROC glad_glXQueryFrameCountNV = NULL;
|
||||
PFNGLXQUERYGLXPBUFFERSGIXPROC glad_glXQueryGLXPbufferSGIX = NULL;
|
||||
PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC glad_glXQueryHyperpipeAttribSGIX = NULL;
|
||||
PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC glad_glXQueryHyperpipeBestAttribSGIX = NULL;
|
||||
PFNGLXQUERYHYPERPIPECONFIGSGIXPROC glad_glXQueryHyperpipeConfigSGIX = NULL;
|
||||
PFNGLXQUERYHYPERPIPENETWORKSGIXPROC glad_glXQueryHyperpipeNetworkSGIX = NULL;
|
||||
PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC glad_glXQueryMaxSwapBarriersSGIX = NULL;
|
||||
PFNGLXQUERYMAXSWAPGROUPSNVPROC glad_glXQueryMaxSwapGroupsNV = NULL;
|
||||
PFNGLXQUERYRENDERERINTEGERMESAPROC glad_glXQueryRendererIntegerMESA = NULL;
|
||||
PFNGLXQUERYRENDERERSTRINGMESAPROC glad_glXQueryRendererStringMESA = NULL;
|
||||
PFNGLXQUERYSERVERSTRINGPROC glad_glXQueryServerString = NULL;
|
||||
PFNGLXQUERYSWAPGROUPNVPROC glad_glXQuerySwapGroupNV = NULL;
|
||||
PFNGLXQUERYVERSIONPROC glad_glXQueryVersion = NULL;
|
||||
PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC glad_glXQueryVideoCaptureDeviceNV = NULL;
|
||||
PFNGLXRELEASEBUFFERSMESAPROC glad_glXReleaseBuffersMESA = NULL;
|
||||
PFNGLXRELEASETEXIMAGEEXTPROC glad_glXReleaseTexImageEXT = NULL;
|
||||
PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC glad_glXReleaseVideoCaptureDeviceNV = NULL;
|
||||
PFNGLXRELEASEVIDEODEVICENVPROC glad_glXReleaseVideoDeviceNV = NULL;
|
||||
PFNGLXRELEASEVIDEOIMAGENVPROC glad_glXReleaseVideoImageNV = NULL;
|
||||
PFNGLXRESETFRAMECOUNTNVPROC glad_glXResetFrameCountNV = NULL;
|
||||
PFNGLXSELECTEVENTPROC glad_glXSelectEvent = NULL;
|
||||
PFNGLXSELECTEVENTSGIXPROC glad_glXSelectEventSGIX = NULL;
|
||||
PFNGLXSENDPBUFFERTOVIDEONVPROC glad_glXSendPbufferToVideoNV = NULL;
|
||||
PFNGLXSET3DFXMODEMESAPROC glad_glXSet3DfxModeMESA = NULL;
|
||||
PFNGLXSWAPBUFFERSPROC glad_glXSwapBuffers = NULL;
|
||||
PFNGLXSWAPBUFFERSMSCOMLPROC glad_glXSwapBuffersMscOML = NULL;
|
||||
PFNGLXSWAPINTERVALEXTPROC glad_glXSwapIntervalEXT = NULL;
|
||||
PFNGLXSWAPINTERVALMESAPROC glad_glXSwapIntervalMESA = NULL;
|
||||
PFNGLXSWAPINTERVALSGIPROC glad_glXSwapIntervalSGI = NULL;
|
||||
PFNGLXUSEXFONTPROC glad_glXUseXFont = NULL;
|
||||
PFNGLXWAITFORMSCOMLPROC glad_glXWaitForMscOML = NULL;
|
||||
PFNGLXWAITFORSBCOMLPROC glad_glXWaitForSbcOML = NULL;
|
||||
PFNGLXWAITGLPROC glad_glXWaitGL = NULL;
|
||||
PFNGLXWAITVIDEOSYNCSGIPROC glad_glXWaitVideoSyncSGI = NULL;
|
||||
PFNGLXWAITXPROC glad_glXWaitX = NULL;
|
||||
|
||||
|
||||
static void glad_glx_load_GLX_VERSION_1_0( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_VERSION_1_0) return;
|
||||
glad_glXChooseVisual = (PFNGLXCHOOSEVISUALPROC) load(userptr, "glXChooseVisual");
|
||||
glad_glXCopyContext = (PFNGLXCOPYCONTEXTPROC) load(userptr, "glXCopyContext");
|
||||
glad_glXCreateContext = (PFNGLXCREATECONTEXTPROC) load(userptr, "glXCreateContext");
|
||||
glad_glXCreateGLXPixmap = (PFNGLXCREATEGLXPIXMAPPROC) load(userptr, "glXCreateGLXPixmap");
|
||||
glad_glXDestroyContext = (PFNGLXDESTROYCONTEXTPROC) load(userptr, "glXDestroyContext");
|
||||
glad_glXDestroyGLXPixmap = (PFNGLXDESTROYGLXPIXMAPPROC) load(userptr, "glXDestroyGLXPixmap");
|
||||
glad_glXGetConfig = (PFNGLXGETCONFIGPROC) load(userptr, "glXGetConfig");
|
||||
glad_glXGetCurrentContext = (PFNGLXGETCURRENTCONTEXTPROC) load(userptr, "glXGetCurrentContext");
|
||||
glad_glXGetCurrentDrawable = (PFNGLXGETCURRENTDRAWABLEPROC) load(userptr, "glXGetCurrentDrawable");
|
||||
glad_glXIsDirect = (PFNGLXISDIRECTPROC) load(userptr, "glXIsDirect");
|
||||
glad_glXMakeCurrent = (PFNGLXMAKECURRENTPROC) load(userptr, "glXMakeCurrent");
|
||||
glad_glXQueryExtension = (PFNGLXQUERYEXTENSIONPROC) load(userptr, "glXQueryExtension");
|
||||
glad_glXQueryVersion = (PFNGLXQUERYVERSIONPROC) load(userptr, "glXQueryVersion");
|
||||
glad_glXSwapBuffers = (PFNGLXSWAPBUFFERSPROC) load(userptr, "glXSwapBuffers");
|
||||
glad_glXUseXFont = (PFNGLXUSEXFONTPROC) load(userptr, "glXUseXFont");
|
||||
glad_glXWaitGL = (PFNGLXWAITGLPROC) load(userptr, "glXWaitGL");
|
||||
glad_glXWaitX = (PFNGLXWAITXPROC) load(userptr, "glXWaitX");
|
||||
}
|
||||
static void glad_glx_load_GLX_VERSION_1_1( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_VERSION_1_1) return;
|
||||
glad_glXGetClientString = (PFNGLXGETCLIENTSTRINGPROC) load(userptr, "glXGetClientString");
|
||||
glad_glXQueryExtensionsString = (PFNGLXQUERYEXTENSIONSSTRINGPROC) load(userptr, "glXQueryExtensionsString");
|
||||
glad_glXQueryServerString = (PFNGLXQUERYSERVERSTRINGPROC) load(userptr, "glXQueryServerString");
|
||||
}
|
||||
static void glad_glx_load_GLX_VERSION_1_2( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_VERSION_1_2) return;
|
||||
glad_glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC) load(userptr, "glXGetCurrentDisplay");
|
||||
}
|
||||
static void glad_glx_load_GLX_VERSION_1_3( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_VERSION_1_3) return;
|
||||
glad_glXChooseFBConfig = (PFNGLXCHOOSEFBCONFIGPROC) load(userptr, "glXChooseFBConfig");
|
||||
glad_glXCreateNewContext = (PFNGLXCREATENEWCONTEXTPROC) load(userptr, "glXCreateNewContext");
|
||||
glad_glXCreatePbuffer = (PFNGLXCREATEPBUFFERPROC) load(userptr, "glXCreatePbuffer");
|
||||
glad_glXCreatePixmap = (PFNGLXCREATEPIXMAPPROC) load(userptr, "glXCreatePixmap");
|
||||
glad_glXCreateWindow = (PFNGLXCREATEWINDOWPROC) load(userptr, "glXCreateWindow");
|
||||
glad_glXDestroyPbuffer = (PFNGLXDESTROYPBUFFERPROC) load(userptr, "glXDestroyPbuffer");
|
||||
glad_glXDestroyPixmap = (PFNGLXDESTROYPIXMAPPROC) load(userptr, "glXDestroyPixmap");
|
||||
glad_glXDestroyWindow = (PFNGLXDESTROYWINDOWPROC) load(userptr, "glXDestroyWindow");
|
||||
glad_glXGetCurrentReadDrawable = (PFNGLXGETCURRENTREADDRAWABLEPROC) load(userptr, "glXGetCurrentReadDrawable");
|
||||
glad_glXGetFBConfigAttrib = (PFNGLXGETFBCONFIGATTRIBPROC) load(userptr, "glXGetFBConfigAttrib");
|
||||
glad_glXGetFBConfigs = (PFNGLXGETFBCONFIGSPROC) load(userptr, "glXGetFBConfigs");
|
||||
glad_glXGetSelectedEvent = (PFNGLXGETSELECTEDEVENTPROC) load(userptr, "glXGetSelectedEvent");
|
||||
glad_glXGetVisualFromFBConfig = (PFNGLXGETVISUALFROMFBCONFIGPROC) load(userptr, "glXGetVisualFromFBConfig");
|
||||
glad_glXMakeContextCurrent = (PFNGLXMAKECONTEXTCURRENTPROC) load(userptr, "glXMakeContextCurrent");
|
||||
glad_glXQueryContext = (PFNGLXQUERYCONTEXTPROC) load(userptr, "glXQueryContext");
|
||||
glad_glXQueryDrawable = (PFNGLXQUERYDRAWABLEPROC) load(userptr, "glXQueryDrawable");
|
||||
glad_glXSelectEvent = (PFNGLXSELECTEVENTPROC) load(userptr, "glXSelectEvent");
|
||||
}
|
||||
static void glad_glx_load_GLX_VERSION_1_4( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_VERSION_1_4) return;
|
||||
glad_glXGetProcAddress = (PFNGLXGETPROCADDRESSPROC) load(userptr, "glXGetProcAddress");
|
||||
}
|
||||
static void glad_glx_load_GLX_AMD_gpu_association( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_AMD_gpu_association) return;
|
||||
glad_glXBlitContextFramebufferAMD = (PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC) load(userptr, "glXBlitContextFramebufferAMD");
|
||||
glad_glXCreateAssociatedContextAMD = (PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC) load(userptr, "glXCreateAssociatedContextAMD");
|
||||
glad_glXCreateAssociatedContextAttribsAMD = (PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) load(userptr, "glXCreateAssociatedContextAttribsAMD");
|
||||
glad_glXDeleteAssociatedContextAMD = (PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC) load(userptr, "glXDeleteAssociatedContextAMD");
|
||||
glad_glXGetContextGPUIDAMD = (PFNGLXGETCONTEXTGPUIDAMDPROC) load(userptr, "glXGetContextGPUIDAMD");
|
||||
glad_glXGetCurrentAssociatedContextAMD = (PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC) load(userptr, "glXGetCurrentAssociatedContextAMD");
|
||||
glad_glXGetGPUIDsAMD = (PFNGLXGETGPUIDSAMDPROC) load(userptr, "glXGetGPUIDsAMD");
|
||||
glad_glXGetGPUInfoAMD = (PFNGLXGETGPUINFOAMDPROC) load(userptr, "glXGetGPUInfoAMD");
|
||||
glad_glXMakeAssociatedContextCurrentAMD = (PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) load(userptr, "glXMakeAssociatedContextCurrentAMD");
|
||||
}
|
||||
static void glad_glx_load_GLX_ARB_create_context( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_ARB_create_context) return;
|
||||
glad_glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC) load(userptr, "glXCreateContextAttribsARB");
|
||||
}
|
||||
static void glad_glx_load_GLX_ARB_get_proc_address( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_ARB_get_proc_address) return;
|
||||
glad_glXGetProcAddressARB = (PFNGLXGETPROCADDRESSARBPROC) load(userptr, "glXGetProcAddressARB");
|
||||
}
|
||||
static void glad_glx_load_GLX_EXT_import_context( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_EXT_import_context) return;
|
||||
glad_glXFreeContextEXT = (PFNGLXFREECONTEXTEXTPROC) load(userptr, "glXFreeContextEXT");
|
||||
glad_glXGetContextIDEXT = (PFNGLXGETCONTEXTIDEXTPROC) load(userptr, "glXGetContextIDEXT");
|
||||
glad_glXGetCurrentDisplayEXT = (PFNGLXGETCURRENTDISPLAYEXTPROC) load(userptr, "glXGetCurrentDisplayEXT");
|
||||
glad_glXImportContextEXT = (PFNGLXIMPORTCONTEXTEXTPROC) load(userptr, "glXImportContextEXT");
|
||||
glad_glXQueryContextInfoEXT = (PFNGLXQUERYCONTEXTINFOEXTPROC) load(userptr, "glXQueryContextInfoEXT");
|
||||
}
|
||||
static void glad_glx_load_GLX_EXT_swap_control( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_EXT_swap_control) return;
|
||||
glad_glXSwapIntervalEXT = (PFNGLXSWAPINTERVALEXTPROC) load(userptr, "glXSwapIntervalEXT");
|
||||
}
|
||||
static void glad_glx_load_GLX_EXT_texture_from_pixmap( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_EXT_texture_from_pixmap) return;
|
||||
glad_glXBindTexImageEXT = (PFNGLXBINDTEXIMAGEEXTPROC) load(userptr, "glXBindTexImageEXT");
|
||||
glad_glXReleaseTexImageEXT = (PFNGLXRELEASETEXIMAGEEXTPROC) load(userptr, "glXReleaseTexImageEXT");
|
||||
}
|
||||
static void glad_glx_load_GLX_MESA_agp_offset( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_MESA_agp_offset) return;
|
||||
glad_glXGetAGPOffsetMESA = (PFNGLXGETAGPOFFSETMESAPROC) load(userptr, "glXGetAGPOffsetMESA");
|
||||
}
|
||||
static void glad_glx_load_GLX_MESA_copy_sub_buffer( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_MESA_copy_sub_buffer) return;
|
||||
glad_glXCopySubBufferMESA = (PFNGLXCOPYSUBBUFFERMESAPROC) load(userptr, "glXCopySubBufferMESA");
|
||||
}
|
||||
static void glad_glx_load_GLX_MESA_pixmap_colormap( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_MESA_pixmap_colormap) return;
|
||||
glad_glXCreateGLXPixmapMESA = (PFNGLXCREATEGLXPIXMAPMESAPROC) load(userptr, "glXCreateGLXPixmapMESA");
|
||||
}
|
||||
static void glad_glx_load_GLX_MESA_query_renderer( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_MESA_query_renderer) return;
|
||||
glad_glXQueryCurrentRendererIntegerMESA = (PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) load(userptr, "glXQueryCurrentRendererIntegerMESA");
|
||||
glad_glXQueryCurrentRendererStringMESA = (PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) load(userptr, "glXQueryCurrentRendererStringMESA");
|
||||
glad_glXQueryRendererIntegerMESA = (PFNGLXQUERYRENDERERINTEGERMESAPROC) load(userptr, "glXQueryRendererIntegerMESA");
|
||||
glad_glXQueryRendererStringMESA = (PFNGLXQUERYRENDERERSTRINGMESAPROC) load(userptr, "glXQueryRendererStringMESA");
|
||||
}
|
||||
static void glad_glx_load_GLX_MESA_release_buffers( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_MESA_release_buffers) return;
|
||||
glad_glXReleaseBuffersMESA = (PFNGLXRELEASEBUFFERSMESAPROC) load(userptr, "glXReleaseBuffersMESA");
|
||||
}
|
||||
static void glad_glx_load_GLX_MESA_set_3dfx_mode( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_MESA_set_3dfx_mode) return;
|
||||
glad_glXSet3DfxModeMESA = (PFNGLXSET3DFXMODEMESAPROC) load(userptr, "glXSet3DfxModeMESA");
|
||||
}
|
||||
static void glad_glx_load_GLX_MESA_swap_control( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_MESA_swap_control) return;
|
||||
glad_glXGetSwapIntervalMESA = (PFNGLXGETSWAPINTERVALMESAPROC) load(userptr, "glXGetSwapIntervalMESA");
|
||||
glad_glXSwapIntervalMESA = (PFNGLXSWAPINTERVALMESAPROC) load(userptr, "glXSwapIntervalMESA");
|
||||
}
|
||||
static void glad_glx_load_GLX_NV_copy_buffer( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_NV_copy_buffer) return;
|
||||
glad_glXCopyBufferSubDataNV = (PFNGLXCOPYBUFFERSUBDATANVPROC) load(userptr, "glXCopyBufferSubDataNV");
|
||||
glad_glXNamedCopyBufferSubDataNV = (PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC) load(userptr, "glXNamedCopyBufferSubDataNV");
|
||||
}
|
||||
static void glad_glx_load_GLX_NV_copy_image( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_NV_copy_image) return;
|
||||
glad_glXCopyImageSubDataNV = (PFNGLXCOPYIMAGESUBDATANVPROC) load(userptr, "glXCopyImageSubDataNV");
|
||||
}
|
||||
static void glad_glx_load_GLX_NV_delay_before_swap( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_NV_delay_before_swap) return;
|
||||
glad_glXDelayBeforeSwapNV = (PFNGLXDELAYBEFORESWAPNVPROC) load(userptr, "glXDelayBeforeSwapNV");
|
||||
}
|
||||
static void glad_glx_load_GLX_NV_present_video( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_NV_present_video) return;
|
||||
glad_glXBindVideoDeviceNV = (PFNGLXBINDVIDEODEVICENVPROC) load(userptr, "glXBindVideoDeviceNV");
|
||||
glad_glXEnumerateVideoDevicesNV = (PFNGLXENUMERATEVIDEODEVICESNVPROC) load(userptr, "glXEnumerateVideoDevicesNV");
|
||||
}
|
||||
static void glad_glx_load_GLX_NV_swap_group( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_NV_swap_group) return;
|
||||
glad_glXBindSwapBarrierNV = (PFNGLXBINDSWAPBARRIERNVPROC) load(userptr, "glXBindSwapBarrierNV");
|
||||
glad_glXJoinSwapGroupNV = (PFNGLXJOINSWAPGROUPNVPROC) load(userptr, "glXJoinSwapGroupNV");
|
||||
glad_glXQueryFrameCountNV = (PFNGLXQUERYFRAMECOUNTNVPROC) load(userptr, "glXQueryFrameCountNV");
|
||||
glad_glXQueryMaxSwapGroupsNV = (PFNGLXQUERYMAXSWAPGROUPSNVPROC) load(userptr, "glXQueryMaxSwapGroupsNV");
|
||||
glad_glXQuerySwapGroupNV = (PFNGLXQUERYSWAPGROUPNVPROC) load(userptr, "glXQuerySwapGroupNV");
|
||||
glad_glXResetFrameCountNV = (PFNGLXRESETFRAMECOUNTNVPROC) load(userptr, "glXResetFrameCountNV");
|
||||
}
|
||||
static void glad_glx_load_GLX_NV_video_capture( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_NV_video_capture) return;
|
||||
glad_glXBindVideoCaptureDeviceNV = (PFNGLXBINDVIDEOCAPTUREDEVICENVPROC) load(userptr, "glXBindVideoCaptureDeviceNV");
|
||||
glad_glXEnumerateVideoCaptureDevicesNV = (PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC) load(userptr, "glXEnumerateVideoCaptureDevicesNV");
|
||||
glad_glXLockVideoCaptureDeviceNV = (PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC) load(userptr, "glXLockVideoCaptureDeviceNV");
|
||||
glad_glXQueryVideoCaptureDeviceNV = (PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC) load(userptr, "glXQueryVideoCaptureDeviceNV");
|
||||
glad_glXReleaseVideoCaptureDeviceNV = (PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC) load(userptr, "glXReleaseVideoCaptureDeviceNV");
|
||||
}
|
||||
static void glad_glx_load_GLX_NV_video_out( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_NV_video_out) return;
|
||||
glad_glXBindVideoImageNV = (PFNGLXBINDVIDEOIMAGENVPROC) load(userptr, "glXBindVideoImageNV");
|
||||
glad_glXGetVideoDeviceNV = (PFNGLXGETVIDEODEVICENVPROC) load(userptr, "glXGetVideoDeviceNV");
|
||||
glad_glXGetVideoInfoNV = (PFNGLXGETVIDEOINFONVPROC) load(userptr, "glXGetVideoInfoNV");
|
||||
glad_glXReleaseVideoDeviceNV = (PFNGLXRELEASEVIDEODEVICENVPROC) load(userptr, "glXReleaseVideoDeviceNV");
|
||||
glad_glXReleaseVideoImageNV = (PFNGLXRELEASEVIDEOIMAGENVPROC) load(userptr, "glXReleaseVideoImageNV");
|
||||
glad_glXSendPbufferToVideoNV = (PFNGLXSENDPBUFFERTOVIDEONVPROC) load(userptr, "glXSendPbufferToVideoNV");
|
||||
}
|
||||
static void glad_glx_load_GLX_OML_sync_control( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_OML_sync_control) return;
|
||||
glad_glXGetMscRateOML = (PFNGLXGETMSCRATEOMLPROC) load(userptr, "glXGetMscRateOML");
|
||||
glad_glXGetSyncValuesOML = (PFNGLXGETSYNCVALUESOMLPROC) load(userptr, "glXGetSyncValuesOML");
|
||||
glad_glXSwapBuffersMscOML = (PFNGLXSWAPBUFFERSMSCOMLPROC) load(userptr, "glXSwapBuffersMscOML");
|
||||
glad_glXWaitForMscOML = (PFNGLXWAITFORMSCOMLPROC) load(userptr, "glXWaitForMscOML");
|
||||
glad_glXWaitForSbcOML = (PFNGLXWAITFORSBCOMLPROC) load(userptr, "glXWaitForSbcOML");
|
||||
}
|
||||
static void glad_glx_load_GLX_SGIX_fbconfig( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SGIX_fbconfig) return;
|
||||
glad_glXChooseFBConfigSGIX = (PFNGLXCHOOSEFBCONFIGSGIXPROC) load(userptr, "glXChooseFBConfigSGIX");
|
||||
glad_glXCreateContextWithConfigSGIX = (PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) load(userptr, "glXCreateContextWithConfigSGIX");
|
||||
glad_glXCreateGLXPixmapWithConfigSGIX = (PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) load(userptr, "glXCreateGLXPixmapWithConfigSGIX");
|
||||
glad_glXGetFBConfigAttribSGIX = (PFNGLXGETFBCONFIGATTRIBSGIXPROC) load(userptr, "glXGetFBConfigAttribSGIX");
|
||||
glad_glXGetFBConfigFromVisualSGIX = (PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) load(userptr, "glXGetFBConfigFromVisualSGIX");
|
||||
glad_glXGetVisualFromFBConfigSGIX = (PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) load(userptr, "glXGetVisualFromFBConfigSGIX");
|
||||
}
|
||||
static void glad_glx_load_GLX_SGIX_hyperpipe( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SGIX_hyperpipe) return;
|
||||
glad_glXBindHyperpipeSGIX = (PFNGLXBINDHYPERPIPESGIXPROC) load(userptr, "glXBindHyperpipeSGIX");
|
||||
glad_glXDestroyHyperpipeConfigSGIX = (PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) load(userptr, "glXDestroyHyperpipeConfigSGIX");
|
||||
glad_glXHyperpipeAttribSGIX = (PFNGLXHYPERPIPEATTRIBSGIXPROC) load(userptr, "glXHyperpipeAttribSGIX");
|
||||
glad_glXHyperpipeConfigSGIX = (PFNGLXHYPERPIPECONFIGSGIXPROC) load(userptr, "glXHyperpipeConfigSGIX");
|
||||
glad_glXQueryHyperpipeAttribSGIX = (PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) load(userptr, "glXQueryHyperpipeAttribSGIX");
|
||||
glad_glXQueryHyperpipeBestAttribSGIX = (PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) load(userptr, "glXQueryHyperpipeBestAttribSGIX");
|
||||
glad_glXQueryHyperpipeConfigSGIX = (PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) load(userptr, "glXQueryHyperpipeConfigSGIX");
|
||||
glad_glXQueryHyperpipeNetworkSGIX = (PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) load(userptr, "glXQueryHyperpipeNetworkSGIX");
|
||||
}
|
||||
static void glad_glx_load_GLX_SGIX_pbuffer( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SGIX_pbuffer) return;
|
||||
glad_glXCreateGLXPbufferSGIX = (PFNGLXCREATEGLXPBUFFERSGIXPROC) load(userptr, "glXCreateGLXPbufferSGIX");
|
||||
glad_glXDestroyGLXPbufferSGIX = (PFNGLXDESTROYGLXPBUFFERSGIXPROC) load(userptr, "glXDestroyGLXPbufferSGIX");
|
||||
glad_glXGetSelectedEventSGIX = (PFNGLXGETSELECTEDEVENTSGIXPROC) load(userptr, "glXGetSelectedEventSGIX");
|
||||
glad_glXQueryGLXPbufferSGIX = (PFNGLXQUERYGLXPBUFFERSGIXPROC) load(userptr, "glXQueryGLXPbufferSGIX");
|
||||
glad_glXSelectEventSGIX = (PFNGLXSELECTEVENTSGIXPROC) load(userptr, "glXSelectEventSGIX");
|
||||
}
|
||||
static void glad_glx_load_GLX_SGIX_swap_barrier( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SGIX_swap_barrier) return;
|
||||
glad_glXBindSwapBarrierSGIX = (PFNGLXBINDSWAPBARRIERSGIXPROC) load(userptr, "glXBindSwapBarrierSGIX");
|
||||
glad_glXQueryMaxSwapBarriersSGIX = (PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) load(userptr, "glXQueryMaxSwapBarriersSGIX");
|
||||
}
|
||||
static void glad_glx_load_GLX_SGIX_swap_group( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SGIX_swap_group) return;
|
||||
glad_glXJoinSwapGroupSGIX = (PFNGLXJOINSWAPGROUPSGIXPROC) load(userptr, "glXJoinSwapGroupSGIX");
|
||||
}
|
||||
static void glad_glx_load_GLX_SGIX_video_resize( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SGIX_video_resize) return;
|
||||
glad_glXBindChannelToWindowSGIX = (PFNGLXBINDCHANNELTOWINDOWSGIXPROC) load(userptr, "glXBindChannelToWindowSGIX");
|
||||
glad_glXChannelRectSGIX = (PFNGLXCHANNELRECTSGIXPROC) load(userptr, "glXChannelRectSGIX");
|
||||
glad_glXChannelRectSyncSGIX = (PFNGLXCHANNELRECTSYNCSGIXPROC) load(userptr, "glXChannelRectSyncSGIX");
|
||||
glad_glXQueryChannelDeltasSGIX = (PFNGLXQUERYCHANNELDELTASSGIXPROC) load(userptr, "glXQueryChannelDeltasSGIX");
|
||||
glad_glXQueryChannelRectSGIX = (PFNGLXQUERYCHANNELRECTSGIXPROC) load(userptr, "glXQueryChannelRectSGIX");
|
||||
}
|
||||
static void glad_glx_load_GLX_SGI_cushion( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SGI_cushion) return;
|
||||
glad_glXCushionSGI = (PFNGLXCUSHIONSGIPROC) load(userptr, "glXCushionSGI");
|
||||
}
|
||||
static void glad_glx_load_GLX_SGI_make_current_read( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SGI_make_current_read) return;
|
||||
glad_glXGetCurrentReadDrawableSGI = (PFNGLXGETCURRENTREADDRAWABLESGIPROC) load(userptr, "glXGetCurrentReadDrawableSGI");
|
||||
glad_glXMakeCurrentReadSGI = (PFNGLXMAKECURRENTREADSGIPROC) load(userptr, "glXMakeCurrentReadSGI");
|
||||
}
|
||||
static void glad_glx_load_GLX_SGI_swap_control( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SGI_swap_control) return;
|
||||
glad_glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC) load(userptr, "glXSwapIntervalSGI");
|
||||
}
|
||||
static void glad_glx_load_GLX_SGI_video_sync( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SGI_video_sync) return;
|
||||
glad_glXGetVideoSyncSGI = (PFNGLXGETVIDEOSYNCSGIPROC) load(userptr, "glXGetVideoSyncSGI");
|
||||
glad_glXWaitVideoSyncSGI = (PFNGLXWAITVIDEOSYNCSGIPROC) load(userptr, "glXWaitVideoSyncSGI");
|
||||
}
|
||||
static void glad_glx_load_GLX_SUN_get_transparent_index( GLADuserptrloadfunc load, void* userptr) {
|
||||
if(!GLAD_GLX_SUN_get_transparent_index) return;
|
||||
glad_glXGetTransparentIndexSUN = (PFNGLXGETTRANSPARENTINDEXSUNPROC) load(userptr, "glXGetTransparentIndexSUN");
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int glad_glx_has_extension(Display *display, int screen, const char *ext) {
|
||||
#ifndef GLX_VERSION_1_1
|
||||
GLAD_UNUSED(display);
|
||||
GLAD_UNUSED(screen);
|
||||
GLAD_UNUSED(ext);
|
||||
#else
|
||||
const char *terminator;
|
||||
const char *loc;
|
||||
const char *extensions;
|
||||
|
||||
if (glXQueryExtensionsString == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
extensions = glXQueryExtensionsString(display, screen);
|
||||
|
||||
if(extensions == NULL || ext == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
while(1) {
|
||||
loc = strstr(extensions, ext);
|
||||
if(loc == NULL)
|
||||
break;
|
||||
|
||||
terminator = loc + strlen(ext);
|
||||
if((loc == extensions || *(loc - 1) == ' ') &&
|
||||
(*terminator == ' ' || *terminator == '\0')) {
|
||||
return 1;
|
||||
}
|
||||
extensions = terminator;
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static GLADapiproc glad_glx_get_proc_from_userptr(void *userptr, const char* name) {
|
||||
return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name);
|
||||
}
|
||||
|
||||
static int glad_glx_find_extensions(Display *display, int screen) {
|
||||
GLAD_GLX_3DFX_multisample = glad_glx_has_extension(display, screen, "GLX_3DFX_multisample");
|
||||
GLAD_GLX_AMD_gpu_association = glad_glx_has_extension(display, screen, "GLX_AMD_gpu_association");
|
||||
GLAD_GLX_ARB_context_flush_control = glad_glx_has_extension(display, screen, "GLX_ARB_context_flush_control");
|
||||
GLAD_GLX_ARB_create_context = glad_glx_has_extension(display, screen, "GLX_ARB_create_context");
|
||||
GLAD_GLX_ARB_create_context_no_error = glad_glx_has_extension(display, screen, "GLX_ARB_create_context_no_error");
|
||||
GLAD_GLX_ARB_create_context_profile = glad_glx_has_extension(display, screen, "GLX_ARB_create_context_profile");
|
||||
GLAD_GLX_ARB_create_context_robustness = glad_glx_has_extension(display, screen, "GLX_ARB_create_context_robustness");
|
||||
GLAD_GLX_ARB_fbconfig_float = glad_glx_has_extension(display, screen, "GLX_ARB_fbconfig_float");
|
||||
GLAD_GLX_ARB_framebuffer_sRGB = glad_glx_has_extension(display, screen, "GLX_ARB_framebuffer_sRGB");
|
||||
GLAD_GLX_ARB_get_proc_address = glad_glx_has_extension(display, screen, "GLX_ARB_get_proc_address");
|
||||
GLAD_GLX_ARB_multisample = glad_glx_has_extension(display, screen, "GLX_ARB_multisample");
|
||||
GLAD_GLX_ARB_robustness_application_isolation = glad_glx_has_extension(display, screen, "GLX_ARB_robustness_application_isolation");
|
||||
GLAD_GLX_ARB_robustness_share_group_isolation = glad_glx_has_extension(display, screen, "GLX_ARB_robustness_share_group_isolation");
|
||||
GLAD_GLX_ARB_vertex_buffer_object = glad_glx_has_extension(display, screen, "GLX_ARB_vertex_buffer_object");
|
||||
GLAD_GLX_EXT_buffer_age = glad_glx_has_extension(display, screen, "GLX_EXT_buffer_age");
|
||||
GLAD_GLX_EXT_context_priority = glad_glx_has_extension(display, screen, "GLX_EXT_context_priority");
|
||||
GLAD_GLX_EXT_create_context_es2_profile = glad_glx_has_extension(display, screen, "GLX_EXT_create_context_es2_profile");
|
||||
GLAD_GLX_EXT_create_context_es_profile = glad_glx_has_extension(display, screen, "GLX_EXT_create_context_es_profile");
|
||||
GLAD_GLX_EXT_fbconfig_packed_float = glad_glx_has_extension(display, screen, "GLX_EXT_fbconfig_packed_float");
|
||||
GLAD_GLX_EXT_framebuffer_sRGB = glad_glx_has_extension(display, screen, "GLX_EXT_framebuffer_sRGB");
|
||||
GLAD_GLX_EXT_get_drawable_type = glad_glx_has_extension(display, screen, "GLX_EXT_get_drawable_type");
|
||||
GLAD_GLX_EXT_import_context = glad_glx_has_extension(display, screen, "GLX_EXT_import_context");
|
||||
GLAD_GLX_EXT_libglvnd = glad_glx_has_extension(display, screen, "GLX_EXT_libglvnd");
|
||||
GLAD_GLX_EXT_no_config_context = glad_glx_has_extension(display, screen, "GLX_EXT_no_config_context");
|
||||
GLAD_GLX_EXT_stereo_tree = glad_glx_has_extension(display, screen, "GLX_EXT_stereo_tree");
|
||||
GLAD_GLX_EXT_swap_control = glad_glx_has_extension(display, screen, "GLX_EXT_swap_control");
|
||||
GLAD_GLX_EXT_swap_control_tear = glad_glx_has_extension(display, screen, "GLX_EXT_swap_control_tear");
|
||||
GLAD_GLX_EXT_texture_from_pixmap = glad_glx_has_extension(display, screen, "GLX_EXT_texture_from_pixmap");
|
||||
GLAD_GLX_EXT_visual_info = glad_glx_has_extension(display, screen, "GLX_EXT_visual_info");
|
||||
GLAD_GLX_EXT_visual_rating = glad_glx_has_extension(display, screen, "GLX_EXT_visual_rating");
|
||||
GLAD_GLX_INTEL_swap_event = glad_glx_has_extension(display, screen, "GLX_INTEL_swap_event");
|
||||
GLAD_GLX_MESA_agp_offset = glad_glx_has_extension(display, screen, "GLX_MESA_agp_offset");
|
||||
GLAD_GLX_MESA_copy_sub_buffer = glad_glx_has_extension(display, screen, "GLX_MESA_copy_sub_buffer");
|
||||
GLAD_GLX_MESA_pixmap_colormap = glad_glx_has_extension(display, screen, "GLX_MESA_pixmap_colormap");
|
||||
GLAD_GLX_MESA_query_renderer = glad_glx_has_extension(display, screen, "GLX_MESA_query_renderer");
|
||||
GLAD_GLX_MESA_release_buffers = glad_glx_has_extension(display, screen, "GLX_MESA_release_buffers");
|
||||
GLAD_GLX_MESA_set_3dfx_mode = glad_glx_has_extension(display, screen, "GLX_MESA_set_3dfx_mode");
|
||||
GLAD_GLX_MESA_swap_control = glad_glx_has_extension(display, screen, "GLX_MESA_swap_control");
|
||||
GLAD_GLX_NV_copy_buffer = glad_glx_has_extension(display, screen, "GLX_NV_copy_buffer");
|
||||
GLAD_GLX_NV_copy_image = glad_glx_has_extension(display, screen, "GLX_NV_copy_image");
|
||||
GLAD_GLX_NV_delay_before_swap = glad_glx_has_extension(display, screen, "GLX_NV_delay_before_swap");
|
||||
GLAD_GLX_NV_float_buffer = glad_glx_has_extension(display, screen, "GLX_NV_float_buffer");
|
||||
GLAD_GLX_NV_multigpu_context = glad_glx_has_extension(display, screen, "GLX_NV_multigpu_context");
|
||||
GLAD_GLX_NV_multisample_coverage = glad_glx_has_extension(display, screen, "GLX_NV_multisample_coverage");
|
||||
GLAD_GLX_NV_present_video = glad_glx_has_extension(display, screen, "GLX_NV_present_video");
|
||||
GLAD_GLX_NV_robustness_video_memory_purge = glad_glx_has_extension(display, screen, "GLX_NV_robustness_video_memory_purge");
|
||||
GLAD_GLX_NV_swap_group = glad_glx_has_extension(display, screen, "GLX_NV_swap_group");
|
||||
GLAD_GLX_NV_video_capture = glad_glx_has_extension(display, screen, "GLX_NV_video_capture");
|
||||
GLAD_GLX_NV_video_out = glad_glx_has_extension(display, screen, "GLX_NV_video_out");
|
||||
GLAD_GLX_OML_swap_method = glad_glx_has_extension(display, screen, "GLX_OML_swap_method");
|
||||
GLAD_GLX_OML_sync_control = glad_glx_has_extension(display, screen, "GLX_OML_sync_control");
|
||||
GLAD_GLX_SGIS_blended_overlay = glad_glx_has_extension(display, screen, "GLX_SGIS_blended_overlay");
|
||||
GLAD_GLX_SGIS_multisample = glad_glx_has_extension(display, screen, "GLX_SGIS_multisample");
|
||||
GLAD_GLX_SGIS_shared_multisample = glad_glx_has_extension(display, screen, "GLX_SGIS_shared_multisample");
|
||||
GLAD_GLX_SGIX_fbconfig = glad_glx_has_extension(display, screen, "GLX_SGIX_fbconfig");
|
||||
GLAD_GLX_SGIX_hyperpipe = glad_glx_has_extension(display, screen, "GLX_SGIX_hyperpipe");
|
||||
GLAD_GLX_SGIX_pbuffer = glad_glx_has_extension(display, screen, "GLX_SGIX_pbuffer");
|
||||
GLAD_GLX_SGIX_swap_barrier = glad_glx_has_extension(display, screen, "GLX_SGIX_swap_barrier");
|
||||
GLAD_GLX_SGIX_swap_group = glad_glx_has_extension(display, screen, "GLX_SGIX_swap_group");
|
||||
GLAD_GLX_SGIX_video_resize = glad_glx_has_extension(display, screen, "GLX_SGIX_video_resize");
|
||||
GLAD_GLX_SGIX_visual_select_group = glad_glx_has_extension(display, screen, "GLX_SGIX_visual_select_group");
|
||||
GLAD_GLX_SGI_cushion = glad_glx_has_extension(display, screen, "GLX_SGI_cushion");
|
||||
GLAD_GLX_SGI_make_current_read = glad_glx_has_extension(display, screen, "GLX_SGI_make_current_read");
|
||||
GLAD_GLX_SGI_swap_control = glad_glx_has_extension(display, screen, "GLX_SGI_swap_control");
|
||||
GLAD_GLX_SGI_video_sync = glad_glx_has_extension(display, screen, "GLX_SGI_video_sync");
|
||||
GLAD_GLX_SUN_get_transparent_index = glad_glx_has_extension(display, screen, "GLX_SUN_get_transparent_index");
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int glad_glx_find_core_glx(Display **display, int *screen) {
|
||||
int major = 0, minor = 0;
|
||||
if(*display == NULL) {
|
||||
#ifdef GLAD_GLX_NO_X11
|
||||
GLAD_UNUSED(screen);
|
||||
return 0;
|
||||
#else
|
||||
*display = XOpenDisplay(0);
|
||||
if (*display == NULL) {
|
||||
return 0;
|
||||
}
|
||||
*screen = XScreenNumberOfScreen(XDefaultScreenOfDisplay(*display));
|
||||
#endif
|
||||
}
|
||||
glXQueryVersion(*display, &major, &minor);
|
||||
GLAD_GLX_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;
|
||||
GLAD_GLX_VERSION_1_1 = (major == 1 && minor >= 1) || major > 1;
|
||||
GLAD_GLX_VERSION_1_2 = (major == 1 && minor >= 2) || major > 1;
|
||||
GLAD_GLX_VERSION_1_3 = (major == 1 && minor >= 3) || major > 1;
|
||||
GLAD_GLX_VERSION_1_4 = (major == 1 && minor >= 4) || major > 1;
|
||||
return GLAD_MAKE_VERSION(major, minor);
|
||||
}
|
||||
|
||||
int gladLoadGLXUserPtr(Display *display, int screen, GLADuserptrloadfunc load, void *userptr) {
|
||||
int version;
|
||||
glXQueryVersion = (PFNGLXQUERYVERSIONPROC) load(userptr, "glXQueryVersion");
|
||||
if(glXQueryVersion == NULL) return 0;
|
||||
version = glad_glx_find_core_glx(&display, &screen);
|
||||
|
||||
glad_glx_load_GLX_VERSION_1_0(load, userptr);
|
||||
glad_glx_load_GLX_VERSION_1_1(load, userptr);
|
||||
glad_glx_load_GLX_VERSION_1_2(load, userptr);
|
||||
glad_glx_load_GLX_VERSION_1_3(load, userptr);
|
||||
glad_glx_load_GLX_VERSION_1_4(load, userptr);
|
||||
|
||||
if (!glad_glx_find_extensions(display, screen)) return 0;
|
||||
glad_glx_load_GLX_AMD_gpu_association(load, userptr);
|
||||
glad_glx_load_GLX_ARB_create_context(load, userptr);
|
||||
glad_glx_load_GLX_ARB_get_proc_address(load, userptr);
|
||||
glad_glx_load_GLX_EXT_import_context(load, userptr);
|
||||
glad_glx_load_GLX_EXT_swap_control(load, userptr);
|
||||
glad_glx_load_GLX_EXT_texture_from_pixmap(load, userptr);
|
||||
glad_glx_load_GLX_MESA_agp_offset(load, userptr);
|
||||
glad_glx_load_GLX_MESA_copy_sub_buffer(load, userptr);
|
||||
glad_glx_load_GLX_MESA_pixmap_colormap(load, userptr);
|
||||
glad_glx_load_GLX_MESA_query_renderer(load, userptr);
|
||||
glad_glx_load_GLX_MESA_release_buffers(load, userptr);
|
||||
glad_glx_load_GLX_MESA_set_3dfx_mode(load, userptr);
|
||||
glad_glx_load_GLX_MESA_swap_control(load, userptr);
|
||||
glad_glx_load_GLX_NV_copy_buffer(load, userptr);
|
||||
glad_glx_load_GLX_NV_copy_image(load, userptr);
|
||||
glad_glx_load_GLX_NV_delay_before_swap(load, userptr);
|
||||
glad_glx_load_GLX_NV_present_video(load, userptr);
|
||||
glad_glx_load_GLX_NV_swap_group(load, userptr);
|
||||
glad_glx_load_GLX_NV_video_capture(load, userptr);
|
||||
glad_glx_load_GLX_NV_video_out(load, userptr);
|
||||
glad_glx_load_GLX_OML_sync_control(load, userptr);
|
||||
glad_glx_load_GLX_SGIX_fbconfig(load, userptr);
|
||||
glad_glx_load_GLX_SGIX_hyperpipe(load, userptr);
|
||||
glad_glx_load_GLX_SGIX_pbuffer(load, userptr);
|
||||
glad_glx_load_GLX_SGIX_swap_barrier(load, userptr);
|
||||
glad_glx_load_GLX_SGIX_swap_group(load, userptr);
|
||||
glad_glx_load_GLX_SGIX_video_resize(load, userptr);
|
||||
glad_glx_load_GLX_SGI_cushion(load, userptr);
|
||||
glad_glx_load_GLX_SGI_make_current_read(load, userptr);
|
||||
glad_glx_load_GLX_SGI_swap_control(load, userptr);
|
||||
glad_glx_load_GLX_SGI_video_sync(load, userptr);
|
||||
glad_glx_load_GLX_SUN_get_transparent_index(load, userptr);
|
||||
|
||||
|
||||
return version;
|
||||
}
|
||||
|
||||
int gladLoadGLX(Display *display, int screen, GLADloadfunc load) {
|
||||
return gladLoadGLXUserPtr(display, screen, glad_glx_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef GLAD_GLX
|
||||
|
||||
#ifndef GLAD_LOADER_LIBRARY_C_
|
||||
#define GLAD_LOADER_LIBRARY_C_
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#if GLAD_PLATFORM_WIN32
|
||||
#include <windows.h>
|
||||
#else
|
||||
#include <dlfcn.h>
|
||||
#endif
|
||||
|
||||
|
||||
static void* glad_get_dlopen_handle(const char *lib_names[], int length) {
|
||||
void *handle = NULL;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < length; ++i) {
|
||||
#if GLAD_PLATFORM_WIN32
|
||||
#if GLAD_PLATFORM_UWP
|
||||
size_t buffer_size = (strlen(lib_names[i]) + 1) * sizeof(WCHAR);
|
||||
LPWSTR buffer = (LPWSTR) malloc(buffer_size);
|
||||
if (buffer != NULL) {
|
||||
int ret = MultiByteToWideChar(CP_ACP, 0, lib_names[i], -1, buffer, buffer_size);
|
||||
if (ret != 0) {
|
||||
handle = (void*) LoadPackagedLibrary(buffer, 0);
|
||||
}
|
||||
free((void*) buffer);
|
||||
}
|
||||
#else
|
||||
handle = (void*) LoadLibraryA(lib_names[i]);
|
||||
#endif
|
||||
#else
|
||||
handle = dlopen(lib_names[i], RTLD_LAZY | RTLD_LOCAL);
|
||||
#endif
|
||||
if (handle != NULL) {
|
||||
return handle;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void glad_close_dlopen_handle(void* handle) {
|
||||
if (handle != NULL) {
|
||||
#if GLAD_PLATFORM_WIN32
|
||||
FreeLibrary((HMODULE) handle);
|
||||
#else
|
||||
dlclose(handle);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
static GLADapiproc glad_dlsym_handle(void* handle, const char *name) {
|
||||
if (handle == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if GLAD_PLATFORM_WIN32
|
||||
return (GLADapiproc) GetProcAddress((HMODULE) handle, name);
|
||||
#else
|
||||
return GLAD_GNUC_EXTENSION (GLADapiproc) dlsym(handle, name);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* GLAD_LOADER_LIBRARY_C_ */
|
||||
|
||||
typedef void* (GLAD_API_PTR *GLADglxprocaddrfunc)(const char*);
|
||||
|
||||
static GLADapiproc glad_glx_get_proc(void *userptr, const char *name) {
|
||||
return GLAD_GNUC_EXTENSION ((GLADapiproc (*)(const char *name)) userptr)(name);
|
||||
}
|
||||
|
||||
static void* _glx_handle;
|
||||
|
||||
static void* glad_glx_dlopen_handle(void) {
|
||||
static const char *NAMES[] = {
|
||||
#if defined __CYGWIN__
|
||||
"libGL-1.so",
|
||||
#endif
|
||||
"libGL.so.1",
|
||||
"libGL.so"
|
||||
};
|
||||
|
||||
if (_glx_handle == NULL) {
|
||||
_glx_handle = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0]));
|
||||
}
|
||||
|
||||
return _glx_handle;
|
||||
}
|
||||
|
||||
int gladLoaderLoadGLX(Display *display, int screen) {
|
||||
int version = 0;
|
||||
void *handle = NULL;
|
||||
int did_load = 0;
|
||||
GLADglxprocaddrfunc loader;
|
||||
|
||||
did_load = _glx_handle == NULL;
|
||||
handle = glad_glx_dlopen_handle();
|
||||
if (handle != NULL) {
|
||||
loader = (GLADglxprocaddrfunc) glad_dlsym_handle(handle, "glXGetProcAddressARB");
|
||||
if (loader != NULL) {
|
||||
version = gladLoadGLXUserPtr(display, screen, glad_glx_get_proc, GLAD_GNUC_EXTENSION (void*) loader);
|
||||
}
|
||||
|
||||
if (!version && did_load) {
|
||||
gladLoaderUnloadGLX();
|
||||
}
|
||||
}
|
||||
|
||||
return version;
|
||||
}
|
||||
|
||||
|
||||
void gladLoaderUnloadGLX() {
|
||||
if (_glx_handle != NULL) {
|
||||
glad_close_dlopen_handle(_glx_handle);
|
||||
_glx_handle = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* GLAD_GLX */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -1,779 +0,0 @@
|
||||
/**
|
||||
* Loader generated by glad 2.0.4 on Thu Oct 26 14:05:44 2023
|
||||
*
|
||||
* SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0
|
||||
*
|
||||
* Generator: C/C++
|
||||
* Specification: gl
|
||||
* Extensions: 7
|
||||
*
|
||||
* APIs:
|
||||
* - glsc2=2.0
|
||||
*
|
||||
* Options:
|
||||
* - ALIAS = False
|
||||
* - DEBUG = False
|
||||
* - HEADER_ONLY = False
|
||||
* - LOADER = True
|
||||
* - MX = True
|
||||
* - ON_DEMAND = False
|
||||
*
|
||||
* Commandline:
|
||||
* --api='glsc2=2.0' --extensions='GL_EXT_texture_compression_s3tc,GL_IMG_pvric_end_to_end_signature,GL_IMG_tile_region_protection,GL_OES_depth24,GL_OES_depth32,GL_OES_rgb8_rgba8,GL_OES_standard_derivatives' c --loader --mx
|
||||
*
|
||||
* Online:
|
||||
* http://glad.sh/#api=glsc2%3D2.0&extensions=GL_EXT_texture_compression_s3tc%2CGL_IMG_pvric_end_to_end_signature%2CGL_IMG_tile_region_protection%2CGL_OES_depth24%2CGL_OES_depth32%2CGL_OES_rgb8_rgba8%2CGL_OES_standard_derivatives&generator=c&options=LOADER%2CMX
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef GLAD_GLSC2_H_
|
||||
#define GLAD_GLSC2_H_
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wreserved-id-macro"
|
||||
#endif
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
#define GLAD_GLSC2
|
||||
#define GLAD_OPTION_GLSC2_LOADER
|
||||
#define GLAD_OPTION_GLSC2_MX
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef GLAD_PLATFORM_H_
|
||||
#define GLAD_PLATFORM_H_
|
||||
|
||||
#ifndef GLAD_PLATFORM_WIN32
|
||||
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)
|
||||
#define GLAD_PLATFORM_WIN32 1
|
||||
#else
|
||||
#define GLAD_PLATFORM_WIN32 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef GLAD_PLATFORM_APPLE
|
||||
#ifdef __APPLE__
|
||||
#define GLAD_PLATFORM_APPLE 1
|
||||
#else
|
||||
#define GLAD_PLATFORM_APPLE 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef GLAD_PLATFORM_EMSCRIPTEN
|
||||
#ifdef __EMSCRIPTEN__
|
||||
#define GLAD_PLATFORM_EMSCRIPTEN 1
|
||||
#else
|
||||
#define GLAD_PLATFORM_EMSCRIPTEN 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef GLAD_PLATFORM_UWP
|
||||
#if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY)
|
||||
#ifdef __has_include
|
||||
#if __has_include(<winapifamily.h>)
|
||||
#define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
|
||||
#endif
|
||||
#elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
|
||||
#define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY
|
||||
#include <winapifamily.h>
|
||||
#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
|
||||
#define GLAD_PLATFORM_UWP 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef GLAD_PLATFORM_UWP
|
||||
#define GLAD_PLATFORM_UWP 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define GLAD_GNUC_EXTENSION __extension__
|
||||
#else
|
||||
#define GLAD_GNUC_EXTENSION
|
||||
#endif
|
||||
|
||||
#define GLAD_UNUSED(x) (void)(x)
|
||||
|
||||
#ifndef GLAD_API_CALL
|
||||
#if defined(GLAD_API_CALL_EXPORT)
|
||||
#if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__)
|
||||
#if defined(GLAD_API_CALL_EXPORT_BUILD)
|
||||
#if defined(__GNUC__)
|
||||
#define GLAD_API_CALL __attribute__ ((dllexport)) extern
|
||||
#else
|
||||
#define GLAD_API_CALL __declspec(dllexport) extern
|
||||
#endif
|
||||
#else
|
||||
#if defined(__GNUC__)
|
||||
#define GLAD_API_CALL __attribute__ ((dllimport)) extern
|
||||
#else
|
||||
#define GLAD_API_CALL __declspec(dllimport) extern
|
||||
#endif
|
||||
#endif
|
||||
#elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD)
|
||||
#define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern
|
||||
#else
|
||||
#define GLAD_API_CALL extern
|
||||
#endif
|
||||
#else
|
||||
#define GLAD_API_CALL extern
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef APIENTRY
|
||||
#define GLAD_API_PTR APIENTRY
|
||||
#elif GLAD_PLATFORM_WIN32
|
||||
#define GLAD_API_PTR __stdcall
|
||||
#else
|
||||
#define GLAD_API_PTR
|
||||
#endif
|
||||
|
||||
#ifndef GLAPI
|
||||
#define GLAPI GLAD_API_CALL
|
||||
#endif
|
||||
|
||||
#ifndef GLAPIENTRY
|
||||
#define GLAPIENTRY GLAD_API_PTR
|
||||
#endif
|
||||
|
||||
#define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor)
|
||||
#define GLAD_VERSION_MAJOR(version) (version / 10000)
|
||||
#define GLAD_VERSION_MINOR(version) (version % 10000)
|
||||
|
||||
#define GLAD_GENERATOR_VERSION "2.0.4"
|
||||
|
||||
typedef void (*GLADapiproc)(void);
|
||||
|
||||
typedef GLADapiproc(*GLADloadfunc)(const char* name);
|
||||
typedef GLADapiproc(*GLADuserptrloadfunc)(void* userptr, const char* name);
|
||||
|
||||
typedef void (*GLADprecallback)(const char* name, GLADapiproc apiproc, int len_args, ...);
|
||||
typedef void (*GLADpostcallback)(void* ret, const char* name, GLADapiproc apiproc, int len_args, ...);
|
||||
|
||||
#endif /* GLAD_PLATFORM_H_ */
|
||||
|
||||
#define GL_ACTIVE_TEXTURE 0x84E0
|
||||
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
|
||||
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
|
||||
#define GL_ALPHA_BITS 0x0D55
|
||||
#define GL_ALWAYS 0x0207
|
||||
#define GL_ARRAY_BUFFER 0x8892
|
||||
#define GL_ARRAY_BUFFER_BINDING 0x8894
|
||||
#define GL_BACK 0x0405
|
||||
#define GL_BLEND 0x0BE2
|
||||
#define GL_BLEND_COLOR 0x8005
|
||||
#define GL_BLEND_DST_ALPHA 0x80CA
|
||||
#define GL_BLEND_DST_RGB 0x80C8
|
||||
#define GL_BLEND_EQUATION 0x8009
|
||||
#define GL_BLEND_EQUATION_ALPHA 0x883D
|
||||
#define GL_BLEND_EQUATION_RGB 0x8009
|
||||
#define GL_BLEND_SRC_ALPHA 0x80CB
|
||||
#define GL_BLEND_SRC_RGB 0x80C9
|
||||
#define GL_BLUE_BITS 0x0D54
|
||||
#define GL_BUFFER_SIZE 0x8764
|
||||
#define GL_BUFFER_USAGE 0x8765
|
||||
#define GL_BYTE 0x1400
|
||||
#define GL_CCW 0x0901
|
||||
#define GL_CLAMP_TO_EDGE 0x812F
|
||||
#define GL_COLOR_ATTACHMENT0 0x8CE0
|
||||
#define GL_COLOR_BUFFER_BIT 0x00004000
|
||||
#define GL_COLOR_CLEAR_VALUE 0x0C22
|
||||
#define GL_COLOR_WRITEMASK 0x0C23
|
||||
#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
|
||||
#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
|
||||
#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
|
||||
#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
|
||||
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
|
||||
#define GL_CONSTANT_ALPHA 0x8003
|
||||
#define GL_CONSTANT_COLOR 0x8001
|
||||
#define GL_CONTEXT_LOST 0x0507
|
||||
#define GL_CONTEXT_ROBUST_ACCESS 0x90F3
|
||||
#define GL_CULL_FACE 0x0B44
|
||||
#define GL_CULL_FACE_MODE 0x0B45
|
||||
#define GL_CURRENT_PROGRAM 0x8B8D
|
||||
#define GL_CURRENT_VERTEX_ATTRIB 0x8626
|
||||
#define GL_CW 0x0900
|
||||
#define GL_DECR 0x1E03
|
||||
#define GL_DECR_WRAP 0x8508
|
||||
#define GL_DEPTH_ATTACHMENT 0x8D00
|
||||
#define GL_DEPTH_BITS 0x0D56
|
||||
#define GL_DEPTH_BUFFER_BIT 0x00000100
|
||||
#define GL_DEPTH_CLEAR_VALUE 0x0B73
|
||||
#define GL_DEPTH_COMPONENT16 0x81A5
|
||||
#define GL_DEPTH_COMPONENT24_OES 0x81A6
|
||||
#define GL_DEPTH_COMPONENT32_OES 0x81A7
|
||||
#define GL_DEPTH_FUNC 0x0B74
|
||||
#define GL_DEPTH_RANGE 0x0B70
|
||||
#define GL_DEPTH_TEST 0x0B71
|
||||
#define GL_DEPTH_WRITEMASK 0x0B72
|
||||
#define GL_DITHER 0x0BD0
|
||||
#define GL_DONT_CARE 0x1100
|
||||
#define GL_DST_ALPHA 0x0304
|
||||
#define GL_DST_COLOR 0x0306
|
||||
#define GL_DYNAMIC_DRAW 0x88E8
|
||||
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
|
||||
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
|
||||
#define GL_EQUAL 0x0202
|
||||
#define GL_EXTENSIONS 0x1F03
|
||||
#define GL_FALSE 0
|
||||
#define GL_FASTEST 0x1101
|
||||
#define GL_FLOAT 0x1406
|
||||
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
|
||||
#define GL_FRAMEBUFFER 0x8D40
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
|
||||
#define GL_FRAMEBUFFER_BINDING 0x8CA6
|
||||
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
|
||||
#define GL_FRAMEBUFFER_UNDEFINED 0x8219
|
||||
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
|
||||
#define GL_FRONT 0x0404
|
||||
#define GL_FRONT_AND_BACK 0x0408
|
||||
#define GL_FRONT_FACE 0x0B46
|
||||
#define GL_FUNC_ADD 0x8006
|
||||
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
|
||||
#define GL_FUNC_SUBTRACT 0x800A
|
||||
#define GL_GENERATE_MIPMAP_HINT 0x8192
|
||||
#define GL_GEQUAL 0x0206
|
||||
#define GL_GREATER 0x0204
|
||||
#define GL_GREEN_BITS 0x0D53
|
||||
#define GL_GUILTY_CONTEXT_RESET 0x8253
|
||||
#define GL_HIGH_FLOAT 0x8DF2
|
||||
#define GL_HIGH_INT 0x8DF5
|
||||
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
|
||||
#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
|
||||
#define GL_INCR 0x1E02
|
||||
#define GL_INCR_WRAP 0x8507
|
||||
#define GL_INNOCENT_CONTEXT_RESET 0x8254
|
||||
#define GL_INT 0x1404
|
||||
#define GL_INVALID_ENUM 0x0500
|
||||
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
|
||||
#define GL_INVALID_OPERATION 0x0502
|
||||
#define GL_INVALID_VALUE 0x0501
|
||||
#define GL_INVERT 0x150A
|
||||
#define GL_KEEP 0x1E00
|
||||
#define GL_LEQUAL 0x0203
|
||||
#define GL_LESS 0x0201
|
||||
#define GL_LINEAR 0x2601
|
||||
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
|
||||
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
|
||||
#define GL_LINES 0x0001
|
||||
#define GL_LINE_LOOP 0x0002
|
||||
#define GL_LINE_STRIP 0x0003
|
||||
#define GL_LINE_WIDTH 0x0B21
|
||||
#define GL_LINK_STATUS 0x8B82
|
||||
#define GL_LOSE_CONTEXT_ON_RESET 0x8252
|
||||
#define GL_LOW_FLOAT 0x8DF0
|
||||
#define GL_LOW_INT 0x8DF3
|
||||
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
|
||||
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
|
||||
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
|
||||
#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
|
||||
#define GL_MAX_TEXTURE_SIZE 0x0D33
|
||||
#define GL_MAX_VARYING_VECTORS 0x8DFC
|
||||
#define GL_MAX_VERTEX_ATTRIBS 0x8869
|
||||
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
|
||||
#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
|
||||
#define GL_MAX_VIEWPORT_DIMS 0x0D3A
|
||||
#define GL_MEDIUM_FLOAT 0x8DF1
|
||||
#define GL_MEDIUM_INT 0x8DF4
|
||||
#define GL_MIRRORED_REPEAT 0x8370
|
||||
#define GL_NEAREST 0x2600
|
||||
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
|
||||
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
|
||||
#define GL_NEVER 0x0200
|
||||
#define GL_NICEST 0x1102
|
||||
#define GL_NONE 0
|
||||
#define GL_NOTEQUAL 0x0205
|
||||
#define GL_NO_ERROR 0
|
||||
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
|
||||
#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
|
||||
#define GL_ONE 1
|
||||
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
|
||||
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
|
||||
#define GL_ONE_MINUS_DST_ALPHA 0x0305
|
||||
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
||||
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
|
||||
#define GL_ONE_MINUS_SRC_COLOR 0x0301
|
||||
#define GL_OUT_OF_MEMORY 0x0505
|
||||
#define GL_PACK_ALIGNMENT 0x0D05
|
||||
#define GL_POINTS 0x0000
|
||||
#define GL_POLYGON_OFFSET_FACTOR 0x8038
|
||||
#define GL_POLYGON_OFFSET_FILL 0x8037
|
||||
#define GL_POLYGON_OFFSET_UNITS 0x2A00
|
||||
#define GL_PROGRAM_BINARY_FORMATS 0x87FF
|
||||
#define GL_PVRIC_SIGNATURE_MISMATCH_IMG 0x8EA3
|
||||
#define GL_R8 0x8229
|
||||
#define GL_RED 0x1903
|
||||
#define GL_RED_BITS 0x0D52
|
||||
#define GL_RENDERBUFFER 0x8D41
|
||||
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
|
||||
#define GL_RENDERBUFFER_BINDING 0x8CA7
|
||||
#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
|
||||
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
|
||||
#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
|
||||
#define GL_RENDERBUFFER_HEIGHT 0x8D43
|
||||
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
|
||||
#define GL_RENDERBUFFER_RED_SIZE 0x8D50
|
||||
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
|
||||
#define GL_RENDERBUFFER_WIDTH 0x8D42
|
||||
#define GL_RENDERER 0x1F01
|
||||
#define GL_REPEAT 0x2901
|
||||
#define GL_REPLACE 0x1E01
|
||||
#define GL_RESET_NOTIFICATION_STRATEGY 0x8256
|
||||
#define GL_RG 0x8227
|
||||
#define GL_RG8 0x822B
|
||||
#define GL_RGB 0x1907
|
||||
#define GL_RGB565 0x8D62
|
||||
#define GL_RGB5_A1 0x8057
|
||||
#define GL_RGB8 0x8051
|
||||
#define GL_RGB8_OES 0x8051
|
||||
#define GL_RGBA 0x1908
|
||||
#define GL_RGBA4 0x8056
|
||||
#define GL_RGBA8 0x8058
|
||||
#define GL_RGBA8_OES 0x8058
|
||||
#define GL_SAMPLER_2D 0x8B5E
|
||||
#define GL_SAMPLES 0x80A9
|
||||
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
|
||||
#define GL_SAMPLE_BUFFERS 0x80A8
|
||||
#define GL_SAMPLE_COVERAGE 0x80A0
|
||||
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
|
||||
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
|
||||
#define GL_SCISSOR_BOX 0x0C10
|
||||
#define GL_SCISSOR_TEST 0x0C11
|
||||
#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
|
||||
#define GL_SHORT 0x1402
|
||||
#define GL_SRC_ALPHA 0x0302
|
||||
#define GL_SRC_ALPHA_SATURATE 0x0308
|
||||
#define GL_SRC_COLOR 0x0300
|
||||
#define GL_STATIC_DRAW 0x88E4
|
||||
#define GL_STENCIL_ATTACHMENT 0x8D20
|
||||
#define GL_STENCIL_BACK_FAIL 0x8801
|
||||
#define GL_STENCIL_BACK_FUNC 0x8800
|
||||
#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
|
||||
#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
|
||||
#define GL_STENCIL_BACK_REF 0x8CA3
|
||||
#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
|
||||
#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
|
||||
#define GL_STENCIL_BITS 0x0D57
|
||||
#define GL_STENCIL_BUFFER_BIT 0x00000400
|
||||
#define GL_STENCIL_CLEAR_VALUE 0x0B91
|
||||
#define GL_STENCIL_FAIL 0x0B94
|
||||
#define GL_STENCIL_FUNC 0x0B92
|
||||
#define GL_STENCIL_INDEX8 0x8D48
|
||||
#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
|
||||
#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
|
||||
#define GL_STENCIL_REF 0x0B97
|
||||
#define GL_STENCIL_TEST 0x0B90
|
||||
#define GL_STENCIL_VALUE_MASK 0x0B93
|
||||
#define GL_STENCIL_WRITEMASK 0x0B98
|
||||
#define GL_STREAM_DRAW 0x88E0
|
||||
#define GL_SUBPIXEL_BITS 0x0D50
|
||||
#define GL_TEXTURE 0x1702
|
||||
#define GL_TEXTURE0 0x84C0
|
||||
#define GL_TEXTURE1 0x84C1
|
||||
#define GL_TEXTURE10 0x84CA
|
||||
#define GL_TEXTURE11 0x84CB
|
||||
#define GL_TEXTURE12 0x84CC
|
||||
#define GL_TEXTURE13 0x84CD
|
||||
#define GL_TEXTURE14 0x84CE
|
||||
#define GL_TEXTURE15 0x84CF
|
||||
#define GL_TEXTURE16 0x84D0
|
||||
#define GL_TEXTURE17 0x84D1
|
||||
#define GL_TEXTURE18 0x84D2
|
||||
#define GL_TEXTURE19 0x84D3
|
||||
#define GL_TEXTURE2 0x84C2
|
||||
#define GL_TEXTURE20 0x84D4
|
||||
#define GL_TEXTURE21 0x84D5
|
||||
#define GL_TEXTURE22 0x84D6
|
||||
#define GL_TEXTURE23 0x84D7
|
||||
#define GL_TEXTURE24 0x84D8
|
||||
#define GL_TEXTURE25 0x84D9
|
||||
#define GL_TEXTURE26 0x84DA
|
||||
#define GL_TEXTURE27 0x84DB
|
||||
#define GL_TEXTURE28 0x84DC
|
||||
#define GL_TEXTURE29 0x84DD
|
||||
#define GL_TEXTURE3 0x84C3
|
||||
#define GL_TEXTURE30 0x84DE
|
||||
#define GL_TEXTURE31 0x84DF
|
||||
#define GL_TEXTURE4 0x84C4
|
||||
#define GL_TEXTURE5 0x84C5
|
||||
#define GL_TEXTURE6 0x84C6
|
||||
#define GL_TEXTURE7 0x84C7
|
||||
#define GL_TEXTURE8 0x84C8
|
||||
#define GL_TEXTURE9 0x84C9
|
||||
#define GL_TEXTURE_2D 0x0DE1
|
||||
#define GL_TEXTURE_BINDING_2D 0x8069
|
||||
#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
|
||||
#define GL_TEXTURE_MAG_FILTER 0x2800
|
||||
#define GL_TEXTURE_MIN_FILTER 0x2801
|
||||
#define GL_TEXTURE_WRAP_S 0x2802
|
||||
#define GL_TEXTURE_WRAP_T 0x2803
|
||||
#define GL_TRIANGLES 0x0004
|
||||
#define GL_TRIANGLE_FAN 0x0006
|
||||
#define GL_TRIANGLE_STRIP 0x0005
|
||||
#define GL_TRP_ERROR_CONTEXT_RESET_IMG 0x8EA1
|
||||
#define GL_TRP_IMG 0x8EA0
|
||||
#define GL_TRP_UNSUPPORTED_CONTEXT_IMG 0x8EA2
|
||||
#define GL_TRUE 1
|
||||
#define GL_UNKNOWN_CONTEXT_RESET 0x8255
|
||||
#define GL_UNPACK_ALIGNMENT 0x0CF5
|
||||
#define GL_UNSIGNED_BYTE 0x1401
|
||||
#define GL_UNSIGNED_INT 0x1405
|
||||
#define GL_UNSIGNED_SHORT 0x1403
|
||||
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
|
||||
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
|
||||
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
||||
#define GL_VENDOR 0x1F00
|
||||
#define GL_VERSION 0x1F02
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
|
||||
#define GL_VIEWPORT 0x0BA2
|
||||
#define GL_ZERO 0
|
||||
|
||||
|
||||
#include <khrplatform.h>
|
||||
typedef unsigned int GLenum;
|
||||
typedef unsigned char GLboolean;
|
||||
typedef unsigned int GLbitfield;
|
||||
typedef void GLvoid;
|
||||
typedef khronos_int8_t GLbyte;
|
||||
typedef khronos_uint8_t GLubyte;
|
||||
typedef khronos_int16_t GLshort;
|
||||
typedef khronos_uint16_t GLushort;
|
||||
typedef int GLint;
|
||||
typedef unsigned int GLuint;
|
||||
typedef khronos_int32_t GLclampx;
|
||||
typedef int GLsizei;
|
||||
typedef khronos_float_t GLfloat;
|
||||
typedef khronos_float_t GLclampf;
|
||||
typedef double GLdouble;
|
||||
typedef double GLclampd;
|
||||
typedef void* GLeglClientBufferEXT;
|
||||
typedef void* GLeglImageOES;
|
||||
typedef char GLchar;
|
||||
typedef char GLcharARB;
|
||||
#ifdef __APPLE__
|
||||
typedef void* GLhandleARB;
|
||||
#else
|
||||
typedef unsigned int GLhandleARB;
|
||||
#endif
|
||||
typedef khronos_uint16_t GLhalf;
|
||||
typedef khronos_uint16_t GLhalfARB;
|
||||
typedef khronos_int32_t GLfixed;
|
||||
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
|
||||
typedef khronos_intptr_t GLintptr;
|
||||
#else
|
||||
typedef khronos_intptr_t GLintptr;
|
||||
#endif
|
||||
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
|
||||
typedef khronos_intptr_t GLintptrARB;
|
||||
#else
|
||||
typedef khronos_intptr_t GLintptrARB;
|
||||
#endif
|
||||
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
|
||||
typedef khronos_ssize_t GLsizeiptr;
|
||||
#else
|
||||
typedef khronos_ssize_t GLsizeiptr;
|
||||
#endif
|
||||
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
|
||||
typedef khronos_ssize_t GLsizeiptrARB;
|
||||
#else
|
||||
typedef khronos_ssize_t GLsizeiptrARB;
|
||||
#endif
|
||||
typedef khronos_int64_t GLint64;
|
||||
typedef khronos_int64_t GLint64EXT;
|
||||
typedef khronos_uint64_t GLuint64;
|
||||
typedef khronos_uint64_t GLuint64EXT;
|
||||
typedef struct __GLsync* GLsync;
|
||||
struct _cl_context;
|
||||
struct _cl_event;
|
||||
typedef void (GLAD_API_PTR* GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam);
|
||||
typedef void (GLAD_API_PTR* GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam);
|
||||
typedef void (GLAD_API_PTR* GLDEBUGPROCKHR)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam);
|
||||
typedef void (GLAD_API_PTR* GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, void* userParam);
|
||||
typedef unsigned short GLhalfNV;
|
||||
typedef GLintptr GLvdpauSurfaceNV;
|
||||
typedef void (GLAD_API_PTR* GLVULKANPROCNV)(void);
|
||||
|
||||
|
||||
#define GL_SC_VERSION_2_0 1
|
||||
#define GL_EXT_texture_compression_s3tc 1
|
||||
#define GL_IMG_pvric_end_to_end_signature 1
|
||||
#define GL_IMG_tile_region_protection 1
|
||||
#define GL_OES_depth24 1
|
||||
#define GL_OES_depth32 1
|
||||
#define GL_OES_rgb8_rgba8 1
|
||||
#define GL_OES_standard_derivatives 1
|
||||
|
||||
|
||||
typedef void (GLAD_API_PTR* PFNGLACTIVETEXTUREPROC)(GLenum texture);
|
||||
typedef void (GLAD_API_PTR* PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer);
|
||||
typedef void (GLAD_API_PTR* PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);
|
||||
typedef void (GLAD_API_PTR* PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer);
|
||||
typedef void (GLAD_API_PTR* PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture);
|
||||
typedef void (GLAD_API_PTR* PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
typedef void (GLAD_API_PTR* PFNGLBLENDEQUATIONPROC)(GLenum mode);
|
||||
typedef void (GLAD_API_PTR* PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha);
|
||||
typedef void (GLAD_API_PTR* PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor);
|
||||
typedef void (GLAD_API_PTR* PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
||||
typedef void (GLAD_API_PTR* PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void* data, GLenum usage);
|
||||
typedef void (GLAD_API_PTR* PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void* data);
|
||||
typedef GLenum(GLAD_API_PTR* PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target);
|
||||
typedef void (GLAD_API_PTR* PFNGLCLEARPROC)(GLbitfield mask);
|
||||
typedef void (GLAD_API_PTR* PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
typedef void (GLAD_API_PTR* PFNGLCLEARDEPTHFPROC)(GLfloat d);
|
||||
typedef void (GLAD_API_PTR* PFNGLCLEARSTENCILPROC)(GLint s);
|
||||
typedef void (GLAD_API_PTR* PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||
typedef void (GLAD_API_PTR* PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
|
||||
typedef GLuint(GLAD_API_PTR* PFNGLCREATEPROGRAMPROC)(void);
|
||||
typedef void (GLAD_API_PTR* PFNGLCULLFACEPROC)(GLenum mode);
|
||||
typedef void (GLAD_API_PTR* PFNGLDEPTHFUNCPROC)(GLenum func);
|
||||
typedef void (GLAD_API_PTR* PFNGLDEPTHMASKPROC)(GLboolean flag);
|
||||
typedef void (GLAD_API_PTR* PFNGLDEPTHRANGEFPROC)(GLfloat n, GLfloat f);
|
||||
typedef void (GLAD_API_PTR* PFNGLDISABLEPROC)(GLenum cap);
|
||||
typedef void (GLAD_API_PTR* PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index);
|
||||
typedef void (GLAD_API_PTR* PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count);
|
||||
typedef void (GLAD_API_PTR* PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void* indices);
|
||||
typedef void (GLAD_API_PTR* PFNGLENABLEPROC)(GLenum cap);
|
||||
typedef void (GLAD_API_PTR* PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index);
|
||||
typedef void (GLAD_API_PTR* PFNGLFINISHPROC)(void);
|
||||
typedef void (GLAD_API_PTR* PFNGLFLUSHPROC)(void);
|
||||
typedef void (GLAD_API_PTR* PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
typedef void (GLAD_API_PTR* PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
typedef void (GLAD_API_PTR* PFNGLFRONTFACEPROC)(GLenum mode);
|
||||
typedef void (GLAD_API_PTR* PFNGLGENBUFFERSPROC)(GLsizei n, GLuint* buffers);
|
||||
typedef void (GLAD_API_PTR* PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint* framebuffers);
|
||||
typedef void (GLAD_API_PTR* PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint* renderbuffers);
|
||||
typedef void (GLAD_API_PTR* PFNGLGENTEXTURESPROC)(GLsizei n, GLuint* textures);
|
||||
typedef void (GLAD_API_PTR* PFNGLGENERATEMIPMAPPROC)(GLenum target);
|
||||
typedef GLint(GLAD_API_PTR* PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar* name);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean* data);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint* params);
|
||||
typedef GLenum(GLAD_API_PTR* PFNGLGETERRORPROC)(void);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETFLOATVPROC)(GLenum pname, GLfloat* data);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint* params);
|
||||
typedef GLenum(GLAD_API_PTR* PFNGLGETGRAPHICSRESETSTATUSPROC)(void);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETINTEGERVPROC)(GLenum pname, GLint* data);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint* params);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint* params);
|
||||
typedef const GLubyte* (GLAD_API_PTR* PFNGLGETSTRINGPROC)(GLenum name);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat* params);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint* params);
|
||||
typedef GLint(GLAD_API_PTR* PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar* name);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void** pointer);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat* params);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint* params);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETNUNIFORMFVPROC)(GLuint program, GLint location, GLsizei bufSize, GLfloat* params);
|
||||
typedef void (GLAD_API_PTR* PFNGLGETNUNIFORMIVPROC)(GLuint program, GLint location, GLsizei bufSize, GLint* params);
|
||||
typedef void (GLAD_API_PTR* PFNGLHINTPROC)(GLenum target, GLenum mode);
|
||||
typedef GLboolean(GLAD_API_PTR* PFNGLISENABLEDPROC)(GLenum cap);
|
||||
typedef void (GLAD_API_PTR* PFNGLLINEWIDTHPROC)(GLfloat width);
|
||||
typedef void (GLAD_API_PTR* PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param);
|
||||
typedef void (GLAD_API_PTR* PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units);
|
||||
typedef void (GLAD_API_PTR* PFNGLPROGRAMBINARYPROC)(GLuint program, GLenum binaryFormat, const void* binary, GLsizei length);
|
||||
typedef void (GLAD_API_PTR* PFNGLREADNPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void* data);
|
||||
typedef void (GLAD_API_PTR* PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GLAD_API_PTR* PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert);
|
||||
typedef void (GLAD_API_PTR* PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
typedef void (GLAD_API_PTR* PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask);
|
||||
typedef void (GLAD_API_PTR* PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask);
|
||||
typedef void (GLAD_API_PTR* PFNGLSTENCILMASKPROC)(GLuint mask);
|
||||
typedef void (GLAD_API_PTR* PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask);
|
||||
typedef void (GLAD_API_PTR* PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass);
|
||||
typedef void (GLAD_API_PTR* PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
|
||||
typedef void (GLAD_API_PTR* PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param);
|
||||
typedef void (GLAD_API_PTR* PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat* params);
|
||||
typedef void (GLAD_API_PTR* PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);
|
||||
typedef void (GLAD_API_PTR* PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint* params);
|
||||
typedef void (GLAD_API_PTR* PFNGLTEXSTORAGE2DPROC)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GLAD_API_PTR* PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM1IPROC)(GLint location, GLint v0);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
|
||||
typedef void (GLAD_API_PTR* PFNGLUSEPROGRAMPROC)(GLuint program);
|
||||
typedef void (GLAD_API_PTR* PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x);
|
||||
typedef void (GLAD_API_PTR* PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat* v);
|
||||
typedef void (GLAD_API_PTR* PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y);
|
||||
typedef void (GLAD_API_PTR* PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat* v);
|
||||
typedef void (GLAD_API_PTR* PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
|
||||
typedef void (GLAD_API_PTR* PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat* v);
|
||||
typedef void (GLAD_API_PTR* PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||
typedef void (GLAD_API_PTR* PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat* v);
|
||||
typedef void (GLAD_API_PTR* PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer);
|
||||
typedef void (GLAD_API_PTR* PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
|
||||
typedef struct GladGLSC2Context {
|
||||
void* userptr;
|
||||
|
||||
int SC_VERSION_2_0;
|
||||
int EXT_texture_compression_s3tc;
|
||||
int IMG_pvric_end_to_end_signature;
|
||||
int IMG_tile_region_protection;
|
||||
int OES_depth24;
|
||||
int OES_depth32;
|
||||
int OES_rgb8_rgba8;
|
||||
int OES_standard_derivatives;
|
||||
|
||||
PFNGLACTIVETEXTUREPROC ActiveTexture;
|
||||
PFNGLBINDBUFFERPROC BindBuffer;
|
||||
PFNGLBINDFRAMEBUFFERPROC BindFramebuffer;
|
||||
PFNGLBINDRENDERBUFFERPROC BindRenderbuffer;
|
||||
PFNGLBINDTEXTUREPROC BindTexture;
|
||||
PFNGLBLENDCOLORPROC BlendColor;
|
||||
PFNGLBLENDEQUATIONPROC BlendEquation;
|
||||
PFNGLBLENDEQUATIONSEPARATEPROC BlendEquationSeparate;
|
||||
PFNGLBLENDFUNCPROC BlendFunc;
|
||||
PFNGLBLENDFUNCSEPARATEPROC BlendFuncSeparate;
|
||||
PFNGLBUFFERDATAPROC BufferData;
|
||||
PFNGLBUFFERSUBDATAPROC BufferSubData;
|
||||
PFNGLCHECKFRAMEBUFFERSTATUSPROC CheckFramebufferStatus;
|
||||
PFNGLCLEARPROC Clear;
|
||||
PFNGLCLEARCOLORPROC ClearColor;
|
||||
PFNGLCLEARDEPTHFPROC ClearDepthf;
|
||||
PFNGLCLEARSTENCILPROC ClearStencil;
|
||||
PFNGLCOLORMASKPROC ColorMask;
|
||||
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC CompressedTexSubImage2D;
|
||||
PFNGLCREATEPROGRAMPROC CreateProgram;
|
||||
PFNGLCULLFACEPROC CullFace;
|
||||
PFNGLDEPTHFUNCPROC DepthFunc;
|
||||
PFNGLDEPTHMASKPROC DepthMask;
|
||||
PFNGLDEPTHRANGEFPROC DepthRangef;
|
||||
PFNGLDISABLEPROC Disable;
|
||||
PFNGLDISABLEVERTEXATTRIBARRAYPROC DisableVertexAttribArray;
|
||||
PFNGLDRAWARRAYSPROC DrawArrays;
|
||||
PFNGLDRAWRANGEELEMENTSPROC DrawRangeElements;
|
||||
PFNGLENABLEPROC Enable;
|
||||
PFNGLENABLEVERTEXATTRIBARRAYPROC EnableVertexAttribArray;
|
||||
PFNGLFINISHPROC Finish;
|
||||
PFNGLFLUSHPROC Flush;
|
||||
PFNGLFRAMEBUFFERRENDERBUFFERPROC FramebufferRenderbuffer;
|
||||
PFNGLFRAMEBUFFERTEXTURE2DPROC FramebufferTexture2D;
|
||||
PFNGLFRONTFACEPROC FrontFace;
|
||||
PFNGLGENBUFFERSPROC GenBuffers;
|
||||
PFNGLGENFRAMEBUFFERSPROC GenFramebuffers;
|
||||
PFNGLGENRENDERBUFFERSPROC GenRenderbuffers;
|
||||
PFNGLGENTEXTURESPROC GenTextures;
|
||||
PFNGLGENERATEMIPMAPPROC GenerateMipmap;
|
||||
PFNGLGETATTRIBLOCATIONPROC GetAttribLocation;
|
||||
PFNGLGETBOOLEANVPROC GetBooleanv;
|
||||
PFNGLGETBUFFERPARAMETERIVPROC GetBufferParameteriv;
|
||||
PFNGLGETERRORPROC GetError;
|
||||
PFNGLGETFLOATVPROC GetFloatv;
|
||||
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC GetFramebufferAttachmentParameteriv;
|
||||
PFNGLGETGRAPHICSRESETSTATUSPROC GetGraphicsResetStatus;
|
||||
PFNGLGETINTEGERVPROC GetIntegerv;
|
||||
PFNGLGETPROGRAMIVPROC GetProgramiv;
|
||||
PFNGLGETRENDERBUFFERPARAMETERIVPROC GetRenderbufferParameteriv;
|
||||
PFNGLGETSTRINGPROC GetString;
|
||||
PFNGLGETTEXPARAMETERFVPROC GetTexParameterfv;
|
||||
PFNGLGETTEXPARAMETERIVPROC GetTexParameteriv;
|
||||
PFNGLGETUNIFORMLOCATIONPROC GetUniformLocation;
|
||||
PFNGLGETVERTEXATTRIBPOINTERVPROC GetVertexAttribPointerv;
|
||||
PFNGLGETVERTEXATTRIBFVPROC GetVertexAttribfv;
|
||||
PFNGLGETVERTEXATTRIBIVPROC GetVertexAttribiv;
|
||||
PFNGLGETNUNIFORMFVPROC GetnUniformfv;
|
||||
PFNGLGETNUNIFORMIVPROC GetnUniformiv;
|
||||
PFNGLHINTPROC Hint;
|
||||
PFNGLISENABLEDPROC IsEnabled;
|
||||
PFNGLLINEWIDTHPROC LineWidth;
|
||||
PFNGLPIXELSTOREIPROC PixelStorei;
|
||||
PFNGLPOLYGONOFFSETPROC PolygonOffset;
|
||||
PFNGLPROGRAMBINARYPROC ProgramBinary;
|
||||
PFNGLREADNPIXELSPROC ReadnPixels;
|
||||
PFNGLRENDERBUFFERSTORAGEPROC RenderbufferStorage;
|
||||
PFNGLSAMPLECOVERAGEPROC SampleCoverage;
|
||||
PFNGLSCISSORPROC Scissor;
|
||||
PFNGLSTENCILFUNCPROC StencilFunc;
|
||||
PFNGLSTENCILFUNCSEPARATEPROC StencilFuncSeparate;
|
||||
PFNGLSTENCILMASKPROC StencilMask;
|
||||
PFNGLSTENCILMASKSEPARATEPROC StencilMaskSeparate;
|
||||
PFNGLSTENCILOPPROC StencilOp;
|
||||
PFNGLSTENCILOPSEPARATEPROC StencilOpSeparate;
|
||||
PFNGLTEXPARAMETERFPROC TexParameterf;
|
||||
PFNGLTEXPARAMETERFVPROC TexParameterfv;
|
||||
PFNGLTEXPARAMETERIPROC TexParameteri;
|
||||
PFNGLTEXPARAMETERIVPROC TexParameteriv;
|
||||
PFNGLTEXSTORAGE2DPROC TexStorage2D;
|
||||
PFNGLTEXSUBIMAGE2DPROC TexSubImage2D;
|
||||
PFNGLUNIFORM1FPROC Uniform1f;
|
||||
PFNGLUNIFORM1FVPROC Uniform1fv;
|
||||
PFNGLUNIFORM1IPROC Uniform1i;
|
||||
PFNGLUNIFORM1IVPROC Uniform1iv;
|
||||
PFNGLUNIFORM2FPROC Uniform2f;
|
||||
PFNGLUNIFORM2FVPROC Uniform2fv;
|
||||
PFNGLUNIFORM2IPROC Uniform2i;
|
||||
PFNGLUNIFORM2IVPROC Uniform2iv;
|
||||
PFNGLUNIFORM3FPROC Uniform3f;
|
||||
PFNGLUNIFORM3FVPROC Uniform3fv;
|
||||
PFNGLUNIFORM3IPROC Uniform3i;
|
||||
PFNGLUNIFORM3IVPROC Uniform3iv;
|
||||
PFNGLUNIFORM4FPROC Uniform4f;
|
||||
PFNGLUNIFORM4FVPROC Uniform4fv;
|
||||
PFNGLUNIFORM4IPROC Uniform4i;
|
||||
PFNGLUNIFORM4IVPROC Uniform4iv;
|
||||
PFNGLUNIFORMMATRIX2FVPROC UniformMatrix2fv;
|
||||
PFNGLUNIFORMMATRIX3FVPROC UniformMatrix3fv;
|
||||
PFNGLUNIFORMMATRIX4FVPROC UniformMatrix4fv;
|
||||
PFNGLUSEPROGRAMPROC UseProgram;
|
||||
PFNGLVERTEXATTRIB1FPROC VertexAttrib1f;
|
||||
PFNGLVERTEXATTRIB1FVPROC VertexAttrib1fv;
|
||||
PFNGLVERTEXATTRIB2FPROC VertexAttrib2f;
|
||||
PFNGLVERTEXATTRIB2FVPROC VertexAttrib2fv;
|
||||
PFNGLVERTEXATTRIB3FPROC VertexAttrib3f;
|
||||
PFNGLVERTEXATTRIB3FVPROC VertexAttrib3fv;
|
||||
PFNGLVERTEXATTRIB4FPROC VertexAttrib4f;
|
||||
PFNGLVERTEXATTRIB4FVPROC VertexAttrib4fv;
|
||||
PFNGLVERTEXATTRIBPOINTERPROC VertexAttribPointer;
|
||||
PFNGLVIEWPORTPROC Viewport;
|
||||
|
||||
void* glad_loader_handle;
|
||||
} GladGLSC2Context;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GLAD_API_CALL int gladLoadGLSC2ContextUserPtr(GladGLSC2Context* context, GLADuserptrloadfunc load, void* userptr);
|
||||
GLAD_API_CALL int gladLoadGLSC2Context(GladGLSC2Context* context, GLADloadfunc load);
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,35 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "./include/StgSharpC.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdalign.h>
|
||||
|
||||
#include <xmmintrin.h>
|
||||
#include <pmmintrin.h>
|
||||
#include <immintrin.h>
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
Basic functions as a copy of SIMD intrisic function
|
||||
|
||||
*/
|
||||
|
||||
|
||||
SSCAPI __m128* __cdecl set_m128ptr_default()
|
||||
{
|
||||
return defaultVecPtr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+10
-12
@@ -1,16 +1,14 @@
|
||||
#include "./include/StgSharpC.h"
|
||||
|
||||
|
||||
|
||||
#include "StgSharpC.h"
|
||||
#include "ssgc_internal.h"
|
||||
|
||||
SSCAPI _inline void __cdecl transpose2to3(matrix2map* source, matrix3map* target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->colum[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
}
|
||||
|
||||
SSCAPI _inline void __cdecl transpose2to4(matrix2map* source, matrix4map* target)
|
||||
@@ -18,13 +16,13 @@ SSCAPI _inline void __cdecl transpose2to4(matrix2map* source, matrix4map* target
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[3] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->colum[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->colum[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[3] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
}
|
||||
|
||||
SSCAPI _inline void __cdecl deinit_mat2(matrix2map* mat)
|
||||
{
|
||||
_aligned_free(mat);
|
||||
}
|
||||
}
|
||||
+8
-12
@@ -1,12 +1,11 @@
|
||||
|
||||
|
||||
#include "./include/StgSharpC.h"
|
||||
#include "StgSharpC.h"
|
||||
#include "ssgc_internal.h"
|
||||
#include <stdio.h>
|
||||
|
||||
SSCAPI __inline void _cdecl transpose3to2(matrix3map* source, matrix2map* target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), *defaultVecPtr, _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
|
||||
|
||||
target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
@@ -16,21 +15,20 @@ SSCAPI __inline void _cdecl transpose3to3(matrix3map* source, matrix3map* target
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), *defaultVecPtr, _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->m[0][2]), *defaultVecPtr, _MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->colum[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
}
|
||||
|
||||
|
||||
SSCAPI __inline void _cdecl transpose3to4(matrix3map* source, matrix4map* target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), *defaultVecPtr, _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->m[0][2]), *defaultVecPtr, _MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->m[0][2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
@@ -40,7 +38,6 @@ SSCAPI __inline void _cdecl transpose3to4(matrix3map* source, matrix4map* target
|
||||
|
||||
SSCAPI _inline float _cdecl det_mat3_internal(__m128 const c0, __m128 const c1, __m128 const c2)
|
||||
{
|
||||
|
||||
//let adding row aligned
|
||||
__m128 addc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 0, 2, 1));
|
||||
__m128 addc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 1, 0, 2));
|
||||
@@ -63,7 +60,6 @@ SSCAPI _inline float _cdecl det_mat3_internal(__m128 const c0, __m128 const c1,
|
||||
__m128 ret = _mm_hadd_ps(cache, cache); //element 1 add element 2
|
||||
ret = _mm_add_ps(ret, cache); //(e1 add e2) add element 3
|
||||
|
||||
|
||||
return ret.m128_f32[2];
|
||||
}
|
||||
|
||||
@@ -74,4 +70,4 @@ SSCAPI _inline float _cdecl det_mat3(matrix3map* mat)
|
||||
mat->colum[1],
|
||||
mat->colum[2]
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,8 @@
|
||||
#include "./include/StgSharpC.h"
|
||||
#include "StgSharpC.h"
|
||||
#include "ssgc_internal.h"
|
||||
#include <stdio.h>
|
||||
#include <pmmintrin.h>
|
||||
|
||||
|
||||
|
||||
|
||||
SSCAPI __inline void __cdecl transpose4to2(matrix4map* source, matrix4map* target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
|
||||
@@ -25,7 +23,6 @@ SSCAPI __inline void __cdecl transpose4to4(matrix4map* source, matrix4map* targe
|
||||
target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->colum[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[3] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
}
|
||||
|
||||
SSCAPI __inline void __cdecl transpose4to3(matrix4map* source, matrix3map* target)
|
||||
@@ -38,11 +35,8 @@ SSCAPI __inline void __cdecl transpose4to3(matrix4map* source, matrix3map* targe
|
||||
target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->colum[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
SSCAPI __inline float __cdecl det_mat4(matrix4map* matPtr, matrix4map* transpose)
|
||||
{
|
||||
__m128 mc0 = ALIGN(matPtr->colum[0]);
|
||||
@@ -60,7 +54,6 @@ SSCAPI __inline float __cdecl det_mat4(matrix4map* matPtr, matrix4map* transpose
|
||||
retvec = _mm_hsub_ps(retvec, retvec);
|
||||
retvec = _mm_hadd_ps(retvec, retvec);
|
||||
return -retvec.m128_f32[0];
|
||||
|
||||
}
|
||||
|
||||
SSCAPI __inline void __cdecl deinit_mat4(matrix4map* matPtr)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#pragma once
|
||||
#include "xmmintrin.h"
|
||||
/*
|
||||
#include "GLAD/gl.h"
|
||||
#include "glfw3.h"
|
||||
@@ -19,12 +20,11 @@
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define _CRT_SECURE_NO_WARNINGS 1
|
||||
#define _CRT_SECURE_NO_WARNINGS 1
|
||||
#endif
|
||||
|
||||
#define SSCDECL __cdecl
|
||||
|
||||
#define zeroVec (__m128){0,0,0,0}
|
||||
|
||||
|
||||
#endif //
|
||||
|
||||
#endif //
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
#include "include/stb_image.h"
|
||||
#include "stb_image.h"
|
||||
|
||||
#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \
|
||||
|| defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \
|
||||
@@ -38,7 +37,6 @@
|
||||
#define STBI_NO_ZLIB
|
||||
#endif
|
||||
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h> // ptrdiff_t on osx
|
||||
#include <stdlib.h>
|
||||
@@ -64,7 +62,6 @@
|
||||
#define STBI_EXTERN extern
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef _MSC_VER
|
||||
#ifdef __cplusplus
|
||||
#define stbi_inline inline
|
||||
@@ -274,7 +271,6 @@ typedef struct
|
||||
stbi_uc* img_buffer_original, * img_buffer_original_end;
|
||||
} stbi__context;
|
||||
|
||||
|
||||
static void stbi__refill_buffer(stbi__context* s);
|
||||
|
||||
// initialize a memory-decode context
|
||||
@@ -817,7 +813,6 @@ static FILE* stbi__fopen(char const* filename, char const* mode)
|
||||
return f;
|
||||
}
|
||||
|
||||
|
||||
STBIDEF stbi_uc* stbi_load(char const* filename, int* x, int* y, int* comp, int req_comp)
|
||||
{
|
||||
FILE* f = stbi__fopen(filename, "rb");
|
||||
@@ -840,7 +835,6 @@ STBIDEF void stbi_load_to_target(char const* filename, int* x, int* y, stbi_uc*
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
|
||||
STBIDEF stbi_uc* stbi_load_from_file(FILE* f, int* x, int* y, int* comp, int req_comp)
|
||||
{
|
||||
unsigned char* result;
|
||||
@@ -877,7 +871,6 @@ STBIDEF stbi_us* stbi_load_16(char const* filename, int* x, int* y, int* comp, i
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
#endif //!STBI_NO_STDIO
|
||||
|
||||
STBIDEF stbi_us* stbi_load_16_from_memory(stbi_uc const* buffer, int len, int* x, int* y, int* channels_in_file, int desired_channels)
|
||||
@@ -1049,7 +1042,6 @@ static float stbi__h2l_gamma_i = 1.0f / 2.2f, stbi__h2l_scale_i = 1.0f;
|
||||
STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1 / gamma; }
|
||||
STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1 / scale; }
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Common code used by all image loaders
|
||||
@@ -4124,7 +4116,6 @@ typedef struct
|
||||
int depth;
|
||||
} stbi__png;
|
||||
|
||||
|
||||
enum {
|
||||
STBI__F_none = 0,
|
||||
STBI__F_sub = 1,
|
||||
@@ -4894,7 +4885,6 @@ static int stbi__bmp_test(stbi__context* s)
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
// returns 0..31 for the highest set bit
|
||||
static int stbi__high_bit(unsigned int z)
|
||||
{
|
||||
@@ -5062,7 +5052,6 @@ static void* stbi__bmp_parse_header(stbi__context* s, stbi__bmp_data* info)
|
||||
return (void*)1;
|
||||
}
|
||||
|
||||
|
||||
static void* stbi__bmp_load(stbi__context* s, int* x, int* y, int* comp, int req_comp, stbi__result_info* ri)
|
||||
{
|
||||
stbi_uc* out;
|
||||
@@ -5794,7 +5783,6 @@ static void* stbi__psd_load(stbi__context* s, int* x, int* y, int* comp, int req
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
// We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...)
|
||||
@@ -7340,10 +7328,6 @@ STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const* c, void* user
|
||||
return stbi__is_16_main(&s);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
revision history:
|
||||
2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs
|
||||
@@ -7527,7 +7511,6 @@ STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const* c, void* user
|
||||
first released version
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
------------------------------------------------------------------------------
|
||||
This software is available under 2 licenses -- choose whichever you prefer.
|
||||
|
||||
@@ -1,593 +0,0 @@
|
||||
/**
|
||||
* SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "./include/glad_wgl.h"
|
||||
|
||||
#ifndef GLAD_IMPL_UTIL_C_
|
||||
#define GLAD_IMPL_UTIL_C_
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define GLAD_IMPL_UTIL_SSCANF sscanf_s
|
||||
#else
|
||||
#define GLAD_IMPL_UTIL_SSCANF sscanf
|
||||
#endif
|
||||
|
||||
#endif /* GLAD_IMPL_UTIL_C_ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
int GLAD_WGL_VERSION_1_0 = 0;
|
||||
int GLAD_WGL_3DFX_multisample = 0;
|
||||
int GLAD_WGL_3DL_stereo_control = 0;
|
||||
int GLAD_WGL_AMD_gpu_association = 0;
|
||||
int GLAD_WGL_ARB_buffer_region = 0;
|
||||
int GLAD_WGL_ARB_context_flush_control = 0;
|
||||
int GLAD_WGL_ARB_create_context = 0;
|
||||
int GLAD_WGL_ARB_create_context_no_error = 0;
|
||||
int GLAD_WGL_ARB_create_context_profile = 0;
|
||||
int GLAD_WGL_ARB_create_context_robustness = 0;
|
||||
int GLAD_WGL_ARB_extensions_string = 0;
|
||||
int GLAD_WGL_ARB_framebuffer_sRGB = 0;
|
||||
int GLAD_WGL_ARB_make_current_read = 0;
|
||||
int GLAD_WGL_ARB_multisample = 0;
|
||||
int GLAD_WGL_ARB_pbuffer = 0;
|
||||
int GLAD_WGL_ARB_pixel_format = 0;
|
||||
int GLAD_WGL_ARB_pixel_format_float = 0;
|
||||
int GLAD_WGL_ARB_render_texture = 0;
|
||||
int GLAD_WGL_ARB_robustness_application_isolation = 0;
|
||||
int GLAD_WGL_ARB_robustness_share_group_isolation = 0;
|
||||
int GLAD_WGL_ATI_pixel_format_float = 0;
|
||||
int GLAD_WGL_ATI_render_texture_rectangle = 0;
|
||||
int GLAD_WGL_EXT_colorspace = 0;
|
||||
int GLAD_WGL_EXT_create_context_es2_profile = 0;
|
||||
int GLAD_WGL_EXT_create_context_es_profile = 0;
|
||||
int GLAD_WGL_EXT_depth_float = 0;
|
||||
int GLAD_WGL_EXT_display_color_table = 0;
|
||||
int GLAD_WGL_EXT_extensions_string = 0;
|
||||
int GLAD_WGL_EXT_framebuffer_sRGB = 0;
|
||||
int GLAD_WGL_EXT_make_current_read = 0;
|
||||
int GLAD_WGL_EXT_multisample = 0;
|
||||
int GLAD_WGL_EXT_pbuffer = 0;
|
||||
int GLAD_WGL_EXT_pixel_format = 0;
|
||||
int GLAD_WGL_EXT_pixel_format_packed_float = 0;
|
||||
int GLAD_WGL_EXT_swap_control = 0;
|
||||
int GLAD_WGL_EXT_swap_control_tear = 0;
|
||||
int GLAD_WGL_I3D_digital_video_control = 0;
|
||||
int GLAD_WGL_I3D_gamma = 0;
|
||||
int GLAD_WGL_I3D_genlock = 0;
|
||||
int GLAD_WGL_I3D_image_buffer = 0;
|
||||
int GLAD_WGL_I3D_swap_frame_lock = 0;
|
||||
int GLAD_WGL_I3D_swap_frame_usage = 0;
|
||||
int GLAD_WGL_NV_DX_interop = 0;
|
||||
int GLAD_WGL_NV_DX_interop2 = 0;
|
||||
int GLAD_WGL_NV_copy_image = 0;
|
||||
int GLAD_WGL_NV_delay_before_swap = 0;
|
||||
int GLAD_WGL_NV_float_buffer = 0;
|
||||
int GLAD_WGL_NV_gpu_affinity = 0;
|
||||
int GLAD_WGL_NV_multigpu_context = 0;
|
||||
int GLAD_WGL_NV_multisample_coverage = 0;
|
||||
int GLAD_WGL_NV_present_video = 0;
|
||||
int GLAD_WGL_NV_render_depth_texture = 0;
|
||||
int GLAD_WGL_NV_render_texture_rectangle = 0;
|
||||
int GLAD_WGL_NV_swap_group = 0;
|
||||
int GLAD_WGL_NV_vertex_array_range = 0;
|
||||
int GLAD_WGL_NV_video_capture = 0;
|
||||
int GLAD_WGL_NV_video_output = 0;
|
||||
int GLAD_WGL_OML_sync_control = 0;
|
||||
|
||||
|
||||
|
||||
PFNWGLALLOCATEMEMORYNVPROC glad_wglAllocateMemoryNV = NULL;
|
||||
PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC glad_wglAssociateImageBufferEventsI3D = NULL;
|
||||
PFNWGLBEGINFRAMETRACKINGI3DPROC glad_wglBeginFrameTrackingI3D = NULL;
|
||||
PFNWGLBINDDISPLAYCOLORTABLEEXTPROC glad_wglBindDisplayColorTableEXT = NULL;
|
||||
PFNWGLBINDSWAPBARRIERNVPROC glad_wglBindSwapBarrierNV = NULL;
|
||||
PFNWGLBINDTEXIMAGEARBPROC glad_wglBindTexImageARB = NULL;
|
||||
PFNWGLBINDVIDEOCAPTUREDEVICENVPROC glad_wglBindVideoCaptureDeviceNV = NULL;
|
||||
PFNWGLBINDVIDEODEVICENVPROC glad_wglBindVideoDeviceNV = NULL;
|
||||
PFNWGLBINDVIDEOIMAGENVPROC glad_wglBindVideoImageNV = NULL;
|
||||
PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC glad_wglBlitContextFramebufferAMD = NULL;
|
||||
PFNWGLCHOOSEPIXELFORMATARBPROC glad_wglChoosePixelFormatARB = NULL;
|
||||
PFNWGLCHOOSEPIXELFORMATEXTPROC glad_wglChoosePixelFormatEXT = NULL;
|
||||
PFNWGLCOPYIMAGESUBDATANVPROC glad_wglCopyImageSubDataNV = NULL;
|
||||
PFNWGLCREATEAFFINITYDCNVPROC glad_wglCreateAffinityDCNV = NULL;
|
||||
PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC glad_wglCreateAssociatedContextAMD = NULL;
|
||||
PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_wglCreateAssociatedContextAttribsAMD = NULL;
|
||||
PFNWGLCREATEBUFFERREGIONARBPROC glad_wglCreateBufferRegionARB = NULL;
|
||||
PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB = NULL;
|
||||
PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC glad_wglCreateDisplayColorTableEXT = NULL;
|
||||
PFNWGLCREATEIMAGEBUFFERI3DPROC glad_wglCreateImageBufferI3D = NULL;
|
||||
PFNWGLCREATEPBUFFERARBPROC glad_wglCreatePbufferARB = NULL;
|
||||
PFNWGLCREATEPBUFFEREXTPROC glad_wglCreatePbufferEXT = NULL;
|
||||
PFNWGLDXCLOSEDEVICENVPROC glad_wglDXCloseDeviceNV = NULL;
|
||||
PFNWGLDXLOCKOBJECTSNVPROC glad_wglDXLockObjectsNV = NULL;
|
||||
PFNWGLDXOBJECTACCESSNVPROC glad_wglDXObjectAccessNV = NULL;
|
||||
PFNWGLDXOPENDEVICENVPROC glad_wglDXOpenDeviceNV = NULL;
|
||||
PFNWGLDXREGISTEROBJECTNVPROC glad_wglDXRegisterObjectNV = NULL;
|
||||
PFNWGLDXSETRESOURCESHAREHANDLENVPROC glad_wglDXSetResourceShareHandleNV = NULL;
|
||||
PFNWGLDXUNLOCKOBJECTSNVPROC glad_wglDXUnlockObjectsNV = NULL;
|
||||
PFNWGLDXUNREGISTEROBJECTNVPROC glad_wglDXUnregisterObjectNV = NULL;
|
||||
PFNWGLDELAYBEFORESWAPNVPROC glad_wglDelayBeforeSwapNV = NULL;
|
||||
PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC glad_wglDeleteAssociatedContextAMD = NULL;
|
||||
PFNWGLDELETEBUFFERREGIONARBPROC glad_wglDeleteBufferRegionARB = NULL;
|
||||
PFNWGLDELETEDCNVPROC glad_wglDeleteDCNV = NULL;
|
||||
PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC glad_wglDestroyDisplayColorTableEXT = NULL;
|
||||
PFNWGLDESTROYIMAGEBUFFERI3DPROC glad_wglDestroyImageBufferI3D = NULL;
|
||||
PFNWGLDESTROYPBUFFERARBPROC glad_wglDestroyPbufferARB = NULL;
|
||||
PFNWGLDESTROYPBUFFEREXTPROC glad_wglDestroyPbufferEXT = NULL;
|
||||
PFNWGLDISABLEFRAMELOCKI3DPROC glad_wglDisableFrameLockI3D = NULL;
|
||||
PFNWGLDISABLEGENLOCKI3DPROC glad_wglDisableGenlockI3D = NULL;
|
||||
PFNWGLENABLEFRAMELOCKI3DPROC glad_wglEnableFrameLockI3D = NULL;
|
||||
PFNWGLENABLEGENLOCKI3DPROC glad_wglEnableGenlockI3D = NULL;
|
||||
PFNWGLENDFRAMETRACKINGI3DPROC glad_wglEndFrameTrackingI3D = NULL;
|
||||
PFNWGLENUMGPUDEVICESNVPROC glad_wglEnumGpuDevicesNV = NULL;
|
||||
PFNWGLENUMGPUSFROMAFFINITYDCNVPROC glad_wglEnumGpusFromAffinityDCNV = NULL;
|
||||
PFNWGLENUMGPUSNVPROC glad_wglEnumGpusNV = NULL;
|
||||
PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_wglEnumerateVideoCaptureDevicesNV = NULL;
|
||||
PFNWGLENUMERATEVIDEODEVICESNVPROC glad_wglEnumerateVideoDevicesNV = NULL;
|
||||
PFNWGLFREEMEMORYNVPROC glad_wglFreeMemoryNV = NULL;
|
||||
PFNWGLGENLOCKSAMPLERATEI3DPROC glad_wglGenlockSampleRateI3D = NULL;
|
||||
PFNWGLGENLOCKSOURCEDELAYI3DPROC glad_wglGenlockSourceDelayI3D = NULL;
|
||||
PFNWGLGENLOCKSOURCEEDGEI3DPROC glad_wglGenlockSourceEdgeI3D = NULL;
|
||||
PFNWGLGENLOCKSOURCEI3DPROC glad_wglGenlockSourceI3D = NULL;
|
||||
PFNWGLGETCONTEXTGPUIDAMDPROC glad_wglGetContextGPUIDAMD = NULL;
|
||||
PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_wglGetCurrentAssociatedContextAMD = NULL;
|
||||
PFNWGLGETCURRENTREADDCARBPROC glad_wglGetCurrentReadDCARB = NULL;
|
||||
PFNWGLGETCURRENTREADDCEXTPROC glad_wglGetCurrentReadDCEXT = NULL;
|
||||
PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC glad_wglGetDigitalVideoParametersI3D = NULL;
|
||||
PFNWGLGETEXTENSIONSSTRINGARBPROC glad_wglGetExtensionsStringARB = NULL;
|
||||
PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT = NULL;
|
||||
PFNWGLGETFRAMEUSAGEI3DPROC glad_wglGetFrameUsageI3D = NULL;
|
||||
PFNWGLGETGPUIDSAMDPROC glad_wglGetGPUIDsAMD = NULL;
|
||||
PFNWGLGETGPUINFOAMDPROC glad_wglGetGPUInfoAMD = NULL;
|
||||
PFNWGLGETGAMMATABLEI3DPROC glad_wglGetGammaTableI3D = NULL;
|
||||
PFNWGLGETGAMMATABLEPARAMETERSI3DPROC glad_wglGetGammaTableParametersI3D = NULL;
|
||||
PFNWGLGETGENLOCKSAMPLERATEI3DPROC glad_wglGetGenlockSampleRateI3D = NULL;
|
||||
PFNWGLGETGENLOCKSOURCEDELAYI3DPROC glad_wglGetGenlockSourceDelayI3D = NULL;
|
||||
PFNWGLGETGENLOCKSOURCEEDGEI3DPROC glad_wglGetGenlockSourceEdgeI3D = NULL;
|
||||
PFNWGLGETGENLOCKSOURCEI3DPROC glad_wglGetGenlockSourceI3D = NULL;
|
||||
PFNWGLGETMSCRATEOMLPROC glad_wglGetMscRateOML = NULL;
|
||||
PFNWGLGETPBUFFERDCARBPROC glad_wglGetPbufferDCARB = NULL;
|
||||
PFNWGLGETPBUFFERDCEXTPROC glad_wglGetPbufferDCEXT = NULL;
|
||||
PFNWGLGETPIXELFORMATATTRIBFVARBPROC glad_wglGetPixelFormatAttribfvARB = NULL;
|
||||
PFNWGLGETPIXELFORMATATTRIBFVEXTPROC glad_wglGetPixelFormatAttribfvEXT = NULL;
|
||||
PFNWGLGETPIXELFORMATATTRIBIVARBPROC glad_wglGetPixelFormatAttribivARB = NULL;
|
||||
PFNWGLGETPIXELFORMATATTRIBIVEXTPROC glad_wglGetPixelFormatAttribivEXT = NULL;
|
||||
PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT = NULL;
|
||||
PFNWGLGETSYNCVALUESOMLPROC glad_wglGetSyncValuesOML = NULL;
|
||||
PFNWGLGETVIDEODEVICENVPROC glad_wglGetVideoDeviceNV = NULL;
|
||||
PFNWGLGETVIDEOINFONVPROC glad_wglGetVideoInfoNV = NULL;
|
||||
PFNWGLISENABLEDFRAMELOCKI3DPROC glad_wglIsEnabledFrameLockI3D = NULL;
|
||||
PFNWGLISENABLEDGENLOCKI3DPROC glad_wglIsEnabledGenlockI3D = NULL;
|
||||
PFNWGLJOINSWAPGROUPNVPROC glad_wglJoinSwapGroupNV = NULL;
|
||||
PFNWGLLOADDISPLAYCOLORTABLEEXTPROC glad_wglLoadDisplayColorTableEXT = NULL;
|
||||
PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC glad_wglLockVideoCaptureDeviceNV = NULL;
|
||||
PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_wglMakeAssociatedContextCurrentAMD = NULL;
|
||||
PFNWGLMAKECONTEXTCURRENTARBPROC glad_wglMakeContextCurrentARB = NULL;
|
||||
PFNWGLMAKECONTEXTCURRENTEXTPROC glad_wglMakeContextCurrentEXT = NULL;
|
||||
PFNWGLQUERYCURRENTCONTEXTNVPROC glad_wglQueryCurrentContextNV = NULL;
|
||||
PFNWGLQUERYFRAMECOUNTNVPROC glad_wglQueryFrameCountNV = NULL;
|
||||
PFNWGLQUERYFRAMELOCKMASTERI3DPROC glad_wglQueryFrameLockMasterI3D = NULL;
|
||||
PFNWGLQUERYFRAMETRACKINGI3DPROC glad_wglQueryFrameTrackingI3D = NULL;
|
||||
PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC glad_wglQueryGenlockMaxSourceDelayI3D = NULL;
|
||||
PFNWGLQUERYMAXSWAPGROUPSNVPROC glad_wglQueryMaxSwapGroupsNV = NULL;
|
||||
PFNWGLQUERYPBUFFERARBPROC glad_wglQueryPbufferARB = NULL;
|
||||
PFNWGLQUERYPBUFFEREXTPROC glad_wglQueryPbufferEXT = NULL;
|
||||
PFNWGLQUERYSWAPGROUPNVPROC glad_wglQuerySwapGroupNV = NULL;
|
||||
PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC glad_wglQueryVideoCaptureDeviceNV = NULL;
|
||||
PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC glad_wglReleaseImageBufferEventsI3D = NULL;
|
||||
PFNWGLRELEASEPBUFFERDCARBPROC glad_wglReleasePbufferDCARB = NULL;
|
||||
PFNWGLRELEASEPBUFFERDCEXTPROC glad_wglReleasePbufferDCEXT = NULL;
|
||||
PFNWGLRELEASETEXIMAGEARBPROC glad_wglReleaseTexImageARB = NULL;
|
||||
PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC glad_wglReleaseVideoCaptureDeviceNV = NULL;
|
||||
PFNWGLRELEASEVIDEODEVICENVPROC glad_wglReleaseVideoDeviceNV = NULL;
|
||||
PFNWGLRELEASEVIDEOIMAGENVPROC glad_wglReleaseVideoImageNV = NULL;
|
||||
PFNWGLRESETFRAMECOUNTNVPROC glad_wglResetFrameCountNV = NULL;
|
||||
PFNWGLRESTOREBUFFERREGIONARBPROC glad_wglRestoreBufferRegionARB = NULL;
|
||||
PFNWGLSAVEBUFFERREGIONARBPROC glad_wglSaveBufferRegionARB = NULL;
|
||||
PFNWGLSENDPBUFFERTOVIDEONVPROC glad_wglSendPbufferToVideoNV = NULL;
|
||||
PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC glad_wglSetDigitalVideoParametersI3D = NULL;
|
||||
PFNWGLSETGAMMATABLEI3DPROC glad_wglSetGammaTableI3D = NULL;
|
||||
PFNWGLSETGAMMATABLEPARAMETERSI3DPROC glad_wglSetGammaTableParametersI3D = NULL;
|
||||
PFNWGLSETPBUFFERATTRIBARBPROC glad_wglSetPbufferAttribARB = NULL;
|
||||
PFNWGLSETSTEREOEMITTERSTATE3DLPROC glad_wglSetStereoEmitterState3DL = NULL;
|
||||
PFNWGLSWAPBUFFERSMSCOMLPROC glad_wglSwapBuffersMscOML = NULL;
|
||||
PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT = NULL;
|
||||
PFNWGLSWAPLAYERBUFFERSMSCOMLPROC glad_wglSwapLayerBuffersMscOML = NULL;
|
||||
PFNWGLWAITFORMSCOMLPROC glad_wglWaitForMscOML = NULL;
|
||||
PFNWGLWAITFORSBCOMLPROC glad_wglWaitForSbcOML = NULL;
|
||||
|
||||
|
||||
static void glad_wgl_load_WGL_3DL_stereo_control(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_3DL_stereo_control) return;
|
||||
glad_wglSetStereoEmitterState3DL = (PFNWGLSETSTEREOEMITTERSTATE3DLPROC)load(userptr, "wglSetStereoEmitterState3DL");
|
||||
}
|
||||
static void glad_wgl_load_WGL_AMD_gpu_association(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_AMD_gpu_association) return;
|
||||
glad_wglBlitContextFramebufferAMD = (PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)load(userptr, "wglBlitContextFramebufferAMD");
|
||||
glad_wglCreateAssociatedContextAMD = (PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC)load(userptr, "wglCreateAssociatedContextAMD");
|
||||
glad_wglCreateAssociatedContextAttribsAMD = (PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)load(userptr, "wglCreateAssociatedContextAttribsAMD");
|
||||
glad_wglDeleteAssociatedContextAMD = (PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC)load(userptr, "wglDeleteAssociatedContextAMD");
|
||||
glad_wglGetContextGPUIDAMD = (PFNWGLGETCONTEXTGPUIDAMDPROC)load(userptr, "wglGetContextGPUIDAMD");
|
||||
glad_wglGetCurrentAssociatedContextAMD = (PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)load(userptr, "wglGetCurrentAssociatedContextAMD");
|
||||
glad_wglGetGPUIDsAMD = (PFNWGLGETGPUIDSAMDPROC)load(userptr, "wglGetGPUIDsAMD");
|
||||
glad_wglGetGPUInfoAMD = (PFNWGLGETGPUINFOAMDPROC)load(userptr, "wglGetGPUInfoAMD");
|
||||
glad_wglMakeAssociatedContextCurrentAMD = (PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)load(userptr, "wglMakeAssociatedContextCurrentAMD");
|
||||
}
|
||||
static void glad_wgl_load_WGL_ARB_buffer_region(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_ARB_buffer_region) return;
|
||||
glad_wglCreateBufferRegionARB = (PFNWGLCREATEBUFFERREGIONARBPROC)load(userptr, "wglCreateBufferRegionARB");
|
||||
glad_wglDeleteBufferRegionARB = (PFNWGLDELETEBUFFERREGIONARBPROC)load(userptr, "wglDeleteBufferRegionARB");
|
||||
glad_wglRestoreBufferRegionARB = (PFNWGLRESTOREBUFFERREGIONARBPROC)load(userptr, "wglRestoreBufferRegionARB");
|
||||
glad_wglSaveBufferRegionARB = (PFNWGLSAVEBUFFERREGIONARBPROC)load(userptr, "wglSaveBufferRegionARB");
|
||||
}
|
||||
static void glad_wgl_load_WGL_ARB_create_context(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_ARB_create_context) return;
|
||||
glad_wglCreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)load(userptr, "wglCreateContextAttribsARB");
|
||||
}
|
||||
static void glad_wgl_load_WGL_ARB_extensions_string(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_ARB_extensions_string) return;
|
||||
glad_wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)load(userptr, "wglGetExtensionsStringARB");
|
||||
}
|
||||
static void glad_wgl_load_WGL_ARB_make_current_read(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_ARB_make_current_read) return;
|
||||
glad_wglGetCurrentReadDCARB = (PFNWGLGETCURRENTREADDCARBPROC)load(userptr, "wglGetCurrentReadDCARB");
|
||||
glad_wglMakeContextCurrentARB = (PFNWGLMAKECONTEXTCURRENTARBPROC)load(userptr, "wglMakeContextCurrentARB");
|
||||
}
|
||||
static void glad_wgl_load_WGL_ARB_pbuffer(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_ARB_pbuffer) return;
|
||||
glad_wglCreatePbufferARB = (PFNWGLCREATEPBUFFERARBPROC)load(userptr, "wglCreatePbufferARB");
|
||||
glad_wglDestroyPbufferARB = (PFNWGLDESTROYPBUFFERARBPROC)load(userptr, "wglDestroyPbufferARB");
|
||||
glad_wglGetPbufferDCARB = (PFNWGLGETPBUFFERDCARBPROC)load(userptr, "wglGetPbufferDCARB");
|
||||
glad_wglQueryPbufferARB = (PFNWGLQUERYPBUFFERARBPROC)load(userptr, "wglQueryPbufferARB");
|
||||
glad_wglReleasePbufferDCARB = (PFNWGLRELEASEPBUFFERDCARBPROC)load(userptr, "wglReleasePbufferDCARB");
|
||||
}
|
||||
static void glad_wgl_load_WGL_ARB_pixel_format(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_ARB_pixel_format) return;
|
||||
glad_wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)load(userptr, "wglChoosePixelFormatARB");
|
||||
glad_wglGetPixelFormatAttribfvARB = (PFNWGLGETPIXELFORMATATTRIBFVARBPROC)load(userptr, "wglGetPixelFormatAttribfvARB");
|
||||
glad_wglGetPixelFormatAttribivARB = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC)load(userptr, "wglGetPixelFormatAttribivARB");
|
||||
}
|
||||
static void glad_wgl_load_WGL_ARB_render_texture(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_ARB_render_texture) return;
|
||||
glad_wglBindTexImageARB = (PFNWGLBINDTEXIMAGEARBPROC)load(userptr, "wglBindTexImageARB");
|
||||
glad_wglReleaseTexImageARB = (PFNWGLRELEASETEXIMAGEARBPROC)load(userptr, "wglReleaseTexImageARB");
|
||||
glad_wglSetPbufferAttribARB = (PFNWGLSETPBUFFERATTRIBARBPROC)load(userptr, "wglSetPbufferAttribARB");
|
||||
}
|
||||
static void glad_wgl_load_WGL_EXT_display_color_table(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_EXT_display_color_table) return;
|
||||
glad_wglBindDisplayColorTableEXT = (PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)load(userptr, "wglBindDisplayColorTableEXT");
|
||||
glad_wglCreateDisplayColorTableEXT = (PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)load(userptr, "wglCreateDisplayColorTableEXT");
|
||||
glad_wglDestroyDisplayColorTableEXT = (PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)load(userptr, "wglDestroyDisplayColorTableEXT");
|
||||
glad_wglLoadDisplayColorTableEXT = (PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)load(userptr, "wglLoadDisplayColorTableEXT");
|
||||
}
|
||||
static void glad_wgl_load_WGL_EXT_extensions_string(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_EXT_extensions_string) return;
|
||||
glad_wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)load(userptr, "wglGetExtensionsStringEXT");
|
||||
}
|
||||
static void glad_wgl_load_WGL_EXT_make_current_read(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_EXT_make_current_read) return;
|
||||
glad_wglGetCurrentReadDCEXT = (PFNWGLGETCURRENTREADDCEXTPROC)load(userptr, "wglGetCurrentReadDCEXT");
|
||||
glad_wglMakeContextCurrentEXT = (PFNWGLMAKECONTEXTCURRENTEXTPROC)load(userptr, "wglMakeContextCurrentEXT");
|
||||
}
|
||||
static void glad_wgl_load_WGL_EXT_pbuffer(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_EXT_pbuffer) return;
|
||||
glad_wglCreatePbufferEXT = (PFNWGLCREATEPBUFFEREXTPROC)load(userptr, "wglCreatePbufferEXT");
|
||||
glad_wglDestroyPbufferEXT = (PFNWGLDESTROYPBUFFEREXTPROC)load(userptr, "wglDestroyPbufferEXT");
|
||||
glad_wglGetPbufferDCEXT = (PFNWGLGETPBUFFERDCEXTPROC)load(userptr, "wglGetPbufferDCEXT");
|
||||
glad_wglQueryPbufferEXT = (PFNWGLQUERYPBUFFEREXTPROC)load(userptr, "wglQueryPbufferEXT");
|
||||
glad_wglReleasePbufferDCEXT = (PFNWGLRELEASEPBUFFERDCEXTPROC)load(userptr, "wglReleasePbufferDCEXT");
|
||||
}
|
||||
static void glad_wgl_load_WGL_EXT_pixel_format(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_EXT_pixel_format) return;
|
||||
glad_wglChoosePixelFormatEXT = (PFNWGLCHOOSEPIXELFORMATEXTPROC)load(userptr, "wglChoosePixelFormatEXT");
|
||||
glad_wglGetPixelFormatAttribfvEXT = (PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)load(userptr, "wglGetPixelFormatAttribfvEXT");
|
||||
glad_wglGetPixelFormatAttribivEXT = (PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)load(userptr, "wglGetPixelFormatAttribivEXT");
|
||||
}
|
||||
static void glad_wgl_load_WGL_EXT_swap_control(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_EXT_swap_control) return;
|
||||
glad_wglGetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC)load(userptr, "wglGetSwapIntervalEXT");
|
||||
glad_wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)load(userptr, "wglSwapIntervalEXT");
|
||||
}
|
||||
static void glad_wgl_load_WGL_I3D_digital_video_control(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_I3D_digital_video_control) return;
|
||||
glad_wglGetDigitalVideoParametersI3D = (PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)load(userptr, "wglGetDigitalVideoParametersI3D");
|
||||
glad_wglSetDigitalVideoParametersI3D = (PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)load(userptr, "wglSetDigitalVideoParametersI3D");
|
||||
}
|
||||
static void glad_wgl_load_WGL_I3D_gamma(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_I3D_gamma) return;
|
||||
glad_wglGetGammaTableI3D = (PFNWGLGETGAMMATABLEI3DPROC)load(userptr, "wglGetGammaTableI3D");
|
||||
glad_wglGetGammaTableParametersI3D = (PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)load(userptr, "wglGetGammaTableParametersI3D");
|
||||
glad_wglSetGammaTableI3D = (PFNWGLSETGAMMATABLEI3DPROC)load(userptr, "wglSetGammaTableI3D");
|
||||
glad_wglSetGammaTableParametersI3D = (PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)load(userptr, "wglSetGammaTableParametersI3D");
|
||||
}
|
||||
static void glad_wgl_load_WGL_I3D_genlock(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_I3D_genlock) return;
|
||||
glad_wglDisableGenlockI3D = (PFNWGLDISABLEGENLOCKI3DPROC)load(userptr, "wglDisableGenlockI3D");
|
||||
glad_wglEnableGenlockI3D = (PFNWGLENABLEGENLOCKI3DPROC)load(userptr, "wglEnableGenlockI3D");
|
||||
glad_wglGenlockSampleRateI3D = (PFNWGLGENLOCKSAMPLERATEI3DPROC)load(userptr, "wglGenlockSampleRateI3D");
|
||||
glad_wglGenlockSourceDelayI3D = (PFNWGLGENLOCKSOURCEDELAYI3DPROC)load(userptr, "wglGenlockSourceDelayI3D");
|
||||
glad_wglGenlockSourceEdgeI3D = (PFNWGLGENLOCKSOURCEEDGEI3DPROC)load(userptr, "wglGenlockSourceEdgeI3D");
|
||||
glad_wglGenlockSourceI3D = (PFNWGLGENLOCKSOURCEI3DPROC)load(userptr, "wglGenlockSourceI3D");
|
||||
glad_wglGetGenlockSampleRateI3D = (PFNWGLGETGENLOCKSAMPLERATEI3DPROC)load(userptr, "wglGetGenlockSampleRateI3D");
|
||||
glad_wglGetGenlockSourceDelayI3D = (PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)load(userptr, "wglGetGenlockSourceDelayI3D");
|
||||
glad_wglGetGenlockSourceEdgeI3D = (PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)load(userptr, "wglGetGenlockSourceEdgeI3D");
|
||||
glad_wglGetGenlockSourceI3D = (PFNWGLGETGENLOCKSOURCEI3DPROC)load(userptr, "wglGetGenlockSourceI3D");
|
||||
glad_wglIsEnabledGenlockI3D = (PFNWGLISENABLEDGENLOCKI3DPROC)load(userptr, "wglIsEnabledGenlockI3D");
|
||||
glad_wglQueryGenlockMaxSourceDelayI3D = (PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)load(userptr, "wglQueryGenlockMaxSourceDelayI3D");
|
||||
}
|
||||
static void glad_wgl_load_WGL_I3D_image_buffer(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_I3D_image_buffer) return;
|
||||
glad_wglAssociateImageBufferEventsI3D = (PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)load(userptr, "wglAssociateImageBufferEventsI3D");
|
||||
glad_wglCreateImageBufferI3D = (PFNWGLCREATEIMAGEBUFFERI3DPROC)load(userptr, "wglCreateImageBufferI3D");
|
||||
glad_wglDestroyImageBufferI3D = (PFNWGLDESTROYIMAGEBUFFERI3DPROC)load(userptr, "wglDestroyImageBufferI3D");
|
||||
glad_wglReleaseImageBufferEventsI3D = (PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)load(userptr, "wglReleaseImageBufferEventsI3D");
|
||||
}
|
||||
static void glad_wgl_load_WGL_I3D_swap_frame_lock(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_I3D_swap_frame_lock) return;
|
||||
glad_wglDisableFrameLockI3D = (PFNWGLDISABLEFRAMELOCKI3DPROC)load(userptr, "wglDisableFrameLockI3D");
|
||||
glad_wglEnableFrameLockI3D = (PFNWGLENABLEFRAMELOCKI3DPROC)load(userptr, "wglEnableFrameLockI3D");
|
||||
glad_wglIsEnabledFrameLockI3D = (PFNWGLISENABLEDFRAMELOCKI3DPROC)load(userptr, "wglIsEnabledFrameLockI3D");
|
||||
glad_wglQueryFrameLockMasterI3D = (PFNWGLQUERYFRAMELOCKMASTERI3DPROC)load(userptr, "wglQueryFrameLockMasterI3D");
|
||||
}
|
||||
static void glad_wgl_load_WGL_I3D_swap_frame_usage(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_I3D_swap_frame_usage) return;
|
||||
glad_wglBeginFrameTrackingI3D = (PFNWGLBEGINFRAMETRACKINGI3DPROC)load(userptr, "wglBeginFrameTrackingI3D");
|
||||
glad_wglEndFrameTrackingI3D = (PFNWGLENDFRAMETRACKINGI3DPROC)load(userptr, "wglEndFrameTrackingI3D");
|
||||
glad_wglGetFrameUsageI3D = (PFNWGLGETFRAMEUSAGEI3DPROC)load(userptr, "wglGetFrameUsageI3D");
|
||||
glad_wglQueryFrameTrackingI3D = (PFNWGLQUERYFRAMETRACKINGI3DPROC)load(userptr, "wglQueryFrameTrackingI3D");
|
||||
}
|
||||
static void glad_wgl_load_WGL_NV_DX_interop(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_NV_DX_interop) return;
|
||||
glad_wglDXCloseDeviceNV = (PFNWGLDXCLOSEDEVICENVPROC)load(userptr, "wglDXCloseDeviceNV");
|
||||
glad_wglDXLockObjectsNV = (PFNWGLDXLOCKOBJECTSNVPROC)load(userptr, "wglDXLockObjectsNV");
|
||||
glad_wglDXObjectAccessNV = (PFNWGLDXOBJECTACCESSNVPROC)load(userptr, "wglDXObjectAccessNV");
|
||||
glad_wglDXOpenDeviceNV = (PFNWGLDXOPENDEVICENVPROC)load(userptr, "wglDXOpenDeviceNV");
|
||||
glad_wglDXRegisterObjectNV = (PFNWGLDXREGISTEROBJECTNVPROC)load(userptr, "wglDXRegisterObjectNV");
|
||||
glad_wglDXSetResourceShareHandleNV = (PFNWGLDXSETRESOURCESHAREHANDLENVPROC)load(userptr, "wglDXSetResourceShareHandleNV");
|
||||
glad_wglDXUnlockObjectsNV = (PFNWGLDXUNLOCKOBJECTSNVPROC)load(userptr, "wglDXUnlockObjectsNV");
|
||||
glad_wglDXUnregisterObjectNV = (PFNWGLDXUNREGISTEROBJECTNVPROC)load(userptr, "wglDXUnregisterObjectNV");
|
||||
}
|
||||
static void glad_wgl_load_WGL_NV_copy_image(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_NV_copy_image) return;
|
||||
glad_wglCopyImageSubDataNV = (PFNWGLCOPYIMAGESUBDATANVPROC)load(userptr, "wglCopyImageSubDataNV");
|
||||
}
|
||||
static void glad_wgl_load_WGL_NV_delay_before_swap(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_NV_delay_before_swap) return;
|
||||
glad_wglDelayBeforeSwapNV = (PFNWGLDELAYBEFORESWAPNVPROC)load(userptr, "wglDelayBeforeSwapNV");
|
||||
}
|
||||
static void glad_wgl_load_WGL_NV_gpu_affinity(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_NV_gpu_affinity) return;
|
||||
glad_wglCreateAffinityDCNV = (PFNWGLCREATEAFFINITYDCNVPROC)load(userptr, "wglCreateAffinityDCNV");
|
||||
glad_wglDeleteDCNV = (PFNWGLDELETEDCNVPROC)load(userptr, "wglDeleteDCNV");
|
||||
glad_wglEnumGpuDevicesNV = (PFNWGLENUMGPUDEVICESNVPROC)load(userptr, "wglEnumGpuDevicesNV");
|
||||
glad_wglEnumGpusFromAffinityDCNV = (PFNWGLENUMGPUSFROMAFFINITYDCNVPROC)load(userptr, "wglEnumGpusFromAffinityDCNV");
|
||||
glad_wglEnumGpusNV = (PFNWGLENUMGPUSNVPROC)load(userptr, "wglEnumGpusNV");
|
||||
}
|
||||
static void glad_wgl_load_WGL_NV_present_video(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_NV_present_video) return;
|
||||
glad_wglBindVideoDeviceNV = (PFNWGLBINDVIDEODEVICENVPROC)load(userptr, "wglBindVideoDeviceNV");
|
||||
glad_wglEnumerateVideoDevicesNV = (PFNWGLENUMERATEVIDEODEVICESNVPROC)load(userptr, "wglEnumerateVideoDevicesNV");
|
||||
glad_wglQueryCurrentContextNV = (PFNWGLQUERYCURRENTCONTEXTNVPROC)load(userptr, "wglQueryCurrentContextNV");
|
||||
}
|
||||
static void glad_wgl_load_WGL_NV_swap_group(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_NV_swap_group) return;
|
||||
glad_wglBindSwapBarrierNV = (PFNWGLBINDSWAPBARRIERNVPROC)load(userptr, "wglBindSwapBarrierNV");
|
||||
glad_wglJoinSwapGroupNV = (PFNWGLJOINSWAPGROUPNVPROC)load(userptr, "wglJoinSwapGroupNV");
|
||||
glad_wglQueryFrameCountNV = (PFNWGLQUERYFRAMECOUNTNVPROC)load(userptr, "wglQueryFrameCountNV");
|
||||
glad_wglQueryMaxSwapGroupsNV = (PFNWGLQUERYMAXSWAPGROUPSNVPROC)load(userptr, "wglQueryMaxSwapGroupsNV");
|
||||
glad_wglQuerySwapGroupNV = (PFNWGLQUERYSWAPGROUPNVPROC)load(userptr, "wglQuerySwapGroupNV");
|
||||
glad_wglResetFrameCountNV = (PFNWGLRESETFRAMECOUNTNVPROC)load(userptr, "wglResetFrameCountNV");
|
||||
}
|
||||
static void glad_wgl_load_WGL_NV_vertex_array_range(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_NV_vertex_array_range) return;
|
||||
glad_wglAllocateMemoryNV = (PFNWGLALLOCATEMEMORYNVPROC)load(userptr, "wglAllocateMemoryNV");
|
||||
glad_wglFreeMemoryNV = (PFNWGLFREEMEMORYNVPROC)load(userptr, "wglFreeMemoryNV");
|
||||
}
|
||||
static void glad_wgl_load_WGL_NV_video_capture(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_NV_video_capture) return;
|
||||
glad_wglBindVideoCaptureDeviceNV = (PFNWGLBINDVIDEOCAPTUREDEVICENVPROC)load(userptr, "wglBindVideoCaptureDeviceNV");
|
||||
glad_wglEnumerateVideoCaptureDevicesNV = (PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC)load(userptr, "wglEnumerateVideoCaptureDevicesNV");
|
||||
glad_wglLockVideoCaptureDeviceNV = (PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC)load(userptr, "wglLockVideoCaptureDeviceNV");
|
||||
glad_wglQueryVideoCaptureDeviceNV = (PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC)load(userptr, "wglQueryVideoCaptureDeviceNV");
|
||||
glad_wglReleaseVideoCaptureDeviceNV = (PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC)load(userptr, "wglReleaseVideoCaptureDeviceNV");
|
||||
}
|
||||
static void glad_wgl_load_WGL_NV_video_output(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_NV_video_output) return;
|
||||
glad_wglBindVideoImageNV = (PFNWGLBINDVIDEOIMAGENVPROC)load(userptr, "wglBindVideoImageNV");
|
||||
glad_wglGetVideoDeviceNV = (PFNWGLGETVIDEODEVICENVPROC)load(userptr, "wglGetVideoDeviceNV");
|
||||
glad_wglGetVideoInfoNV = (PFNWGLGETVIDEOINFONVPROC)load(userptr, "wglGetVideoInfoNV");
|
||||
glad_wglReleaseVideoDeviceNV = (PFNWGLRELEASEVIDEODEVICENVPROC)load(userptr, "wglReleaseVideoDeviceNV");
|
||||
glad_wglReleaseVideoImageNV = (PFNWGLRELEASEVIDEOIMAGENVPROC)load(userptr, "wglReleaseVideoImageNV");
|
||||
glad_wglSendPbufferToVideoNV = (PFNWGLSENDPBUFFERTOVIDEONVPROC)load(userptr, "wglSendPbufferToVideoNV");
|
||||
}
|
||||
static void glad_wgl_load_WGL_OML_sync_control(GLADuserptrloadfunc load, void* userptr) {
|
||||
if (!GLAD_WGL_OML_sync_control) return;
|
||||
glad_wglGetMscRateOML = (PFNWGLGETMSCRATEOMLPROC)load(userptr, "wglGetMscRateOML");
|
||||
glad_wglGetSyncValuesOML = (PFNWGLGETSYNCVALUESOMLPROC)load(userptr, "wglGetSyncValuesOML");
|
||||
glad_wglSwapBuffersMscOML = (PFNWGLSWAPBUFFERSMSCOMLPROC)load(userptr, "wglSwapBuffersMscOML");
|
||||
glad_wglSwapLayerBuffersMscOML = (PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)load(userptr, "wglSwapLayerBuffersMscOML");
|
||||
glad_wglWaitForMscOML = (PFNWGLWAITFORMSCOMLPROC)load(userptr, "wglWaitForMscOML");
|
||||
glad_wglWaitForSbcOML = (PFNWGLWAITFORSBCOMLPROC)load(userptr, "wglWaitForSbcOML");
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int glad_wgl_has_extension(HDC hdc, const char* ext) {
|
||||
const char* terminator;
|
||||
const char* loc;
|
||||
const char* extensions;
|
||||
|
||||
if (wglGetExtensionsStringEXT == NULL && wglGetExtensionsStringARB == NULL)
|
||||
return 0;
|
||||
|
||||
if (wglGetExtensionsStringARB == NULL || hdc == INVALID_HANDLE_VALUE)
|
||||
extensions = wglGetExtensionsStringEXT();
|
||||
else
|
||||
extensions = wglGetExtensionsStringARB(hdc);
|
||||
|
||||
if (extensions == NULL || ext == NULL)
|
||||
return 0;
|
||||
|
||||
while (1) {
|
||||
loc = strstr(extensions, ext);
|
||||
if (loc == NULL)
|
||||
break;
|
||||
|
||||
terminator = loc + strlen(ext);
|
||||
if ((loc == extensions || *(loc - 1) == ' ') &&
|
||||
(*terminator == ' ' || *terminator == '\0'))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
extensions = terminator;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static GLADapiproc glad_wgl_get_proc_from_userptr(void* userptr, const char* name) {
|
||||
return (GLAD_GNUC_EXTENSION(GLADapiproc(*)(const char* name)) userptr)(name);
|
||||
}
|
||||
|
||||
static int glad_wgl_find_extensions_wgl(HDC hdc) {
|
||||
GLAD_WGL_3DFX_multisample = glad_wgl_has_extension(hdc, "WGL_3DFX_multisample");
|
||||
GLAD_WGL_3DL_stereo_control = glad_wgl_has_extension(hdc, "WGL_3DL_stereo_control");
|
||||
GLAD_WGL_AMD_gpu_association = glad_wgl_has_extension(hdc, "WGL_AMD_gpu_association");
|
||||
GLAD_WGL_ARB_buffer_region = glad_wgl_has_extension(hdc, "WGL_ARB_buffer_region");
|
||||
GLAD_WGL_ARB_context_flush_control = glad_wgl_has_extension(hdc, "WGL_ARB_context_flush_control");
|
||||
GLAD_WGL_ARB_create_context = glad_wgl_has_extension(hdc, "WGL_ARB_create_context");
|
||||
GLAD_WGL_ARB_create_context_no_error = glad_wgl_has_extension(hdc, "WGL_ARB_create_context_no_error");
|
||||
GLAD_WGL_ARB_create_context_profile = glad_wgl_has_extension(hdc, "WGL_ARB_create_context_profile");
|
||||
GLAD_WGL_ARB_create_context_robustness = glad_wgl_has_extension(hdc, "WGL_ARB_create_context_robustness");
|
||||
GLAD_WGL_ARB_extensions_string = glad_wgl_has_extension(hdc, "WGL_ARB_extensions_string");
|
||||
GLAD_WGL_ARB_framebuffer_sRGB = glad_wgl_has_extension(hdc, "WGL_ARB_framebuffer_sRGB");
|
||||
GLAD_WGL_ARB_make_current_read = glad_wgl_has_extension(hdc, "WGL_ARB_make_current_read");
|
||||
GLAD_WGL_ARB_multisample = glad_wgl_has_extension(hdc, "WGL_ARB_multisample");
|
||||
GLAD_WGL_ARB_pbuffer = glad_wgl_has_extension(hdc, "WGL_ARB_pbuffer");
|
||||
GLAD_WGL_ARB_pixel_format = glad_wgl_has_extension(hdc, "WGL_ARB_pixel_format");
|
||||
GLAD_WGL_ARB_pixel_format_float = glad_wgl_has_extension(hdc, "WGL_ARB_pixel_format_float");
|
||||
GLAD_WGL_ARB_render_texture = glad_wgl_has_extension(hdc, "WGL_ARB_render_texture");
|
||||
GLAD_WGL_ARB_robustness_application_isolation = glad_wgl_has_extension(hdc, "WGL_ARB_robustness_application_isolation");
|
||||
GLAD_WGL_ARB_robustness_share_group_isolation = glad_wgl_has_extension(hdc, "WGL_ARB_robustness_share_group_isolation");
|
||||
GLAD_WGL_ATI_pixel_format_float = glad_wgl_has_extension(hdc, "WGL_ATI_pixel_format_float");
|
||||
GLAD_WGL_ATI_render_texture_rectangle = glad_wgl_has_extension(hdc, "WGL_ATI_render_texture_rectangle");
|
||||
GLAD_WGL_EXT_colorspace = glad_wgl_has_extension(hdc, "WGL_EXT_colorspace");
|
||||
GLAD_WGL_EXT_create_context_es2_profile = glad_wgl_has_extension(hdc, "WGL_EXT_create_context_es2_profile");
|
||||
GLAD_WGL_EXT_create_context_es_profile = glad_wgl_has_extension(hdc, "WGL_EXT_create_context_es_profile");
|
||||
GLAD_WGL_EXT_depth_float = glad_wgl_has_extension(hdc, "WGL_EXT_depth_float");
|
||||
GLAD_WGL_EXT_display_color_table = glad_wgl_has_extension(hdc, "WGL_EXT_display_color_table");
|
||||
GLAD_WGL_EXT_extensions_string = glad_wgl_has_extension(hdc, "WGL_EXT_extensions_string");
|
||||
GLAD_WGL_EXT_framebuffer_sRGB = glad_wgl_has_extension(hdc, "WGL_EXT_framebuffer_sRGB");
|
||||
GLAD_WGL_EXT_make_current_read = glad_wgl_has_extension(hdc, "WGL_EXT_make_current_read");
|
||||
GLAD_WGL_EXT_multisample = glad_wgl_has_extension(hdc, "WGL_EXT_multisample");
|
||||
GLAD_WGL_EXT_pbuffer = glad_wgl_has_extension(hdc, "WGL_EXT_pbuffer");
|
||||
GLAD_WGL_EXT_pixel_format = glad_wgl_has_extension(hdc, "WGL_EXT_pixel_format");
|
||||
GLAD_WGL_EXT_pixel_format_packed_float = glad_wgl_has_extension(hdc, "WGL_EXT_pixel_format_packed_float");
|
||||
GLAD_WGL_EXT_swap_control = glad_wgl_has_extension(hdc, "WGL_EXT_swap_control");
|
||||
GLAD_WGL_EXT_swap_control_tear = glad_wgl_has_extension(hdc, "WGL_EXT_swap_control_tear");
|
||||
GLAD_WGL_I3D_digital_video_control = glad_wgl_has_extension(hdc, "WGL_I3D_digital_video_control");
|
||||
GLAD_WGL_I3D_gamma = glad_wgl_has_extension(hdc, "WGL_I3D_gamma");
|
||||
GLAD_WGL_I3D_genlock = glad_wgl_has_extension(hdc, "WGL_I3D_genlock");
|
||||
GLAD_WGL_I3D_image_buffer = glad_wgl_has_extension(hdc, "WGL_I3D_image_buffer");
|
||||
GLAD_WGL_I3D_swap_frame_lock = glad_wgl_has_extension(hdc, "WGL_I3D_swap_frame_lock");
|
||||
GLAD_WGL_I3D_swap_frame_usage = glad_wgl_has_extension(hdc, "WGL_I3D_swap_frame_usage");
|
||||
GLAD_WGL_NV_DX_interop = glad_wgl_has_extension(hdc, "WGL_NV_DX_interop");
|
||||
GLAD_WGL_NV_DX_interop2 = glad_wgl_has_extension(hdc, "WGL_NV_DX_interop2");
|
||||
GLAD_WGL_NV_copy_image = glad_wgl_has_extension(hdc, "WGL_NV_copy_image");
|
||||
GLAD_WGL_NV_delay_before_swap = glad_wgl_has_extension(hdc, "WGL_NV_delay_before_swap");
|
||||
GLAD_WGL_NV_float_buffer = glad_wgl_has_extension(hdc, "WGL_NV_float_buffer");
|
||||
GLAD_WGL_NV_gpu_affinity = glad_wgl_has_extension(hdc, "WGL_NV_gpu_affinity");
|
||||
GLAD_WGL_NV_multigpu_context = glad_wgl_has_extension(hdc, "WGL_NV_multigpu_context");
|
||||
GLAD_WGL_NV_multisample_coverage = glad_wgl_has_extension(hdc, "WGL_NV_multisample_coverage");
|
||||
GLAD_WGL_NV_present_video = glad_wgl_has_extension(hdc, "WGL_NV_present_video");
|
||||
GLAD_WGL_NV_render_depth_texture = glad_wgl_has_extension(hdc, "WGL_NV_render_depth_texture");
|
||||
GLAD_WGL_NV_render_texture_rectangle = glad_wgl_has_extension(hdc, "WGL_NV_render_texture_rectangle");
|
||||
GLAD_WGL_NV_swap_group = glad_wgl_has_extension(hdc, "WGL_NV_swap_group");
|
||||
GLAD_WGL_NV_vertex_array_range = glad_wgl_has_extension(hdc, "WGL_NV_vertex_array_range");
|
||||
GLAD_WGL_NV_video_capture = glad_wgl_has_extension(hdc, "WGL_NV_video_capture");
|
||||
GLAD_WGL_NV_video_output = glad_wgl_has_extension(hdc, "WGL_NV_video_output");
|
||||
GLAD_WGL_OML_sync_control = glad_wgl_has_extension(hdc, "WGL_OML_sync_control");
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int glad_wgl_find_core_wgl(void) {
|
||||
int major = 1, minor = 0;
|
||||
GLAD_WGL_VERSION_1_0 = (major == 1 && minor >= 0) || major > 1;
|
||||
return GLAD_MAKE_VERSION(major, minor);
|
||||
}
|
||||
|
||||
int gladLoadWGLUserPtr(HDC hdc, GLADuserptrloadfunc load, void* userptr) {
|
||||
int version;
|
||||
wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)load(userptr, "wglGetExtensionsStringARB");
|
||||
wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)load(userptr, "wglGetExtensionsStringEXT");
|
||||
if (wglGetExtensionsStringARB == NULL && wglGetExtensionsStringEXT == NULL) return 0;
|
||||
version = glad_wgl_find_core_wgl();
|
||||
|
||||
|
||||
if (!glad_wgl_find_extensions_wgl(hdc)) return 0;
|
||||
glad_wgl_load_WGL_3DL_stereo_control(load, userptr);
|
||||
glad_wgl_load_WGL_AMD_gpu_association(load, userptr);
|
||||
glad_wgl_load_WGL_ARB_buffer_region(load, userptr);
|
||||
glad_wgl_load_WGL_ARB_create_context(load, userptr);
|
||||
glad_wgl_load_WGL_ARB_extensions_string(load, userptr);
|
||||
glad_wgl_load_WGL_ARB_make_current_read(load, userptr);
|
||||
glad_wgl_load_WGL_ARB_pbuffer(load, userptr);
|
||||
glad_wgl_load_WGL_ARB_pixel_format(load, userptr);
|
||||
glad_wgl_load_WGL_ARB_render_texture(load, userptr);
|
||||
glad_wgl_load_WGL_EXT_display_color_table(load, userptr);
|
||||
glad_wgl_load_WGL_EXT_extensions_string(load, userptr);
|
||||
glad_wgl_load_WGL_EXT_make_current_read(load, userptr);
|
||||
glad_wgl_load_WGL_EXT_pbuffer(load, userptr);
|
||||
glad_wgl_load_WGL_EXT_pixel_format(load, userptr);
|
||||
glad_wgl_load_WGL_EXT_swap_control(load, userptr);
|
||||
glad_wgl_load_WGL_I3D_digital_video_control(load, userptr);
|
||||
glad_wgl_load_WGL_I3D_gamma(load, userptr);
|
||||
glad_wgl_load_WGL_I3D_genlock(load, userptr);
|
||||
glad_wgl_load_WGL_I3D_image_buffer(load, userptr);
|
||||
glad_wgl_load_WGL_I3D_swap_frame_lock(load, userptr);
|
||||
glad_wgl_load_WGL_I3D_swap_frame_usage(load, userptr);
|
||||
glad_wgl_load_WGL_NV_DX_interop(load, userptr);
|
||||
glad_wgl_load_WGL_NV_copy_image(load, userptr);
|
||||
glad_wgl_load_WGL_NV_delay_before_swap(load, userptr);
|
||||
glad_wgl_load_WGL_NV_gpu_affinity(load, userptr);
|
||||
glad_wgl_load_WGL_NV_present_video(load, userptr);
|
||||
glad_wgl_load_WGL_NV_swap_group(load, userptr);
|
||||
glad_wgl_load_WGL_NV_vertex_array_range(load, userptr);
|
||||
glad_wgl_load_WGL_NV_video_capture(load, userptr);
|
||||
glad_wgl_load_WGL_NV_video_output(load, userptr);
|
||||
glad_wgl_load_WGL_OML_sync_control(load, userptr);
|
||||
|
||||
|
||||
return version;
|
||||
}
|
||||
|
||||
int gladLoadWGL(HDC hdc, GLADloadfunc load) {
|
||||
return gladLoadWGLUserPtr(hdc, glad_wgl_get_proc_from_userptr, GLAD_GNUC_EXTENSION(void*) load);
|
||||
}
|
||||
|
||||
|
||||
#ifdef GLAD_WGL
|
||||
|
||||
static GLADapiproc glad_wgl_get_proc(void* vuserptr, const char* name) {
|
||||
GLAD_UNUSED(vuserptr);
|
||||
return GLAD_GNUC_EXTENSION(GLADapiproc) wglGetProcAddress(name);
|
||||
}
|
||||
|
||||
int gladLoaderLoadWGL(HDC hdc) {
|
||||
return gladLoadWGLUserPtr(hdc, glad_wgl_get_proc, NULL);
|
||||
}
|
||||
|
||||
|
||||
#endif /* GLAD_WGL */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Loader generated by glad 2.0.4 on Thu Oct 26 14:05:44 2023
|
||||
* Loader generated by glad 2.0.5 on Fri Feb 16 00:51:03 2024
|
||||
*
|
||||
* SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0
|
||||
*
|
||||
@@ -14,15 +14,15 @@
|
||||
* - ALIAS = False
|
||||
* - DEBUG = False
|
||||
* - HEADER_ONLY = False
|
||||
* - LOADER = True
|
||||
* - LOADER = False
|
||||
* - MX = True
|
||||
* - ON_DEMAND = False
|
||||
*
|
||||
* Commandline:
|
||||
* --api='wgl=1.0' --extensions='WGL_3DFX_multisample,WGL_3DL_stereo_control,WGL_AMD_gpu_association,WGL_ARB_buffer_region,WGL_ARB_context_flush_control,WGL_ARB_create_context,WGL_ARB_create_context_no_error,WGL_ARB_create_context_profile,WGL_ARB_create_context_robustness,WGL_ARB_extensions_string,WGL_ARB_framebuffer_sRGB,WGL_ARB_make_current_read,WGL_ARB_multisample,WGL_ARB_pbuffer,WGL_ARB_pixel_format,WGL_ARB_pixel_format_float,WGL_ARB_render_texture,WGL_ARB_robustness_application_isolation,WGL_ARB_robustness_share_group_isolation,WGL_ATI_pixel_format_float,WGL_ATI_render_texture_rectangle,WGL_EXT_colorspace,WGL_EXT_create_context_es2_profile,WGL_EXT_create_context_es_profile,WGL_EXT_depth_float,WGL_EXT_display_color_table,WGL_EXT_extensions_string,WGL_EXT_framebuffer_sRGB,WGL_EXT_make_current_read,WGL_EXT_multisample,WGL_EXT_pbuffer,WGL_EXT_pixel_format,WGL_EXT_pixel_format_packed_float,WGL_EXT_swap_control,WGL_EXT_swap_control_tear,WGL_I3D_digital_video_control,WGL_I3D_gamma,WGL_I3D_genlock,WGL_I3D_image_buffer,WGL_I3D_swap_frame_lock,WGL_I3D_swap_frame_usage,WGL_NV_DX_interop,WGL_NV_DX_interop2,WGL_NV_copy_image,WGL_NV_delay_before_swap,WGL_NV_float_buffer,WGL_NV_gpu_affinity,WGL_NV_multigpu_context,WGL_NV_multisample_coverage,WGL_NV_present_video,WGL_NV_render_depth_texture,WGL_NV_render_texture_rectangle,WGL_NV_swap_group,WGL_NV_vertex_array_range,WGL_NV_video_capture,WGL_NV_video_output,WGL_OML_sync_control' c --loader --mx
|
||||
* --api='wgl=1.0' --extensions='WGL_3DFX_multisample,WGL_3DL_stereo_control,WGL_AMD_gpu_association,WGL_ARB_buffer_region,WGL_ARB_context_flush_control,WGL_ARB_create_context,WGL_ARB_create_context_no_error,WGL_ARB_create_context_profile,WGL_ARB_create_context_robustness,WGL_ARB_extensions_string,WGL_ARB_framebuffer_sRGB,WGL_ARB_make_current_read,WGL_ARB_multisample,WGL_ARB_pbuffer,WGL_ARB_pixel_format,WGL_ARB_pixel_format_float,WGL_ARB_render_texture,WGL_ARB_robustness_application_isolation,WGL_ARB_robustness_share_group_isolation,WGL_ATI_pixel_format_float,WGL_ATI_render_texture_rectangle,WGL_EXT_colorspace,WGL_EXT_create_context_es2_profile,WGL_EXT_create_context_es_profile,WGL_EXT_depth_float,WGL_EXT_display_color_table,WGL_EXT_extensions_string,WGL_EXT_framebuffer_sRGB,WGL_EXT_make_current_read,WGL_EXT_multisample,WGL_EXT_pbuffer,WGL_EXT_pixel_format,WGL_EXT_pixel_format_packed_float,WGL_EXT_swap_control,WGL_EXT_swap_control_tear,WGL_I3D_digital_video_control,WGL_I3D_gamma,WGL_I3D_genlock,WGL_I3D_image_buffer,WGL_I3D_swap_frame_lock,WGL_I3D_swap_frame_usage,WGL_NV_DX_interop,WGL_NV_DX_interop2,WGL_NV_copy_image,WGL_NV_delay_before_swap,WGL_NV_float_buffer,WGL_NV_gpu_affinity,WGL_NV_multigpu_context,WGL_NV_multisample_coverage,WGL_NV_present_video,WGL_NV_render_depth_texture,WGL_NV_render_texture_rectangle,WGL_NV_swap_group,WGL_NV_vertex_array_range,WGL_NV_video_capture,WGL_NV_video_output,WGL_OML_sync_control' c --mx
|
||||
*
|
||||
* Online:
|
||||
* http://glad.sh/#api=wgl%3D1.0&extensions=WGL_3DFX_multisample%2CWGL_3DL_stereo_control%2CWGL_AMD_gpu_association%2CWGL_ARB_buffer_region%2CWGL_ARB_context_flush_control%2CWGL_ARB_create_context%2CWGL_ARB_create_context_no_error%2CWGL_ARB_create_context_profile%2CWGL_ARB_create_context_robustness%2CWGL_ARB_extensions_string%2CWGL_ARB_framebuffer_sRGB%2CWGL_ARB_make_current_read%2CWGL_ARB_multisample%2CWGL_ARB_pbuffer%2CWGL_ARB_pixel_format%2CWGL_ARB_pixel_format_float%2CWGL_ARB_render_texture%2CWGL_ARB_robustness_application_isolation%2CWGL_ARB_robustness_share_group_isolation%2CWGL_ATI_pixel_format_float%2CWGL_ATI_render_texture_rectangle%2CWGL_EXT_colorspace%2CWGL_EXT_create_context_es2_profile%2CWGL_EXT_create_context_es_profile%2CWGL_EXT_depth_float%2CWGL_EXT_display_color_table%2CWGL_EXT_extensions_string%2CWGL_EXT_framebuffer_sRGB%2CWGL_EXT_make_current_read%2CWGL_EXT_multisample%2CWGL_EXT_pbuffer%2CWGL_EXT_pixel_format%2CWGL_EXT_pixel_format_packed_float%2CWGL_EXT_swap_control%2CWGL_EXT_swap_control_tear%2CWGL_I3D_digital_video_control%2CWGL_I3D_gamma%2CWGL_I3D_genlock%2CWGL_I3D_image_buffer%2CWGL_I3D_swap_frame_lock%2CWGL_I3D_swap_frame_usage%2CWGL_NV_DX_interop%2CWGL_NV_DX_interop2%2CWGL_NV_copy_image%2CWGL_NV_delay_before_swap%2CWGL_NV_float_buffer%2CWGL_NV_gpu_affinity%2CWGL_NV_multigpu_context%2CWGL_NV_multisample_coverage%2CWGL_NV_present_video%2CWGL_NV_render_depth_texture%2CWGL_NV_render_texture_rectangle%2CWGL_NV_swap_group%2CWGL_NV_vertex_array_range%2CWGL_NV_video_capture%2CWGL_NV_video_output%2CWGL_OML_sync_control&generator=c&options=LOADER%2CMX
|
||||
* http://glad.sh/#api=wgl%3D1.0&extensions=WGL_3DFX_multisample%2CWGL_3DL_stereo_control%2CWGL_AMD_gpu_association%2CWGL_ARB_buffer_region%2CWGL_ARB_context_flush_control%2CWGL_ARB_create_context%2CWGL_ARB_create_context_no_error%2CWGL_ARB_create_context_profile%2CWGL_ARB_create_context_robustness%2CWGL_ARB_extensions_string%2CWGL_ARB_framebuffer_sRGB%2CWGL_ARB_make_current_read%2CWGL_ARB_multisample%2CWGL_ARB_pbuffer%2CWGL_ARB_pixel_format%2CWGL_ARB_pixel_format_float%2CWGL_ARB_render_texture%2CWGL_ARB_robustness_application_isolation%2CWGL_ARB_robustness_share_group_isolation%2CWGL_ATI_pixel_format_float%2CWGL_ATI_render_texture_rectangle%2CWGL_EXT_colorspace%2CWGL_EXT_create_context_es2_profile%2CWGL_EXT_create_context_es_profile%2CWGL_EXT_depth_float%2CWGL_EXT_display_color_table%2CWGL_EXT_extensions_string%2CWGL_EXT_framebuffer_sRGB%2CWGL_EXT_make_current_read%2CWGL_EXT_multisample%2CWGL_EXT_pbuffer%2CWGL_EXT_pixel_format%2CWGL_EXT_pixel_format_packed_float%2CWGL_EXT_swap_control%2CWGL_EXT_swap_control_tear%2CWGL_I3D_digital_video_control%2CWGL_I3D_gamma%2CWGL_I3D_genlock%2CWGL_I3D_image_buffer%2CWGL_I3D_swap_frame_lock%2CWGL_I3D_swap_frame_usage%2CWGL_NV_DX_interop%2CWGL_NV_DX_interop2%2CWGL_NV_copy_image%2CWGL_NV_delay_before_swap%2CWGL_NV_float_buffer%2CWGL_NV_gpu_affinity%2CWGL_NV_multigpu_context%2CWGL_NV_multisample_coverage%2CWGL_NV_present_video%2CWGL_NV_render_depth_texture%2CWGL_NV_render_texture_rectangle%2CWGL_NV_swap_group%2CWGL_NV_vertex_array_range%2CWGL_NV_video_capture%2CWGL_NV_video_output%2CWGL_OML_sync_control&generator=c&options=MX
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -30,10 +30,9 @@
|
||||
#define GLAD_WGL_H_
|
||||
|
||||
#include <windows.h>
|
||||
#include "./glad_gl.h"
|
||||
#include "gl.h"
|
||||
|
||||
#define GLAD_WGL
|
||||
#define GLAD_OPTION_WGL_LOADER
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -143,7 +142,7 @@ extern "C" {
|
||||
#define GLAD_VERSION_MAJOR(version) (version / 10000)
|
||||
#define GLAD_VERSION_MINOR(version) (version % 10000)
|
||||
|
||||
#define GLAD_GENERATOR_VERSION "2.0.4"
|
||||
#define GLAD_GENERATOR_VERSION "2.0.5"
|
||||
|
||||
typedef void (*GLADapiproc)(void);
|
||||
|
||||
@@ -454,37 +453,6 @@ extern "C" {
|
||||
#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
|
||||
#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
struct _GPU_DEVICE {
|
||||
DWORD cb;
|
||||
CHAR DeviceName[32];
|
||||
@@ -502,7 +470,6 @@ extern "C" {
|
||||
typedef struct _GPU_DEVICE GPU_DEVICE;
|
||||
typedef struct _GPU_DEVICE* PGPU_DEVICE;
|
||||
|
||||
|
||||
#define WGL_VERSION_1_0 1
|
||||
GLAD_API_CALL int GLAD_WGL_VERSION_1_0;
|
||||
#define WGL_3DFX_multisample 1
|
||||
@@ -620,7 +587,6 @@ extern "C" {
|
||||
#define WGL_OML_sync_control 1
|
||||
GLAD_API_CALL int GLAD_WGL_OML_sync_control;
|
||||
|
||||
|
||||
typedef int (GLAD_API_PTR* PFNCHOOSEPIXELFORMATPROC)(HDC hDc, const PIXELFORMATDESCRIPTOR* pPfd);
|
||||
typedef int (GLAD_API_PTR* PFNDESCRIBEPIXELFORMATPROC)(HDC hdc, int ipfd, UINT cjpfd, PIXELFORMATDESCRIPTOR* ppfd);
|
||||
typedef UINT(GLAD_API_PTR* PFNGETENHMETAFILEPIXELFORMATPROC)(HENHMETAFILE hemf, UINT cbBuffer, PIXELFORMATDESCRIPTOR* ppfd);
|
||||
@@ -1006,18 +972,9 @@ extern "C" {
|
||||
GLAD_API_CALL PFNWGLWAITFORSBCOMLPROC glad_wglWaitForSbcOML;
|
||||
#define wglWaitForSbcOML glad_wglWaitForSbcOML
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GLAD_API_CALL int gladLoadWGLUserPtr(HDC hdc, GLADuserptrloadfunc load, void* userptr);
|
||||
GLAD_API_CALL int gladLoadWGL(HDC hdc, GLADloadfunc load);
|
||||
|
||||
#ifdef GLAD_WGL
|
||||
|
||||
GLAD_API_CALL int gladLoaderLoadWGL(HDC hdc);
|
||||
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,37 @@
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc.bsc
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\vc143.pdb
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\vc143.idb
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat4.obj
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat4.cod
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat3.obj
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat3.cod
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat2.obj
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat2.cod
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\dllmain.obj
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\dllmain.cod
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.obj
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.cod
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\dllmain.sbr
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat2.sbr
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat3.sbr
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\mat4.sbr
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stb_image.sbr
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.sbr
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stb_image.obj
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stb_image.cod
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc.dll
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc.pdb
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc.lib
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc.exp
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.ilk
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\bscmake.command.1.tlog
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\bscmake.read.1.tlog
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\bscmake.write.1.tlog
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\cl.command.1.tlog
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\cl.items.tlog
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\cl.read.1.tlog
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\cl.write.1.tlog
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\link.command.1.tlog
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\link.read.1.tlog
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\link.secondary.1.tlog
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stgsharpc.tlog\link.write.1.tlog
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
StgSharpC.c
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\StgSharpC.c(43,18): warning C4047: “=”:“char”与“char [27]”的间接级别不同
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\StgSharpC.c(87,5): warning C4047: “return”:“char *”与“char (*)[512]”的间接级别不同
|
||||
StgSharpC.vcxproj -> D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.dll
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,10 +1,6 @@
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\debuger.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\debuger.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\dllmain.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\dllmain.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\glsc2.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\glsc2.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\linear.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\linear.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat2.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\mat2.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat3.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\mat3.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\mat4.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\mat4.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\stb_image.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\stb_image.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\StgSharpC.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\StgSharpC.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\wgl.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\wgl.obj
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.38.33130:TargetPlatformVersion=10.0.22621.0:
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.39.33519:TargetPlatformVersion=10.0.22621.0:
|
||||
Debug|x64|D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\|
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
^D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\GLFW3.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\GLFW3DLL.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\GLFW3_MT.LIB|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\DEBUG\DLLMAIN.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\DEBUG\MAT2.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\DEBUG\MAT3.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\DEBUG\MAT4.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\DEBUG\STB_IMAGE.OBJ|D:\NITLOADINDUSTRY\研究项目\1-FLAGSHIP\TH2020\PROJECTFILE\源代码\STGSHARPC\X64\DEBUG\STGSHARPC.OBJ
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.lib
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC.EXP
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\x64\Debug\StgSharpC.ilk
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic.dll</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,10 +0,0 @@
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\debuger.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\x64\Debug\debuger.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\dllmain.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\x64\Debug\dllmain.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\GLAD\gl.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\x64\Debug\gl.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\GLAD\glsc2.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\x64\Debug\glsc2.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\GLAD\wgl.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\x64\Debug\wgl.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\linear.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\x64\Debug\linear.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\mat2.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\x64\Debug\mat2.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\mat3.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\x64\Debug\mat3.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\mat4.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\x64\Debug\mat4.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\StgSharpGraphic.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\x64\Debug\StgSharpGraphic.obj
|
||||
@@ -1,2 +0,0 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.37.32822:TargetPlatformVersion=10.0.22621.0:
|
||||
Debug|x64|D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\|
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -1,11 +0,0 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.38.33130.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
msvcjmc SEGMENT
|
||||
__ECC25BFC_debuger@c DB 01H
|
||||
msvcjmc ENDS
|
||||
END
|
||||
Binary file not shown.
@@ -1,206 +1,23 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.38.33130.0
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.39.33519.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
PUBLIC defaultVecPtr
|
||||
_DATA SEGMENT
|
||||
COMM GLAD_WGL_VERSION_1_0:DWORD
|
||||
COMM GLAD_WGL_3DFX_multisample:DWORD
|
||||
COMM GLAD_WGL_3DL_stereo_control:DWORD
|
||||
COMM GLAD_WGL_AMD_gpu_association:DWORD
|
||||
COMM GLAD_WGL_ARB_buffer_region:DWORD
|
||||
COMM GLAD_WGL_ARB_context_flush_control:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context_no_error:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context_profile:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context_robustness:DWORD
|
||||
COMM GLAD_WGL_ARB_extensions_string:DWORD
|
||||
COMM GLAD_WGL_ARB_framebuffer_sRGB:DWORD
|
||||
COMM GLAD_WGL_ARB_make_current_read:DWORD
|
||||
COMM GLAD_WGL_ARB_multisample:DWORD
|
||||
COMM GLAD_WGL_ARB_pbuffer:DWORD
|
||||
COMM GLAD_WGL_ARB_pixel_format:DWORD
|
||||
COMM GLAD_WGL_ARB_pixel_format_float:DWORD
|
||||
COMM GLAD_WGL_ARB_render_texture:DWORD
|
||||
COMM GLAD_WGL_ARB_robustness_application_isolation:DWORD
|
||||
COMM GLAD_WGL_ARB_robustness_share_group_isolation:DWORD
|
||||
COMM GLAD_WGL_ATI_pixel_format_float:DWORD
|
||||
COMM GLAD_WGL_ATI_render_texture_rectangle:DWORD
|
||||
COMM GLAD_WGL_EXT_colorspace:DWORD
|
||||
COMM GLAD_WGL_EXT_create_context_es2_profile:DWORD
|
||||
COMM GLAD_WGL_EXT_create_context_es_profile:DWORD
|
||||
COMM GLAD_WGL_EXT_depth_float:DWORD
|
||||
COMM GLAD_WGL_EXT_display_color_table:DWORD
|
||||
COMM GLAD_WGL_EXT_extensions_string:DWORD
|
||||
COMM GLAD_WGL_EXT_framebuffer_sRGB:DWORD
|
||||
COMM GLAD_WGL_EXT_make_current_read:DWORD
|
||||
COMM GLAD_WGL_EXT_multisample:DWORD
|
||||
COMM GLAD_WGL_EXT_pbuffer:DWORD
|
||||
COMM GLAD_WGL_EXT_pixel_format:DWORD
|
||||
COMM GLAD_WGL_EXT_pixel_format_packed_float:DWORD
|
||||
COMM GLAD_WGL_EXT_swap_control:DWORD
|
||||
COMM GLAD_WGL_EXT_swap_control_tear:DWORD
|
||||
COMM GLAD_WGL_I3D_digital_video_control:DWORD
|
||||
COMM GLAD_WGL_I3D_gamma:DWORD
|
||||
COMM GLAD_WGL_I3D_genlock:DWORD
|
||||
COMM GLAD_WGL_I3D_image_buffer:DWORD
|
||||
COMM GLAD_WGL_I3D_swap_frame_lock:DWORD
|
||||
COMM GLAD_WGL_I3D_swap_frame_usage:DWORD
|
||||
COMM GLAD_WGL_NV_DX_interop:DWORD
|
||||
COMM GLAD_WGL_NV_DX_interop2:DWORD
|
||||
COMM GLAD_WGL_NV_copy_image:DWORD
|
||||
COMM GLAD_WGL_NV_delay_before_swap:DWORD
|
||||
COMM GLAD_WGL_NV_float_buffer:DWORD
|
||||
COMM GLAD_WGL_NV_gpu_affinity:DWORD
|
||||
COMM GLAD_WGL_NV_multigpu_context:DWORD
|
||||
COMM GLAD_WGL_NV_multisample_coverage:DWORD
|
||||
COMM GLAD_WGL_NV_present_video:DWORD
|
||||
COMM GLAD_WGL_NV_render_depth_texture:DWORD
|
||||
COMM GLAD_WGL_NV_render_texture_rectangle:DWORD
|
||||
COMM GLAD_WGL_NV_swap_group:DWORD
|
||||
COMM GLAD_WGL_NV_vertex_array_range:DWORD
|
||||
COMM GLAD_WGL_NV_video_capture:DWORD
|
||||
COMM GLAD_WGL_NV_video_output:DWORD
|
||||
COMM GLAD_WGL_OML_sync_control:DWORD
|
||||
COMM glad_wglAllocateMemoryNV:QWORD
|
||||
COMM glad_wglAssociateImageBufferEventsI3D:QWORD
|
||||
COMM glad_wglBeginFrameTrackingI3D:QWORD
|
||||
COMM glad_wglBindDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglBindSwapBarrierNV:QWORD
|
||||
COMM glad_wglBindTexImageARB:QWORD
|
||||
COMM glad_wglBindVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglBindVideoDeviceNV:QWORD
|
||||
COMM glad_wglBindVideoImageNV:QWORD
|
||||
COMM glad_wglBlitContextFramebufferAMD:QWORD
|
||||
COMM glad_wglChoosePixelFormatARB:QWORD
|
||||
COMM glad_wglChoosePixelFormatEXT:QWORD
|
||||
COMM glad_wglCopyImageSubDataNV:QWORD
|
||||
COMM glad_wglCreateAffinityDCNV:QWORD
|
||||
COMM glad_wglCreateAssociatedContextAMD:QWORD
|
||||
COMM glad_wglCreateAssociatedContextAttribsAMD:QWORD
|
||||
COMM glad_wglCreateBufferRegionARB:QWORD
|
||||
COMM glad_wglCreateContextAttribsARB:QWORD
|
||||
COMM glad_wglCreateDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglCreateImageBufferI3D:QWORD
|
||||
COMM glad_wglCreatePbufferARB:QWORD
|
||||
COMM glad_wglCreatePbufferEXT:QWORD
|
||||
COMM glad_wglDXCloseDeviceNV:QWORD
|
||||
COMM glad_wglDXLockObjectsNV:QWORD
|
||||
COMM glad_wglDXObjectAccessNV:QWORD
|
||||
COMM glad_wglDXOpenDeviceNV:QWORD
|
||||
COMM glad_wglDXRegisterObjectNV:QWORD
|
||||
COMM glad_wglDXSetResourceShareHandleNV:QWORD
|
||||
COMM glad_wglDXUnlockObjectsNV:QWORD
|
||||
COMM glad_wglDXUnregisterObjectNV:QWORD
|
||||
COMM glad_wglDelayBeforeSwapNV:QWORD
|
||||
COMM glad_wglDeleteAssociatedContextAMD:QWORD
|
||||
COMM glad_wglDeleteBufferRegionARB:QWORD
|
||||
COMM glad_wglDeleteDCNV:QWORD
|
||||
COMM glad_wglDestroyDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglDestroyImageBufferI3D:QWORD
|
||||
COMM glad_wglDestroyPbufferARB:QWORD
|
||||
COMM glad_wglDestroyPbufferEXT:QWORD
|
||||
COMM glad_wglDisableFrameLockI3D:QWORD
|
||||
COMM glad_wglDisableGenlockI3D:QWORD
|
||||
COMM glad_wglEnableFrameLockI3D:QWORD
|
||||
COMM glad_wglEnableGenlockI3D:QWORD
|
||||
COMM glad_wglEndFrameTrackingI3D:QWORD
|
||||
COMM glad_wglEnumGpuDevicesNV:QWORD
|
||||
COMM glad_wglEnumGpusFromAffinityDCNV:QWORD
|
||||
COMM glad_wglEnumGpusNV:QWORD
|
||||
COMM glad_wglEnumerateVideoCaptureDevicesNV:QWORD
|
||||
COMM glad_wglEnumerateVideoDevicesNV:QWORD
|
||||
COMM glad_wglFreeMemoryNV:QWORD
|
||||
COMM glad_wglGenlockSampleRateI3D:QWORD
|
||||
COMM glad_wglGenlockSourceDelayI3D:QWORD
|
||||
COMM glad_wglGenlockSourceEdgeI3D:QWORD
|
||||
COMM glad_wglGenlockSourceI3D:QWORD
|
||||
COMM glad_wglGetContextGPUIDAMD:QWORD
|
||||
COMM glad_wglGetCurrentAssociatedContextAMD:QWORD
|
||||
COMM glad_wglGetCurrentReadDCARB:QWORD
|
||||
COMM glad_wglGetCurrentReadDCEXT:QWORD
|
||||
COMM glad_wglGetDigitalVideoParametersI3D:QWORD
|
||||
COMM glad_wglGetExtensionsStringARB:QWORD
|
||||
COMM glad_wglGetExtensionsStringEXT:QWORD
|
||||
COMM glad_wglGetFrameUsageI3D:QWORD
|
||||
COMM glad_wglGetGPUIDsAMD:QWORD
|
||||
COMM glad_wglGetGPUInfoAMD:QWORD
|
||||
COMM glad_wglGetGammaTableI3D:QWORD
|
||||
COMM glad_wglGetGammaTableParametersI3D:QWORD
|
||||
COMM glad_wglGetGenlockSampleRateI3D:QWORD
|
||||
COMM glad_wglGetGenlockSourceDelayI3D:QWORD
|
||||
COMM glad_wglGetGenlockSourceEdgeI3D:QWORD
|
||||
COMM glad_wglGetGenlockSourceI3D:QWORD
|
||||
COMM glad_wglGetMscRateOML:QWORD
|
||||
COMM glad_wglGetPbufferDCARB:QWORD
|
||||
COMM glad_wglGetPbufferDCEXT:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribfvARB:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribfvEXT:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribivARB:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribivEXT:QWORD
|
||||
COMM glad_wglGetSwapIntervalEXT:QWORD
|
||||
COMM glad_wglGetSyncValuesOML:QWORD
|
||||
COMM glad_wglGetVideoDeviceNV:QWORD
|
||||
COMM glad_wglGetVideoInfoNV:QWORD
|
||||
COMM glad_wglIsEnabledFrameLockI3D:QWORD
|
||||
COMM glad_wglIsEnabledGenlockI3D:QWORD
|
||||
COMM glad_wglJoinSwapGroupNV:QWORD
|
||||
COMM glad_wglLoadDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglLockVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglMakeAssociatedContextCurrentAMD:QWORD
|
||||
COMM glad_wglMakeContextCurrentARB:QWORD
|
||||
COMM glad_wglMakeContextCurrentEXT:QWORD
|
||||
COMM glad_wglQueryCurrentContextNV:QWORD
|
||||
COMM glad_wglQueryFrameCountNV:QWORD
|
||||
COMM glad_wglQueryFrameLockMasterI3D:QWORD
|
||||
COMM glad_wglQueryFrameTrackingI3D:QWORD
|
||||
COMM glad_wglQueryGenlockMaxSourceDelayI3D:QWORD
|
||||
COMM glad_wglQueryMaxSwapGroupsNV:QWORD
|
||||
COMM glad_wglQueryPbufferARB:QWORD
|
||||
COMM glad_wglQueryPbufferEXT:QWORD
|
||||
COMM glad_wglQuerySwapGroupNV:QWORD
|
||||
COMM glad_wglQueryVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglReleaseImageBufferEventsI3D:QWORD
|
||||
COMM glad_wglReleasePbufferDCARB:QWORD
|
||||
COMM glad_wglReleasePbufferDCEXT:QWORD
|
||||
COMM glad_wglReleaseTexImageARB:QWORD
|
||||
COMM glad_wglReleaseVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglReleaseVideoDeviceNV:QWORD
|
||||
COMM glad_wglReleaseVideoImageNV:QWORD
|
||||
COMM glad_wglResetFrameCountNV:QWORD
|
||||
COMM glad_wglRestoreBufferRegionARB:QWORD
|
||||
COMM glad_wglSaveBufferRegionARB:QWORD
|
||||
COMM glad_wglSendPbufferToVideoNV:QWORD
|
||||
COMM glad_wglSetDigitalVideoParametersI3D:QWORD
|
||||
COMM glad_wglSetGammaTableI3D:QWORD
|
||||
COMM glad_wglSetGammaTableParametersI3D:QWORD
|
||||
COMM glad_wglSetPbufferAttribARB:QWORD
|
||||
COMM glad_wglSetStereoEmitterState3DL:QWORD
|
||||
COMM glad_wglSwapBuffersMscOML:QWORD
|
||||
COMM glad_wglSwapIntervalEXT:QWORD
|
||||
COMM glad_wglSwapLayerBuffersMscOML:QWORD
|
||||
COMM glad_wglWaitForMscOML:QWORD
|
||||
COMM glad_wglWaitForSbcOML:QWORD
|
||||
_DATA ENDS
|
||||
_BSS SEGMENT
|
||||
defaultVecPtr DQ 01H DUP (?)
|
||||
_BSS ENDS
|
||||
_DATA SEGMENT
|
||||
COMM infolog:QWORD:0200H
|
||||
COMM infolog:BYTE:0200H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
__0ED14FEE_winpackagefamily@h DB 01H
|
||||
__F92EF742_winapifamily@h DB 01H
|
||||
__22E515EB_sdkddkver@h DB 01H
|
||||
__D359774B_concurrencysal@h DB 01H
|
||||
__0E7B27E3_sal@h DB 01H
|
||||
__C320D00B_vadefs@h DB 01H
|
||||
__E4023321_vcruntime@h DB 01H
|
||||
__045EB48A_excpt@h DB 01H
|
||||
__8FF200A2_stdarg@h DB 01H
|
||||
__4B783B3C_concurrencysal@h DB 01H
|
||||
__137BB1BE_sal@h DB 01H
|
||||
__805F4069_vadefs@h DB 01H
|
||||
__1EAACA9B_vcruntime@h DB 01H
|
||||
__1227BCE2_excpt@h DB 01H
|
||||
__CC8D90C0_stdarg@h DB 01H
|
||||
__29F49F40_specstrings_undef@h DB 01H
|
||||
__D0F42932_specstrings_strict@h DB 01H
|
||||
__F00405FD_sdv_driverspecs@h DB 01H
|
||||
@@ -212,7 +29,7 @@ __1EC467ED_ctype@h DB 01H
|
||||
__98517906_kernelspecs@h DB 01H
|
||||
__D3497022_basetsd@h DB 01H
|
||||
__61CC25A1_errno@h DB 01H
|
||||
__1A10C8D2_vcruntime_string@h DB 01H
|
||||
__0504B279_vcruntime_string@h DB 01H
|
||||
__E4C945B4_corecrt_memcpy_s@h DB 01H
|
||||
__8EAFF484_corecrt_memory@h DB 01H
|
||||
__6490AEC5_corecrt_wstring@h DB 01H
|
||||
@@ -287,47 +104,46 @@ __11C07376_mcx@h DB 01H
|
||||
__577CE3E7_ime_cmodes@h DB 01H
|
||||
__1E72C31E_imm@h DB 01H
|
||||
__E15BF856_windows@h DB 01H
|
||||
__CBBACB16_ssgc_framework@h DB 01H
|
||||
__F0C66064_ssgc_internal@h DB 01H
|
||||
__BB2DBE6D_stdint@h DB 01H
|
||||
__0E25A6E3_khrplatform@h DB 01H
|
||||
__4AFAC916_glad_gl@h DB 01H
|
||||
__D52B075C_glad_wgl@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__94128AEC_glfw3@h DB 01H
|
||||
__FC01764F_mmintrin@h DB 01H
|
||||
__A19B9DB6_ssgc_framework@h DB 01H
|
||||
__5BC5AF51_mmintrin@h DB 01H
|
||||
__45DED006_corecrt_malloc@h DB 01H
|
||||
__FA77ED4C_malloc@h DB 01H
|
||||
__64D75F75_xmmintrin@h DB 01H
|
||||
__01B5D6B9_emmintrin@h DB 01H
|
||||
__DE14BE30_pmmintrin@h DB 01H
|
||||
__6ECDCDB2_tmmintrin@h DB 01H
|
||||
__47F6D831_smmintrin@h DB 01H
|
||||
__229451FD_nmmintrin@h DB 01H
|
||||
__F72FABB3_wmmintrin@h DB 01H
|
||||
__3CBBE6B4_zmmintrin@h DB 01H
|
||||
__0BAF447E_immintrin@h DB 01H
|
||||
__9E7FA6CF_xmmintrin@h DB 01H
|
||||
__61B03275_ssgc_internal@h DB 01H
|
||||
__F8522E0F_stdint@h DB 01H
|
||||
__874AB8BA_khrplatform@h DB 01H
|
||||
__8DCB230D_gl@h DB 01H
|
||||
__5F89FF5A_wgl@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__B47D1049_glfw3@h DB 01H
|
||||
__FB1D2F03_emmintrin@h DB 01H
|
||||
__24BC478A_pmmintrin@h DB 01H
|
||||
__94653408_tmmintrin@h DB 01H
|
||||
__BD5E218B_smmintrin@h DB 01H
|
||||
__D83CA847_nmmintrin@h DB 01H
|
||||
__0D875209_wmmintrin@h DB 01H
|
||||
__C6131F0E_zmmintrin@h DB 01H
|
||||
__F107BDC4_immintrin@h DB 01H
|
||||
__44420885_corecrt_stdio_config@h DB 01H
|
||||
__AB601D8D_corecrt_wstdio@h DB 01H
|
||||
__C1EC35D3_stdio@h DB 01H
|
||||
__FD6DBD68_corecrt_search@h DB 01H
|
||||
__E2E33A61_corecrt_wstdlib@h DB 01H
|
||||
__055B9052_limits@h DB 01H
|
||||
__46240030_limits@h DB 01H
|
||||
__6E5ACABA_stdlib@h DB 01H
|
||||
__014E939F_stb_image@h DB 01H
|
||||
__9D113FA1_StgSharpC@h DB 01H
|
||||
__5274102E_stb_image@h DB 01H
|
||||
__CE2BBC10_StgSharpC@h DB 01H
|
||||
__9C9DAB70_dllmain@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC DllMain
|
||||
PUBLIC __JustMyCode_Default
|
||||
EXTRN __imp__aligned_malloc:PROC
|
||||
EXTRN _RTC_InitBase:PROC
|
||||
EXTRN _RTC_Shutdown:PROC
|
||||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$DllMain DD imagerel $LN12
|
||||
DD imagerel $LN12+166
|
||||
$pdata$DllMain DD imagerel $LN9
|
||||
DD imagerel $LN9+133
|
||||
DD imagerel $unwind$DllMain
|
||||
pdata ENDS
|
||||
; COMDAT rtc$TMZ
|
||||
@@ -362,9 +178,9 @@ ul_reason_for_call$ = 248
|
||||
lpReserved$ = 256
|
||||
DllMain PROC ; COMDAT
|
||||
|
||||
; 17 : {
|
||||
; 14 : {
|
||||
|
||||
$LN12:
|
||||
$LN9:
|
||||
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||||
00005 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
||||
00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
@@ -377,7 +193,7 @@ $LN12:
|
||||
00 00 lea rcx, OFFSET FLAT:__9C9DAB70_dllmain@c
|
||||
00023 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
|
||||
; 18 : switch (ul_reason_for_call)
|
||||
; 15 : switch (ul_reason_for_call)
|
||||
|
||||
00028 8b 85 f8 00 00
|
||||
00 mov eax, DWORD PTR ul_reason_for_call$[rbp]
|
||||
@@ -385,85 +201,67 @@ $LN12:
|
||||
00 mov DWORD PTR tv64[rbp], eax
|
||||
00034 83 bd c0 00 00
|
||||
00 00 cmp DWORD PTR tv64[rbp], 0
|
||||
0003b 74 53 je SHORT $LN10@DllMain
|
||||
0003b 74 32 je SHORT $LN7@DllMain
|
||||
0003d 83 bd c0 00 00
|
||||
00 01 cmp DWORD PTR tv64[rbp], 1
|
||||
00044 74 14 je SHORT $LN7@DllMain
|
||||
00044 74 14 je SHORT $LN4@DllMain
|
||||
00046 83 bd c0 00 00
|
||||
00 02 cmp DWORD PTR tv64[rbp], 2
|
||||
0004d 74 33 je SHORT $LN8@DllMain
|
||||
0004d 74 12 je SHORT $LN5@DllMain
|
||||
0004f 83 bd c0 00 00
|
||||
00 03 cmp DWORD PTR tv64[rbp], 3
|
||||
00056 74 31 je SHORT $LN9@DllMain
|
||||
00058 eb 3d jmp SHORT $LN2@DllMain
|
||||
$LN7@DllMain:
|
||||
00056 74 10 je SHORT $LN6@DllMain
|
||||
00058 eb 1c jmp SHORT $LN2@DllMain
|
||||
$LN4@DllMain:
|
||||
|
||||
; 16 : {
|
||||
; 17 : case DLL_PROCESS_ATTACH:
|
||||
; 18 :
|
||||
; 19 : return 1;
|
||||
|
||||
0005a b8 01 00 00 00 mov eax, 1
|
||||
0005f eb 1a jmp SHORT $LN1@DllMain
|
||||
$LN5@DllMain:
|
||||
|
||||
; 20 :
|
||||
; 21 : case DLL_THREAD_ATTACH:
|
||||
; 22 : return 1;
|
||||
|
||||
00061 b8 01 00 00 00 mov eax, 1
|
||||
00066 eb 13 jmp SHORT $LN1@DllMain
|
||||
$LN6@DllMain:
|
||||
|
||||
; 19 : {
|
||||
; 20 : case DLL_PROCESS_ATTACH:
|
||||
; 21 : do
|
||||
; 22 : {
|
||||
; 23 : defaultVecPtr = _aligned_malloc(sizeof(__m128), 16);
|
||||
|
||||
0005a ba 10 00 00 00 mov edx, 16
|
||||
0005f b9 10 00 00 00 mov ecx, 16
|
||||
00064 ff 15 00 00 00
|
||||
00 call QWORD PTR __imp__aligned_malloc
|
||||
0006a 48 89 05 00 00
|
||||
00 00 mov QWORD PTR defaultVecPtr, rax
|
||||
|
||||
; 24 : } while (defaultVecPtr == NULL);
|
||||
|
||||
00071 48 83 3d 00 00
|
||||
00 00 00 cmp QWORD PTR defaultVecPtr, 0
|
||||
00079 74 df je SHORT $LN6@DllMain
|
||||
|
||||
; 23 :
|
||||
; 24 : case DLL_THREAD_DETACH:
|
||||
; 25 : return 1;
|
||||
|
||||
0007b b8 01 00 00 00 mov eax, 1
|
||||
00080 eb 1a jmp SHORT $LN1@DllMain
|
||||
$LN8@DllMain:
|
||||
00068 b8 01 00 00 00 mov eax, 1
|
||||
0006d eb 0c jmp SHORT $LN1@DllMain
|
||||
$LN7@DllMain:
|
||||
|
||||
; 26 :
|
||||
; 27 : case DLL_THREAD_ATTACH:
|
||||
; 27 : case DLL_PROCESS_DETACH:
|
||||
; 28 : return 1;
|
||||
|
||||
00082 b8 01 00 00 00 mov eax, 1
|
||||
00087 eb 13 jmp SHORT $LN1@DllMain
|
||||
$LN9@DllMain:
|
||||
|
||||
; 29 :
|
||||
; 30 : case DLL_THREAD_DETACH:
|
||||
; 31 : return 1;
|
||||
|
||||
00089 b8 01 00 00 00 mov eax, 1
|
||||
0008e eb 0c jmp SHORT $LN1@DllMain
|
||||
$LN10@DllMain:
|
||||
|
||||
; 32 :
|
||||
; 33 : case DLL_PROCESS_DETACH:
|
||||
; 34 : return 1;
|
||||
|
||||
00090 b8 01 00 00 00 mov eax, 1
|
||||
00095 eb 05 jmp SHORT $LN1@DllMain
|
||||
0006f b8 01 00 00 00 mov eax, 1
|
||||
00074 eb 05 jmp SHORT $LN1@DllMain
|
||||
$LN2@DllMain:
|
||||
|
||||
; 35 :
|
||||
; 36 :
|
||||
; 37 : break;
|
||||
; 38 : }
|
||||
; 39 : return TRUE;
|
||||
; 29 :
|
||||
; 30 : break;
|
||||
; 31 : }
|
||||
; 32 : return TRUE;
|
||||
|
||||
00097 b8 01 00 00 00 mov eax, 1
|
||||
00076 b8 01 00 00 00 mov eax, 1
|
||||
$LN1@DllMain:
|
||||
|
||||
; 40 : }
|
||||
; 33 : }
|
||||
|
||||
0009c 48 8d a5 d8 00
|
||||
0007b 48 8d a5 d8 00
|
||||
00 00 lea rsp, QWORD PTR [rbp+216]
|
||||
000a3 5f pop rdi
|
||||
000a4 5d pop rbp
|
||||
000a5 c3 ret 0
|
||||
00082 5f pop rdi
|
||||
00083 5d pop rbp
|
||||
00084 c3 ret 0
|
||||
DllMain ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,382 +0,0 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.38.33130.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
_DATA SEGMENT
|
||||
COMM GLAD_WGL_VERSION_1_0:DWORD
|
||||
COMM GLAD_WGL_3DFX_multisample:DWORD
|
||||
COMM GLAD_WGL_3DL_stereo_control:DWORD
|
||||
COMM GLAD_WGL_AMD_gpu_association:DWORD
|
||||
COMM GLAD_WGL_ARB_buffer_region:DWORD
|
||||
COMM GLAD_WGL_ARB_context_flush_control:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context_no_error:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context_profile:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context_robustness:DWORD
|
||||
COMM GLAD_WGL_ARB_extensions_string:DWORD
|
||||
COMM GLAD_WGL_ARB_framebuffer_sRGB:DWORD
|
||||
COMM GLAD_WGL_ARB_make_current_read:DWORD
|
||||
COMM GLAD_WGL_ARB_multisample:DWORD
|
||||
COMM GLAD_WGL_ARB_pbuffer:DWORD
|
||||
COMM GLAD_WGL_ARB_pixel_format:DWORD
|
||||
COMM GLAD_WGL_ARB_pixel_format_float:DWORD
|
||||
COMM GLAD_WGL_ARB_render_texture:DWORD
|
||||
COMM GLAD_WGL_ARB_robustness_application_isolation:DWORD
|
||||
COMM GLAD_WGL_ARB_robustness_share_group_isolation:DWORD
|
||||
COMM GLAD_WGL_ATI_pixel_format_float:DWORD
|
||||
COMM GLAD_WGL_ATI_render_texture_rectangle:DWORD
|
||||
COMM GLAD_WGL_EXT_colorspace:DWORD
|
||||
COMM GLAD_WGL_EXT_create_context_es2_profile:DWORD
|
||||
COMM GLAD_WGL_EXT_create_context_es_profile:DWORD
|
||||
COMM GLAD_WGL_EXT_depth_float:DWORD
|
||||
COMM GLAD_WGL_EXT_display_color_table:DWORD
|
||||
COMM GLAD_WGL_EXT_extensions_string:DWORD
|
||||
COMM GLAD_WGL_EXT_framebuffer_sRGB:DWORD
|
||||
COMM GLAD_WGL_EXT_make_current_read:DWORD
|
||||
COMM GLAD_WGL_EXT_multisample:DWORD
|
||||
COMM GLAD_WGL_EXT_pbuffer:DWORD
|
||||
COMM GLAD_WGL_EXT_pixel_format:DWORD
|
||||
COMM GLAD_WGL_EXT_pixel_format_packed_float:DWORD
|
||||
COMM GLAD_WGL_EXT_swap_control:DWORD
|
||||
COMM GLAD_WGL_EXT_swap_control_tear:DWORD
|
||||
COMM GLAD_WGL_I3D_digital_video_control:DWORD
|
||||
COMM GLAD_WGL_I3D_gamma:DWORD
|
||||
COMM GLAD_WGL_I3D_genlock:DWORD
|
||||
COMM GLAD_WGL_I3D_image_buffer:DWORD
|
||||
COMM GLAD_WGL_I3D_swap_frame_lock:DWORD
|
||||
COMM GLAD_WGL_I3D_swap_frame_usage:DWORD
|
||||
COMM GLAD_WGL_NV_DX_interop:DWORD
|
||||
COMM GLAD_WGL_NV_DX_interop2:DWORD
|
||||
COMM GLAD_WGL_NV_copy_image:DWORD
|
||||
COMM GLAD_WGL_NV_delay_before_swap:DWORD
|
||||
COMM GLAD_WGL_NV_float_buffer:DWORD
|
||||
COMM GLAD_WGL_NV_gpu_affinity:DWORD
|
||||
COMM GLAD_WGL_NV_multigpu_context:DWORD
|
||||
COMM GLAD_WGL_NV_multisample_coverage:DWORD
|
||||
COMM GLAD_WGL_NV_present_video:DWORD
|
||||
COMM GLAD_WGL_NV_render_depth_texture:DWORD
|
||||
COMM GLAD_WGL_NV_render_texture_rectangle:DWORD
|
||||
COMM GLAD_WGL_NV_swap_group:DWORD
|
||||
COMM GLAD_WGL_NV_vertex_array_range:DWORD
|
||||
COMM GLAD_WGL_NV_video_capture:DWORD
|
||||
COMM GLAD_WGL_NV_video_output:DWORD
|
||||
COMM GLAD_WGL_OML_sync_control:DWORD
|
||||
COMM glad_wglAllocateMemoryNV:QWORD
|
||||
COMM glad_wglAssociateImageBufferEventsI3D:QWORD
|
||||
COMM glad_wglBeginFrameTrackingI3D:QWORD
|
||||
COMM glad_wglBindDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglBindSwapBarrierNV:QWORD
|
||||
COMM glad_wglBindTexImageARB:QWORD
|
||||
COMM glad_wglBindVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglBindVideoDeviceNV:QWORD
|
||||
COMM glad_wglBindVideoImageNV:QWORD
|
||||
COMM glad_wglBlitContextFramebufferAMD:QWORD
|
||||
COMM glad_wglChoosePixelFormatARB:QWORD
|
||||
COMM glad_wglChoosePixelFormatEXT:QWORD
|
||||
COMM glad_wglCopyImageSubDataNV:QWORD
|
||||
COMM glad_wglCreateAffinityDCNV:QWORD
|
||||
COMM glad_wglCreateAssociatedContextAMD:QWORD
|
||||
COMM glad_wglCreateAssociatedContextAttribsAMD:QWORD
|
||||
COMM glad_wglCreateBufferRegionARB:QWORD
|
||||
COMM glad_wglCreateContextAttribsARB:QWORD
|
||||
COMM glad_wglCreateDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglCreateImageBufferI3D:QWORD
|
||||
COMM glad_wglCreatePbufferARB:QWORD
|
||||
COMM glad_wglCreatePbufferEXT:QWORD
|
||||
COMM glad_wglDXCloseDeviceNV:QWORD
|
||||
COMM glad_wglDXLockObjectsNV:QWORD
|
||||
COMM glad_wglDXObjectAccessNV:QWORD
|
||||
COMM glad_wglDXOpenDeviceNV:QWORD
|
||||
COMM glad_wglDXRegisterObjectNV:QWORD
|
||||
COMM glad_wglDXSetResourceShareHandleNV:QWORD
|
||||
COMM glad_wglDXUnlockObjectsNV:QWORD
|
||||
COMM glad_wglDXUnregisterObjectNV:QWORD
|
||||
COMM glad_wglDelayBeforeSwapNV:QWORD
|
||||
COMM glad_wglDeleteAssociatedContextAMD:QWORD
|
||||
COMM glad_wglDeleteBufferRegionARB:QWORD
|
||||
COMM glad_wglDeleteDCNV:QWORD
|
||||
COMM glad_wglDestroyDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglDestroyImageBufferI3D:QWORD
|
||||
COMM glad_wglDestroyPbufferARB:QWORD
|
||||
COMM glad_wglDestroyPbufferEXT:QWORD
|
||||
COMM glad_wglDisableFrameLockI3D:QWORD
|
||||
COMM glad_wglDisableGenlockI3D:QWORD
|
||||
COMM glad_wglEnableFrameLockI3D:QWORD
|
||||
COMM glad_wglEnableGenlockI3D:QWORD
|
||||
COMM glad_wglEndFrameTrackingI3D:QWORD
|
||||
COMM glad_wglEnumGpuDevicesNV:QWORD
|
||||
COMM glad_wglEnumGpusFromAffinityDCNV:QWORD
|
||||
COMM glad_wglEnumGpusNV:QWORD
|
||||
COMM glad_wglEnumerateVideoCaptureDevicesNV:QWORD
|
||||
COMM glad_wglEnumerateVideoDevicesNV:QWORD
|
||||
COMM glad_wglFreeMemoryNV:QWORD
|
||||
COMM glad_wglGenlockSampleRateI3D:QWORD
|
||||
COMM glad_wglGenlockSourceDelayI3D:QWORD
|
||||
COMM glad_wglGenlockSourceEdgeI3D:QWORD
|
||||
COMM glad_wglGenlockSourceI3D:QWORD
|
||||
COMM glad_wglGetContextGPUIDAMD:QWORD
|
||||
COMM glad_wglGetCurrentAssociatedContextAMD:QWORD
|
||||
COMM glad_wglGetCurrentReadDCARB:QWORD
|
||||
COMM glad_wglGetCurrentReadDCEXT:QWORD
|
||||
COMM glad_wglGetDigitalVideoParametersI3D:QWORD
|
||||
COMM glad_wglGetExtensionsStringARB:QWORD
|
||||
COMM glad_wglGetExtensionsStringEXT:QWORD
|
||||
COMM glad_wglGetFrameUsageI3D:QWORD
|
||||
COMM glad_wglGetGPUIDsAMD:QWORD
|
||||
COMM glad_wglGetGPUInfoAMD:QWORD
|
||||
COMM glad_wglGetGammaTableI3D:QWORD
|
||||
COMM glad_wglGetGammaTableParametersI3D:QWORD
|
||||
COMM glad_wglGetGenlockSampleRateI3D:QWORD
|
||||
COMM glad_wglGetGenlockSourceDelayI3D:QWORD
|
||||
COMM glad_wglGetGenlockSourceEdgeI3D:QWORD
|
||||
COMM glad_wglGetGenlockSourceI3D:QWORD
|
||||
COMM glad_wglGetMscRateOML:QWORD
|
||||
COMM glad_wglGetPbufferDCARB:QWORD
|
||||
COMM glad_wglGetPbufferDCEXT:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribfvARB:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribfvEXT:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribivARB:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribivEXT:QWORD
|
||||
COMM glad_wglGetSwapIntervalEXT:QWORD
|
||||
COMM glad_wglGetSyncValuesOML:QWORD
|
||||
COMM glad_wglGetVideoDeviceNV:QWORD
|
||||
COMM glad_wglGetVideoInfoNV:QWORD
|
||||
COMM glad_wglIsEnabledFrameLockI3D:QWORD
|
||||
COMM glad_wglIsEnabledGenlockI3D:QWORD
|
||||
COMM glad_wglJoinSwapGroupNV:QWORD
|
||||
COMM glad_wglLoadDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglLockVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglMakeAssociatedContextCurrentAMD:QWORD
|
||||
COMM glad_wglMakeContextCurrentARB:QWORD
|
||||
COMM glad_wglMakeContextCurrentEXT:QWORD
|
||||
COMM glad_wglQueryCurrentContextNV:QWORD
|
||||
COMM glad_wglQueryFrameCountNV:QWORD
|
||||
COMM glad_wglQueryFrameLockMasterI3D:QWORD
|
||||
COMM glad_wglQueryFrameTrackingI3D:QWORD
|
||||
COMM glad_wglQueryGenlockMaxSourceDelayI3D:QWORD
|
||||
COMM glad_wglQueryMaxSwapGroupsNV:QWORD
|
||||
COMM glad_wglQueryPbufferARB:QWORD
|
||||
COMM glad_wglQueryPbufferEXT:QWORD
|
||||
COMM glad_wglQuerySwapGroupNV:QWORD
|
||||
COMM glad_wglQueryVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglReleaseImageBufferEventsI3D:QWORD
|
||||
COMM glad_wglReleasePbufferDCARB:QWORD
|
||||
COMM glad_wglReleasePbufferDCEXT:QWORD
|
||||
COMM glad_wglReleaseTexImageARB:QWORD
|
||||
COMM glad_wglReleaseVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglReleaseVideoDeviceNV:QWORD
|
||||
COMM glad_wglReleaseVideoImageNV:QWORD
|
||||
COMM glad_wglResetFrameCountNV:QWORD
|
||||
COMM glad_wglRestoreBufferRegionARB:QWORD
|
||||
COMM glad_wglSaveBufferRegionARB:QWORD
|
||||
COMM glad_wglSendPbufferToVideoNV:QWORD
|
||||
COMM glad_wglSetDigitalVideoParametersI3D:QWORD
|
||||
COMM glad_wglSetGammaTableI3D:QWORD
|
||||
COMM glad_wglSetGammaTableParametersI3D:QWORD
|
||||
COMM glad_wglSetPbufferAttribARB:QWORD
|
||||
COMM glad_wglSetStereoEmitterState3DL:QWORD
|
||||
COMM glad_wglSwapBuffersMscOML:QWORD
|
||||
COMM glad_wglSwapIntervalEXT:QWORD
|
||||
COMM glad_wglSwapLayerBuffersMscOML:QWORD
|
||||
COMM glad_wglWaitForMscOML:QWORD
|
||||
COMM glad_wglWaitForSbcOML:QWORD
|
||||
COMM infolog:QWORD:0200H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
__0ED14FEE_winpackagefamily@h DB 01H
|
||||
__F92EF742_winapifamily@h DB 01H
|
||||
__22E515EB_sdkddkver@h DB 01H
|
||||
__D359774B_concurrencysal@h DB 01H
|
||||
__0E7B27E3_sal@h DB 01H
|
||||
__C320D00B_vadefs@h DB 01H
|
||||
__E4023321_vcruntime@h DB 01H
|
||||
__045EB48A_excpt@h DB 01H
|
||||
__8FF200A2_stdarg@h DB 01H
|
||||
__29F49F40_specstrings_undef@h DB 01H
|
||||
__D0F42932_specstrings_strict@h DB 01H
|
||||
__F00405FD_sdv_driverspecs@h DB 01H
|
||||
__173E09CA_driverspecs@h DB 01H
|
||||
__9A452361_specstrings@h DB 01H
|
||||
__1B0272D9_corecrt@h DB 01H
|
||||
__74484FB3_corecrt_wctype@h DB 01H
|
||||
__1EC467ED_ctype@h DB 01H
|
||||
__98517906_kernelspecs@h DB 01H
|
||||
__D3497022_basetsd@h DB 01H
|
||||
__61CC25A1_errno@h DB 01H
|
||||
__1A10C8D2_vcruntime_string@h DB 01H
|
||||
__E4C945B4_corecrt_memcpy_s@h DB 01H
|
||||
__8EAFF484_corecrt_memory@h DB 01H
|
||||
__6490AEC5_corecrt_wstring@h DB 01H
|
||||
__E8295E1E_string@h DB 01H
|
||||
__7FCB5136_guiddef@h DB 01H
|
||||
__FF8A9E11_pshpack4@h DB 01H
|
||||
__D5438902_poppack@h DB 01H
|
||||
__FB07E2A3_pshpack2@h DB 01H
|
||||
__F6906775_pshpack8@h DB 01H
|
||||
__F9415CFA_pshpack1@h DB 01H
|
||||
__E58C6F1C_apiset@h DB 01H
|
||||
__A5C52262_ktmtypes@h DB 01H
|
||||
__FBBA8F9D_winnt@h DB 01H
|
||||
__A32D3D2C_minwindef@h DB 01H
|
||||
__7D798299_windef@h DB 01H
|
||||
__9AE108E9_apisetcconv@h DB 01H
|
||||
__9CE53D2C_minwinbase@h DB 01H
|
||||
__5D0AA210_apiquery2@h DB 01H
|
||||
__4DD4E726_processenv@h DB 01H
|
||||
__3575CC96_fileapi@h DB 01H
|
||||
__8EA220E6_fileapifromapp@h DB 01H
|
||||
__BF9B31FE_debugapi@h DB 01H
|
||||
__C3AFE134_utilapiset@h DB 01H
|
||||
__76F69E51_handleapi@h DB 01H
|
||||
__7E63D784_errhandlingapi@h DB 01H
|
||||
__FFA7003C_fibersapi@h DB 01H
|
||||
__8971CECF_namedpipeapi@h DB 01H
|
||||
__46C9D8A6_profileapi@h DB 01H
|
||||
__98D4F0A3_heapapi@h DB 01H
|
||||
__50EF2A88_ioapiset@h DB 01H
|
||||
__92EA1464_synchapi@h DB 01H
|
||||
__A53D8AED_interlockedapi@h DB 01H
|
||||
__B506CAAF_processthreadsapi@h DB 01H
|
||||
__FF735694_sysinfoapi@h DB 01H
|
||||
__29589789_memoryapi@h DB 01H
|
||||
__E9C7A663_enclaveapi@h DB 01H
|
||||
__D035F9F7_threadpoollegacyapiset@h DB 01H
|
||||
__C899130C_threadpoolapiset@h DB 01H
|
||||
__E0441EE7_jobapi@h DB 01H
|
||||
__CEF86838_jobapi2@h DB 01H
|
||||
__35AC6B9A_wow64apiset@h DB 01H
|
||||
__C8AE41A5_libloaderapi@h DB 01H
|
||||
__CC9E232D_securitybaseapi@h DB 01H
|
||||
__C9D0C9B8_namespaceapi@h DB 01H
|
||||
__30FF9CAD_systemtopologyapi@h DB 01H
|
||||
__4D358795_processtopologyapi@h DB 01H
|
||||
__40446D10_securityappcontainer@h DB 01H
|
||||
__3A952EDF_realtimeapiset@h DB 01H
|
||||
__F4865F4B_winerror@h DB 01H
|
||||
__53C1BD93_timezoneapi@h DB 01H
|
||||
__1FFBEDBF_winbase@h DB 01H
|
||||
__43D3FA34_wingdi@h DB 01H
|
||||
__D24A7391_tvout@h DB 01H
|
||||
__7713A6C8_winuser@h DB 01H
|
||||
__0B345F71_datetimeapi@h DB 01H
|
||||
__9AC6960C_winnls@h DB 01H
|
||||
__973A40A8_stringapiset@h DB 01H
|
||||
__CC46FEE2_wincontypes@h DB 01H
|
||||
__97D70BE1_consoleapi@h DB 01H
|
||||
__27EC5E18_consoleapi2@h DB 01H
|
||||
__262E342F_consoleapi3@h DB 01H
|
||||
__641DCD70_wincon@h DB 01H
|
||||
__5A96C7A7_verrsrc@h DB 01H
|
||||
__B69C6FF2_winver@h DB 01H
|
||||
__7AEB8C37_reason@h DB 01H
|
||||
__59F1A8A9_winreg@h DB 01H
|
||||
__EE0E2B7F_wnnc@h DB 01H
|
||||
__DCDB7054_winnetwk@h DB 01H
|
||||
__81DDEDE3_stralign@h DB 01H
|
||||
__2134D1B4_winsvc@h DB 01H
|
||||
__11C07376_mcx@h DB 01H
|
||||
__577CE3E7_ime_cmodes@h DB 01H
|
||||
__1E72C31E_imm@h DB 01H
|
||||
__E15BF856_windows@h DB 01H
|
||||
__CBBACB16_ssgc_framework@h DB 01H
|
||||
__F0C66064_ssgc_internal@h DB 01H
|
||||
__BB2DBE6D_stdint@h DB 01H
|
||||
__0E25A6E3_khrplatform@h DB 01H
|
||||
__4AFAC916_glad_gl@h DB 01H
|
||||
__D52B075C_glad_wgl@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__94128AEC_glfw3@h DB 01H
|
||||
__FC01764F_mmintrin@h DB 01H
|
||||
__45DED006_corecrt_malloc@h DB 01H
|
||||
__FA77ED4C_malloc@h DB 01H
|
||||
__64D75F75_xmmintrin@h DB 01H
|
||||
__01B5D6B9_emmintrin@h DB 01H
|
||||
__DE14BE30_pmmintrin@h DB 01H
|
||||
__6ECDCDB2_tmmintrin@h DB 01H
|
||||
__47F6D831_smmintrin@h DB 01H
|
||||
__229451FD_nmmintrin@h DB 01H
|
||||
__F72FABB3_wmmintrin@h DB 01H
|
||||
__3CBBE6B4_zmmintrin@h DB 01H
|
||||
__0BAF447E_immintrin@h DB 01H
|
||||
__44420885_corecrt_stdio_config@h DB 01H
|
||||
__AB601D8D_corecrt_wstdio@h DB 01H
|
||||
__C1EC35D3_stdio@h DB 01H
|
||||
__FD6DBD68_corecrt_search@h DB 01H
|
||||
__E2E33A61_corecrt_wstdlib@h DB 01H
|
||||
__055B9052_limits@h DB 01H
|
||||
__6E5ACABA_stdlib@h DB 01H
|
||||
__014E939F_stb_image@h DB 01H
|
||||
__9D113FA1_StgSharpC@h DB 01H
|
||||
__89AE49E7_stdalign@h DB 01H
|
||||
__80AF39C6_linear@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC set_m128ptr_default
|
||||
PUBLIC __JustMyCode_Default
|
||||
EXTRN _RTC_InitBase:PROC
|
||||
EXTRN _RTC_Shutdown:PROC
|
||||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||||
EXTRN defaultVecPtr:QWORD
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$set_m128ptr_default DD imagerel $LN3
|
||||
DD imagerel $LN3+44
|
||||
DD imagerel $unwind$set_m128ptr_default
|
||||
pdata ENDS
|
||||
; COMDAT rtc$TMZ
|
||||
rtc$TMZ SEGMENT
|
||||
_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown
|
||||
rtc$TMZ ENDS
|
||||
; COMDAT rtc$IMZ
|
||||
rtc$IMZ SEGMENT
|
||||
_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase
|
||||
rtc$IMZ ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$set_m128ptr_default DD 025050f01H
|
||||
DD 010a230fH
|
||||
DD 07003001dH
|
||||
DD 05002H
|
||||
xdata ENDS
|
||||
; Function compile flags: /Odt
|
||||
; COMDAT __JustMyCode_Default
|
||||
_TEXT SEGMENT
|
||||
__JustMyCode_Default PROC ; COMDAT
|
||||
00000 c2 00 00 ret 0
|
||||
__JustMyCode_Default ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgSharpC\linear.c
|
||||
; COMDAT set_m128ptr_default
|
||||
_TEXT SEGMENT
|
||||
set_m128ptr_default PROC ; COMDAT
|
||||
|
||||
; 22 : {
|
||||
|
||||
$LN3:
|
||||
00000 40 55 push rbp
|
||||
00002 57 push rdi
|
||||
00003 48 81 ec e8 00
|
||||
00 00 sub rsp, 232 ; 000000e8H
|
||||
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
0000f 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__80AF39C6_linear@c
|
||||
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
|
||||
; 23 : return defaultVecPtr;
|
||||
|
||||
0001b 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR defaultVecPtr
|
||||
|
||||
; 24 : }
|
||||
|
||||
00022 48 8d a5 c8 00
|
||||
00 00 lea rsp, QWORD PTR [rbp+200]
|
||||
00029 5f pop rdi
|
||||
0002a 5d pop rbp
|
||||
0002b c3 ret 0
|
||||
set_m128ptr_default ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
Binary file not shown.
+330
-396
@@ -1,4 +1,4 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.38.33130.0
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.39.33519.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
@@ -6,195 +6,18 @@ INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
_DATA SEGMENT
|
||||
COMM GLAD_WGL_VERSION_1_0:DWORD
|
||||
COMM GLAD_WGL_3DFX_multisample:DWORD
|
||||
COMM GLAD_WGL_3DL_stereo_control:DWORD
|
||||
COMM GLAD_WGL_AMD_gpu_association:DWORD
|
||||
COMM GLAD_WGL_ARB_buffer_region:DWORD
|
||||
COMM GLAD_WGL_ARB_context_flush_control:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context_no_error:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context_profile:DWORD
|
||||
COMM GLAD_WGL_ARB_create_context_robustness:DWORD
|
||||
COMM GLAD_WGL_ARB_extensions_string:DWORD
|
||||
COMM GLAD_WGL_ARB_framebuffer_sRGB:DWORD
|
||||
COMM GLAD_WGL_ARB_make_current_read:DWORD
|
||||
COMM GLAD_WGL_ARB_multisample:DWORD
|
||||
COMM GLAD_WGL_ARB_pbuffer:DWORD
|
||||
COMM GLAD_WGL_ARB_pixel_format:DWORD
|
||||
COMM GLAD_WGL_ARB_pixel_format_float:DWORD
|
||||
COMM GLAD_WGL_ARB_render_texture:DWORD
|
||||
COMM GLAD_WGL_ARB_robustness_application_isolation:DWORD
|
||||
COMM GLAD_WGL_ARB_robustness_share_group_isolation:DWORD
|
||||
COMM GLAD_WGL_ATI_pixel_format_float:DWORD
|
||||
COMM GLAD_WGL_ATI_render_texture_rectangle:DWORD
|
||||
COMM GLAD_WGL_EXT_colorspace:DWORD
|
||||
COMM GLAD_WGL_EXT_create_context_es2_profile:DWORD
|
||||
COMM GLAD_WGL_EXT_create_context_es_profile:DWORD
|
||||
COMM GLAD_WGL_EXT_depth_float:DWORD
|
||||
COMM GLAD_WGL_EXT_display_color_table:DWORD
|
||||
COMM GLAD_WGL_EXT_extensions_string:DWORD
|
||||
COMM GLAD_WGL_EXT_framebuffer_sRGB:DWORD
|
||||
COMM GLAD_WGL_EXT_make_current_read:DWORD
|
||||
COMM GLAD_WGL_EXT_multisample:DWORD
|
||||
COMM GLAD_WGL_EXT_pbuffer:DWORD
|
||||
COMM GLAD_WGL_EXT_pixel_format:DWORD
|
||||
COMM GLAD_WGL_EXT_pixel_format_packed_float:DWORD
|
||||
COMM GLAD_WGL_EXT_swap_control:DWORD
|
||||
COMM GLAD_WGL_EXT_swap_control_tear:DWORD
|
||||
COMM GLAD_WGL_I3D_digital_video_control:DWORD
|
||||
COMM GLAD_WGL_I3D_gamma:DWORD
|
||||
COMM GLAD_WGL_I3D_genlock:DWORD
|
||||
COMM GLAD_WGL_I3D_image_buffer:DWORD
|
||||
COMM GLAD_WGL_I3D_swap_frame_lock:DWORD
|
||||
COMM GLAD_WGL_I3D_swap_frame_usage:DWORD
|
||||
COMM GLAD_WGL_NV_DX_interop:DWORD
|
||||
COMM GLAD_WGL_NV_DX_interop2:DWORD
|
||||
COMM GLAD_WGL_NV_copy_image:DWORD
|
||||
COMM GLAD_WGL_NV_delay_before_swap:DWORD
|
||||
COMM GLAD_WGL_NV_float_buffer:DWORD
|
||||
COMM GLAD_WGL_NV_gpu_affinity:DWORD
|
||||
COMM GLAD_WGL_NV_multigpu_context:DWORD
|
||||
COMM GLAD_WGL_NV_multisample_coverage:DWORD
|
||||
COMM GLAD_WGL_NV_present_video:DWORD
|
||||
COMM GLAD_WGL_NV_render_depth_texture:DWORD
|
||||
COMM GLAD_WGL_NV_render_texture_rectangle:DWORD
|
||||
COMM GLAD_WGL_NV_swap_group:DWORD
|
||||
COMM GLAD_WGL_NV_vertex_array_range:DWORD
|
||||
COMM GLAD_WGL_NV_video_capture:DWORD
|
||||
COMM GLAD_WGL_NV_video_output:DWORD
|
||||
COMM GLAD_WGL_OML_sync_control:DWORD
|
||||
COMM glad_wglAllocateMemoryNV:QWORD
|
||||
COMM glad_wglAssociateImageBufferEventsI3D:QWORD
|
||||
COMM glad_wglBeginFrameTrackingI3D:QWORD
|
||||
COMM glad_wglBindDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglBindSwapBarrierNV:QWORD
|
||||
COMM glad_wglBindTexImageARB:QWORD
|
||||
COMM glad_wglBindVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglBindVideoDeviceNV:QWORD
|
||||
COMM glad_wglBindVideoImageNV:QWORD
|
||||
COMM glad_wglBlitContextFramebufferAMD:QWORD
|
||||
COMM glad_wglChoosePixelFormatARB:QWORD
|
||||
COMM glad_wglChoosePixelFormatEXT:QWORD
|
||||
COMM glad_wglCopyImageSubDataNV:QWORD
|
||||
COMM glad_wglCreateAffinityDCNV:QWORD
|
||||
COMM glad_wglCreateAssociatedContextAMD:QWORD
|
||||
COMM glad_wglCreateAssociatedContextAttribsAMD:QWORD
|
||||
COMM glad_wglCreateBufferRegionARB:QWORD
|
||||
COMM glad_wglCreateContextAttribsARB:QWORD
|
||||
COMM glad_wglCreateDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglCreateImageBufferI3D:QWORD
|
||||
COMM glad_wglCreatePbufferARB:QWORD
|
||||
COMM glad_wglCreatePbufferEXT:QWORD
|
||||
COMM glad_wglDXCloseDeviceNV:QWORD
|
||||
COMM glad_wglDXLockObjectsNV:QWORD
|
||||
COMM glad_wglDXObjectAccessNV:QWORD
|
||||
COMM glad_wglDXOpenDeviceNV:QWORD
|
||||
COMM glad_wglDXRegisterObjectNV:QWORD
|
||||
COMM glad_wglDXSetResourceShareHandleNV:QWORD
|
||||
COMM glad_wglDXUnlockObjectsNV:QWORD
|
||||
COMM glad_wglDXUnregisterObjectNV:QWORD
|
||||
COMM glad_wglDelayBeforeSwapNV:QWORD
|
||||
COMM glad_wglDeleteAssociatedContextAMD:QWORD
|
||||
COMM glad_wglDeleteBufferRegionARB:QWORD
|
||||
COMM glad_wglDeleteDCNV:QWORD
|
||||
COMM glad_wglDestroyDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglDestroyImageBufferI3D:QWORD
|
||||
COMM glad_wglDestroyPbufferARB:QWORD
|
||||
COMM glad_wglDestroyPbufferEXT:QWORD
|
||||
COMM glad_wglDisableFrameLockI3D:QWORD
|
||||
COMM glad_wglDisableGenlockI3D:QWORD
|
||||
COMM glad_wglEnableFrameLockI3D:QWORD
|
||||
COMM glad_wglEnableGenlockI3D:QWORD
|
||||
COMM glad_wglEndFrameTrackingI3D:QWORD
|
||||
COMM glad_wglEnumGpuDevicesNV:QWORD
|
||||
COMM glad_wglEnumGpusFromAffinityDCNV:QWORD
|
||||
COMM glad_wglEnumGpusNV:QWORD
|
||||
COMM glad_wglEnumerateVideoCaptureDevicesNV:QWORD
|
||||
COMM glad_wglEnumerateVideoDevicesNV:QWORD
|
||||
COMM glad_wglFreeMemoryNV:QWORD
|
||||
COMM glad_wglGenlockSampleRateI3D:QWORD
|
||||
COMM glad_wglGenlockSourceDelayI3D:QWORD
|
||||
COMM glad_wglGenlockSourceEdgeI3D:QWORD
|
||||
COMM glad_wglGenlockSourceI3D:QWORD
|
||||
COMM glad_wglGetContextGPUIDAMD:QWORD
|
||||
COMM glad_wglGetCurrentAssociatedContextAMD:QWORD
|
||||
COMM glad_wglGetCurrentReadDCARB:QWORD
|
||||
COMM glad_wglGetCurrentReadDCEXT:QWORD
|
||||
COMM glad_wglGetDigitalVideoParametersI3D:QWORD
|
||||
COMM glad_wglGetExtensionsStringARB:QWORD
|
||||
COMM glad_wglGetExtensionsStringEXT:QWORD
|
||||
COMM glad_wglGetFrameUsageI3D:QWORD
|
||||
COMM glad_wglGetGPUIDsAMD:QWORD
|
||||
COMM glad_wglGetGPUInfoAMD:QWORD
|
||||
COMM glad_wglGetGammaTableI3D:QWORD
|
||||
COMM glad_wglGetGammaTableParametersI3D:QWORD
|
||||
COMM glad_wglGetGenlockSampleRateI3D:QWORD
|
||||
COMM glad_wglGetGenlockSourceDelayI3D:QWORD
|
||||
COMM glad_wglGetGenlockSourceEdgeI3D:QWORD
|
||||
COMM glad_wglGetGenlockSourceI3D:QWORD
|
||||
COMM glad_wglGetMscRateOML:QWORD
|
||||
COMM glad_wglGetPbufferDCARB:QWORD
|
||||
COMM glad_wglGetPbufferDCEXT:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribfvARB:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribfvEXT:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribivARB:QWORD
|
||||
COMM glad_wglGetPixelFormatAttribivEXT:QWORD
|
||||
COMM glad_wglGetSwapIntervalEXT:QWORD
|
||||
COMM glad_wglGetSyncValuesOML:QWORD
|
||||
COMM glad_wglGetVideoDeviceNV:QWORD
|
||||
COMM glad_wglGetVideoInfoNV:QWORD
|
||||
COMM glad_wglIsEnabledFrameLockI3D:QWORD
|
||||
COMM glad_wglIsEnabledGenlockI3D:QWORD
|
||||
COMM glad_wglJoinSwapGroupNV:QWORD
|
||||
COMM glad_wglLoadDisplayColorTableEXT:QWORD
|
||||
COMM glad_wglLockVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglMakeAssociatedContextCurrentAMD:QWORD
|
||||
COMM glad_wglMakeContextCurrentARB:QWORD
|
||||
COMM glad_wglMakeContextCurrentEXT:QWORD
|
||||
COMM glad_wglQueryCurrentContextNV:QWORD
|
||||
COMM glad_wglQueryFrameCountNV:QWORD
|
||||
COMM glad_wglQueryFrameLockMasterI3D:QWORD
|
||||
COMM glad_wglQueryFrameTrackingI3D:QWORD
|
||||
COMM glad_wglQueryGenlockMaxSourceDelayI3D:QWORD
|
||||
COMM glad_wglQueryMaxSwapGroupsNV:QWORD
|
||||
COMM glad_wglQueryPbufferARB:QWORD
|
||||
COMM glad_wglQueryPbufferEXT:QWORD
|
||||
COMM glad_wglQuerySwapGroupNV:QWORD
|
||||
COMM glad_wglQueryVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglReleaseImageBufferEventsI3D:QWORD
|
||||
COMM glad_wglReleasePbufferDCARB:QWORD
|
||||
COMM glad_wglReleasePbufferDCEXT:QWORD
|
||||
COMM glad_wglReleaseTexImageARB:QWORD
|
||||
COMM glad_wglReleaseVideoCaptureDeviceNV:QWORD
|
||||
COMM glad_wglReleaseVideoDeviceNV:QWORD
|
||||
COMM glad_wglReleaseVideoImageNV:QWORD
|
||||
COMM glad_wglResetFrameCountNV:QWORD
|
||||
COMM glad_wglRestoreBufferRegionARB:QWORD
|
||||
COMM glad_wglSaveBufferRegionARB:QWORD
|
||||
COMM glad_wglSendPbufferToVideoNV:QWORD
|
||||
COMM glad_wglSetDigitalVideoParametersI3D:QWORD
|
||||
COMM glad_wglSetGammaTableI3D:QWORD
|
||||
COMM glad_wglSetGammaTableParametersI3D:QWORD
|
||||
COMM glad_wglSetPbufferAttribARB:QWORD
|
||||
COMM glad_wglSetStereoEmitterState3DL:QWORD
|
||||
COMM glad_wglSwapBuffersMscOML:QWORD
|
||||
COMM glad_wglSwapIntervalEXT:QWORD
|
||||
COMM glad_wglSwapLayerBuffersMscOML:QWORD
|
||||
COMM glad_wglWaitForMscOML:QWORD
|
||||
COMM glad_wglWaitForSbcOML:QWORD
|
||||
COMM infolog:QWORD:0200H
|
||||
COMM infolog:BYTE:0200H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
__0ED14FEE_winpackagefamily@h DB 01H
|
||||
__F92EF742_winapifamily@h DB 01H
|
||||
__22E515EB_sdkddkver@h DB 01H
|
||||
__D359774B_concurrencysal@h DB 01H
|
||||
__0E7B27E3_sal@h DB 01H
|
||||
__C320D00B_vadefs@h DB 01H
|
||||
__E4023321_vcruntime@h DB 01H
|
||||
__045EB48A_excpt@h DB 01H
|
||||
__8FF200A2_stdarg@h DB 01H
|
||||
__4B783B3C_concurrencysal@h DB 01H
|
||||
__137BB1BE_sal@h DB 01H
|
||||
__805F4069_vadefs@h DB 01H
|
||||
__1EAACA9B_vcruntime@h DB 01H
|
||||
__1227BCE2_excpt@h DB 01H
|
||||
__CC8D90C0_stdarg@h DB 01H
|
||||
__29F49F40_specstrings_undef@h DB 01H
|
||||
__D0F42932_specstrings_strict@h DB 01H
|
||||
__F00405FD_sdv_driverspecs@h DB 01H
|
||||
@@ -206,7 +29,7 @@ __1EC467ED_ctype@h DB 01H
|
||||
__98517906_kernelspecs@h DB 01H
|
||||
__D3497022_basetsd@h DB 01H
|
||||
__61CC25A1_errno@h DB 01H
|
||||
__1A10C8D2_vcruntime_string@h DB 01H
|
||||
__0504B279_vcruntime_string@h DB 01H
|
||||
__E4C945B4_corecrt_memcpy_s@h DB 01H
|
||||
__8EAFF484_corecrt_memory@h DB 01H
|
||||
__6490AEC5_corecrt_wstring@h DB 01H
|
||||
@@ -281,35 +104,35 @@ __11C07376_mcx@h DB 01H
|
||||
__577CE3E7_ime_cmodes@h DB 01H
|
||||
__1E72C31E_imm@h DB 01H
|
||||
__E15BF856_windows@h DB 01H
|
||||
__CBBACB16_ssgc_framework@h DB 01H
|
||||
__F0C66064_ssgc_internal@h DB 01H
|
||||
__BB2DBE6D_stdint@h DB 01H
|
||||
__0E25A6E3_khrplatform@h DB 01H
|
||||
__4AFAC916_glad_gl@h DB 01H
|
||||
__D52B075C_glad_wgl@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__94128AEC_glfw3@h DB 01H
|
||||
__FC01764F_mmintrin@h DB 01H
|
||||
__A19B9DB6_ssgc_framework@h DB 01H
|
||||
__5BC5AF51_mmintrin@h DB 01H
|
||||
__45DED006_corecrt_malloc@h DB 01H
|
||||
__FA77ED4C_malloc@h DB 01H
|
||||
__64D75F75_xmmintrin@h DB 01H
|
||||
__01B5D6B9_emmintrin@h DB 01H
|
||||
__DE14BE30_pmmintrin@h DB 01H
|
||||
__6ECDCDB2_tmmintrin@h DB 01H
|
||||
__47F6D831_smmintrin@h DB 01H
|
||||
__229451FD_nmmintrin@h DB 01H
|
||||
__F72FABB3_wmmintrin@h DB 01H
|
||||
__3CBBE6B4_zmmintrin@h DB 01H
|
||||
__0BAF447E_immintrin@h DB 01H
|
||||
__9E7FA6CF_xmmintrin@h DB 01H
|
||||
__61B03275_ssgc_internal@h DB 01H
|
||||
__F8522E0F_stdint@h DB 01H
|
||||
__874AB8BA_khrplatform@h DB 01H
|
||||
__8DCB230D_gl@h DB 01H
|
||||
__5F89FF5A_wgl@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__B47D1049_glfw3@h DB 01H
|
||||
__FB1D2F03_emmintrin@h DB 01H
|
||||
__24BC478A_pmmintrin@h DB 01H
|
||||
__94653408_tmmintrin@h DB 01H
|
||||
__BD5E218B_smmintrin@h DB 01H
|
||||
__D83CA847_nmmintrin@h DB 01H
|
||||
__0D875209_wmmintrin@h DB 01H
|
||||
__C6131F0E_zmmintrin@h DB 01H
|
||||
__F107BDC4_immintrin@h DB 01H
|
||||
__44420885_corecrt_stdio_config@h DB 01H
|
||||
__AB601D8D_corecrt_wstdio@h DB 01H
|
||||
__C1EC35D3_stdio@h DB 01H
|
||||
__FD6DBD68_corecrt_search@h DB 01H
|
||||
__E2E33A61_corecrt_wstdlib@h DB 01H
|
||||
__055B9052_limits@h DB 01H
|
||||
__46240030_limits@h DB 01H
|
||||
__6E5ACABA_stdlib@h DB 01H
|
||||
__014E939F_stb_image@h DB 01H
|
||||
__9D113FA1_StgSharpC@h DB 01H
|
||||
__5274102E_stb_image@h DB 01H
|
||||
__CE2BBC10_StgSharpC@h DB 01H
|
||||
__54E5184D_mat2@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC transpose2to3
|
||||
@@ -320,17 +143,20 @@ EXTRN __imp__aligned_free:PROC
|
||||
EXTRN _RTC_InitBase:PROC
|
||||
EXTRN _RTC_Shutdown:PROC
|
||||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||||
EXTRN defaultVecPtr:QWORD
|
||||
EXTRN __GSHandlerCheck:PROC
|
||||
EXTRN __security_check_cookie:PROC
|
||||
EXTRN __security_cookie:QWORD
|
||||
EXTRN _fltused:DWORD
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$transpose2to3 DD imagerel $LN3
|
||||
DD imagerel $LN3+321
|
||||
DD imagerel $LN3+461
|
||||
DD imagerel $unwind$transpose2to3
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$transpose2to4 DD imagerel $LN3
|
||||
DD imagerel $LN3+356
|
||||
DD imagerel $LN3+537
|
||||
DD imagerel $unwind$transpose2to4
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
@@ -354,19 +180,33 @@ $unwind$deinit_mat2 DD 025051301H
|
||||
DD 07007001dH
|
||||
DD 05006H
|
||||
xdata ENDS
|
||||
; COMDAT voltbl
|
||||
voltbl SEGMENT
|
||||
_volmd DW 022H
|
||||
DW 0200H
|
||||
voltbl ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$transpose2to4 DD 025051801H
|
||||
$unwind$transpose2to4 DD 025052919H
|
||||
DD 01132318H
|
||||
DD 0700c0029H
|
||||
DD 0700c0041H
|
||||
DD 0500bH
|
||||
DD imagerel __GSHandlerCheck
|
||||
DD 01f8H
|
||||
xdata ENDS
|
||||
; COMDAT voltbl
|
||||
voltbl SEGMENT
|
||||
_volmd DW 022H
|
||||
DW 01b4H
|
||||
voltbl ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$transpose2to3 DD 025051801H
|
||||
$unwind$transpose2to3 DD 025052919H
|
||||
DD 01132318H
|
||||
DD 0700c0029H
|
||||
DD 0700c003bH
|
||||
DD 0500bH
|
||||
DD imagerel __GSHandlerCheck
|
||||
DD 01c8H
|
||||
xdata ENDS
|
||||
; Function compile flags: /Odt
|
||||
; COMDAT __JustMyCode_Default
|
||||
@@ -382,7 +222,7 @@ _TEXT SEGMENT
|
||||
mat$ = 224
|
||||
deinit_mat2 PROC ; COMDAT
|
||||
|
||||
; 28 : {
|
||||
; 26 : {
|
||||
|
||||
$LN3:
|
||||
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
@@ -395,14 +235,14 @@ $LN3:
|
||||
00 00 lea rcx, OFFSET FLAT:__54E5184D_mat2@c
|
||||
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
|
||||
; 29 : _aligned_free(mat);
|
||||
; 27 : _aligned_free(mat);
|
||||
|
||||
0001f 48 8b 8d e0 00
|
||||
00 00 mov rcx, QWORD PTR mat$[rbp]
|
||||
00026 ff 15 00 00 00
|
||||
00 call QWORD PTR __imp__aligned_free
|
||||
|
||||
; 30 : }
|
||||
; 28 : }
|
||||
|
||||
0002c 48 8d a5 c8 00
|
||||
00 00 lea rsp, QWORD PTR [rbp+200]
|
||||
@@ -417,132 +257,185 @@ _TEXT ENDS
|
||||
_TEXT SEGMENT
|
||||
t0$ = 16
|
||||
t1$ = 64
|
||||
source$ = 320
|
||||
target$ = 328
|
||||
$S4$ = 112
|
||||
$S5$ = 160
|
||||
$S6$ = 208
|
||||
$S7$ = 256
|
||||
__$ArrayPad$ = 472
|
||||
source$ = 512
|
||||
target$ = 520
|
||||
transpose2to4 PROC ; COMDAT
|
||||
|
||||
; 17 : {
|
||||
; 15 : {
|
||||
|
||||
$LN3:
|
||||
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||||
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
0000a 55 push rbp
|
||||
0000b 57 push rdi
|
||||
0000c 48 81 ec 48 01
|
||||
00 00 sub rsp, 328 ; 00000148H
|
||||
0000c 48 81 ec 08 02
|
||||
00 00 sub rsp, 520 ; 00000208H
|
||||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00018 48 8d 0d 00 00
|
||||
00018 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR __security_cookie
|
||||
0001f 48 33 c5 xor rax, rbp
|
||||
00022 48 89 85 d8 01
|
||||
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
||||
00029 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__54E5184D_mat2@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00030 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
|
||||
; 18 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 16 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
|
||||
|
||||
00024 b8 08 00 00 00 mov eax, 8
|
||||
00029 48 6b c0 00 imul rax, rax, 0
|
||||
0002d 48 8b 8d 40 01
|
||||
00035 b8 08 00 00 00 mov eax, 8
|
||||
0003a 48 6b c0 00 imul rax, rax, 0
|
||||
0003e 48 8b 8d 00 02
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00034 48 03 c8 add rcx, rax
|
||||
00037 48 8b c1 mov rax, rcx
|
||||
0003a b9 04 00 00 00 mov ecx, 4
|
||||
0003f 48 6b c9 01 imul rcx, rcx, 1
|
||||
00043 48 03 c1 add rax, rcx
|
||||
00046 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00049 b8 08 00 00 00 mov eax, 8
|
||||
0004e 48 6b c0 00 imul rax, rax, 0
|
||||
00052 48 8b 8d 40 01
|
||||
00045 48 03 c8 add rcx, rax
|
||||
00048 48 8b c1 mov rax, rcx
|
||||
0004b b9 04 00 00 00 mov ecx, 4
|
||||
00050 48 6b c9 01 imul rcx, rcx, 1
|
||||
00054 48 03 c1 add rax, rcx
|
||||
00057 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0005a b8 08 00 00 00 mov eax, 8
|
||||
0005f 48 6b c0 00 imul rax, rax, 0
|
||||
00063 48 8b 8d 00 02
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00059 48 03 c8 add rcx, rax
|
||||
0005c 48 8b c1 mov rax, rcx
|
||||
0005f b9 04 00 00 00 mov ecx, 4
|
||||
00064 48 6b c9 00 imul rcx, rcx, 0
|
||||
00068 48 03 c1 add rax, rcx
|
||||
0006b 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
0006e 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
00072 0f 28 c1 movaps xmm0, xmm1
|
||||
00075 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
0006a 48 03 c8 add rcx, rax
|
||||
0006d 48 8b c1 mov rax, rcx
|
||||
00070 b9 04 00 00 00 mov ecx, 4
|
||||
00075 48 6b c9 00 imul rcx, rcx, 0
|
||||
00079 48 03 c1 add rax, rcx
|
||||
0007c 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
0007f 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
00083 0f 28 c1 movaps xmm0, xmm1
|
||||
00086 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
|
||||
; 19 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 17 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
00079 b8 08 00 00 00 mov eax, 8
|
||||
0007e 48 6b c0 00 imul rax, rax, 0
|
||||
00082 48 8b 8d 40 01
|
||||
0008a b8 08 00 00 00 mov eax, 8
|
||||
0008f 48 6b c0 00 imul rax, rax, 0
|
||||
00093 48 8b 8d 00 02
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00089 48 03 c8 add rcx, rax
|
||||
0008c 48 8b c1 mov rax, rcx
|
||||
0008f b9 04 00 00 00 mov ecx, 4
|
||||
00094 48 6b c9 01 imul rcx, rcx, 1
|
||||
00098 48 03 c1 add rax, rcx
|
||||
0009b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0009e b8 08 00 00 00 mov eax, 8
|
||||
000a3 48 6b c0 00 imul rax, rax, 0
|
||||
000a7 48 8b 8d 40 01
|
||||
0009a 48 03 c8 add rcx, rax
|
||||
0009d 48 8b c1 mov rax, rcx
|
||||
000a0 b9 04 00 00 00 mov ecx, 4
|
||||
000a5 48 6b c9 01 imul rcx, rcx, 1
|
||||
000a9 48 03 c1 add rax, rcx
|
||||
000ac 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
000af b8 08 00 00 00 mov eax, 8
|
||||
000b4 48 6b c0 00 imul rax, rax, 0
|
||||
000b8 48 8b 8d 00 02
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000ae 48 03 c8 add rcx, rax
|
||||
000b1 48 8b c1 mov rax, rcx
|
||||
000b4 b9 04 00 00 00 mov ecx, 4
|
||||
000b9 48 6b c9 00 imul rcx, rcx, 0
|
||||
000bd 48 03 c1 add rax, rcx
|
||||
000c0 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
000c3 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
000c7 0f 28 c1 movaps xmm0, xmm1
|
||||
000ca 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
|
||||
000bf 48 03 c8 add rcx, rax
|
||||
000c2 48 8b c1 mov rax, rcx
|
||||
000c5 b9 04 00 00 00 mov ecx, 4
|
||||
000ca 48 6b c9 00 imul rcx, rcx, 0
|
||||
000ce 48 03 c1 add rax, rcx
|
||||
000d1 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
000d4 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
000d8 0f 28 c1 movaps xmm0, xmm1
|
||||
000db 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
|
||||
|
||||
; 20 :
|
||||
; 21 : target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
; 18 :
|
||||
; 19 : target->colum[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
000ce 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR defaultVecPtr
|
||||
000d5 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
000d9 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
|
||||
000dd b8 10 00 00 00 mov eax, 16
|
||||
000e2 48 6b c0 00 imul rax, rax, 0
|
||||
000e6 48 8b 8d 48 01
|
||||
000df 0f 57 c0 xorps xmm0, xmm0
|
||||
000e2 f3 0f 11 45 70 movss DWORD PTR $S4$[rbp], xmm0
|
||||
000e7 0f 57 c0 xorps xmm0, xmm0
|
||||
000ea f3 0f 11 45 74 movss DWORD PTR $S4$[rbp+4], xmm0
|
||||
000ef 0f 57 c0 xorps xmm0, xmm0
|
||||
000f2 f3 0f 11 45 78 movss DWORD PTR $S4$[rbp+8], xmm0
|
||||
000f7 0f 57 c0 xorps xmm0, xmm0
|
||||
000fa f3 0f 11 45 7c movss DWORD PTR $S4$[rbp+12], xmm0
|
||||
000ff 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
00103 0f c6 45 70 88 shufps xmm0, XMMWORD PTR $S4$[rbp], 136 ; 00000088H
|
||||
00108 b8 10 00 00 00 mov eax, 16
|
||||
0010d 48 6b c0 00 imul rax, rax, 0
|
||||
00111 48 8b 8d 08 02
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
000ed 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
00118 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 22 : target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
; 20 : target->colum[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
000f1 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR defaultVecPtr
|
||||
000f8 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
000fc 0f c6 00 dd shufps xmm0, XMMWORD PTR [rax], 221 ; 000000ddH
|
||||
00100 b8 10 00 00 00 mov eax, 16
|
||||
00105 48 6b c0 01 imul rax, rax, 1
|
||||
00109 48 8b 8d 48 01
|
||||
0011c 0f 57 c0 xorps xmm0, xmm0
|
||||
0011f f3 0f 11 85 a0
|
||||
00 00 00 movss DWORD PTR $S5$[rbp], xmm0
|
||||
00127 0f 57 c0 xorps xmm0, xmm0
|
||||
0012a f3 0f 11 85 a4
|
||||
00 00 00 movss DWORD PTR $S5$[rbp+4], xmm0
|
||||
00132 0f 57 c0 xorps xmm0, xmm0
|
||||
00135 f3 0f 11 85 a8
|
||||
00 00 00 movss DWORD PTR $S5$[rbp+8], xmm0
|
||||
0013d 0f 57 c0 xorps xmm0, xmm0
|
||||
00140 f3 0f 11 85 ac
|
||||
00 00 00 movss DWORD PTR $S5$[rbp+12], xmm0
|
||||
00148 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
0014c 0f c6 85 a0 00
|
||||
00 00 dd shufps xmm0, XMMWORD PTR $S5$[rbp], 221 ; 000000ddH
|
||||
00154 b8 10 00 00 00 mov eax, 16
|
||||
00159 48 6b c0 01 imul rax, rax, 1
|
||||
0015d 48 8b 8d 08 02
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00110 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
00164 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 23 : target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
; 21 : target->colum[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
00114 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR defaultVecPtr
|
||||
0011b 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
0011f 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
|
||||
00123 b8 10 00 00 00 mov eax, 16
|
||||
00128 48 6b c0 02 imul rax, rax, 2
|
||||
0012c 48 8b 8d 48 01
|
||||
00168 0f 57 c0 xorps xmm0, xmm0
|
||||
0016b f3 0f 11 85 d0
|
||||
00 00 00 movss DWORD PTR $S6$[rbp], xmm0
|
||||
00173 0f 57 c0 xorps xmm0, xmm0
|
||||
00176 f3 0f 11 85 d4
|
||||
00 00 00 movss DWORD PTR $S6$[rbp+4], xmm0
|
||||
0017e 0f 57 c0 xorps xmm0, xmm0
|
||||
00181 f3 0f 11 85 d8
|
||||
00 00 00 movss DWORD PTR $S6$[rbp+8], xmm0
|
||||
00189 0f 57 c0 xorps xmm0, xmm0
|
||||
0018c f3 0f 11 85 dc
|
||||
00 00 00 movss DWORD PTR $S6$[rbp+12], xmm0
|
||||
00194 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
00198 0f c6 85 d0 00
|
||||
00 00 88 shufps xmm0, XMMWORD PTR $S6$[rbp], 136 ; 00000088H
|
||||
001a0 b8 10 00 00 00 mov eax, 16
|
||||
001a5 48 6b c0 02 imul rax, rax, 2
|
||||
001a9 48 8b 8d 08 02
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00133 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
001b0 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 24 : target->colum[3] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
; 22 : target->colum[3] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
00137 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR defaultVecPtr
|
||||
0013e 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
00142 0f c6 00 dd shufps xmm0, XMMWORD PTR [rax], 221 ; 000000ddH
|
||||
00146 b8 10 00 00 00 mov eax, 16
|
||||
0014b 48 6b c0 03 imul rax, rax, 3
|
||||
0014f 48 8b 8d 48 01
|
||||
001b4 0f 57 c0 xorps xmm0, xmm0
|
||||
001b7 f3 0f 11 85 00
|
||||
01 00 00 movss DWORD PTR $S7$[rbp], xmm0
|
||||
001bf 0f 57 c0 xorps xmm0, xmm0
|
||||
001c2 f3 0f 11 85 04
|
||||
01 00 00 movss DWORD PTR $S7$[rbp+4], xmm0
|
||||
001ca 0f 57 c0 xorps xmm0, xmm0
|
||||
001cd f3 0f 11 85 08
|
||||
01 00 00 movss DWORD PTR $S7$[rbp+8], xmm0
|
||||
001d5 0f 57 c0 xorps xmm0, xmm0
|
||||
001d8 f3 0f 11 85 0c
|
||||
01 00 00 movss DWORD PTR $S7$[rbp+12], xmm0
|
||||
001e0 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
001e4 0f c6 85 00 01
|
||||
00 00 dd shufps xmm0, XMMWORD PTR $S7$[rbp], 221 ; 000000ddH
|
||||
001ec b8 10 00 00 00 mov eax, 16
|
||||
001f1 48 6b c0 03 imul rax, rax, 3
|
||||
001f5 48 8b 8d 08 02
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00156 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
001fc 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 25 : }
|
||||
; 23 : }
|
||||
|
||||
0015a 48 8d a5 28 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+296]
|
||||
00161 5f pop rdi
|
||||
00162 5d pop rbp
|
||||
00163 c3 ret 0
|
||||
00200 48 8b 8d d8 01
|
||||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
||||
00207 48 33 cd xor rcx, rbp
|
||||
0020a e8 00 00 00 00 call __security_check_cookie
|
||||
0020f 48 8d a5 e8 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+488]
|
||||
00216 5f pop rdi
|
||||
00217 5d pop rbp
|
||||
00218 c3 ret 0
|
||||
transpose2to4 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
@@ -551,120 +444,161 @@ _TEXT ENDS
|
||||
_TEXT SEGMENT
|
||||
t0$ = 16
|
||||
t1$ = 64
|
||||
source$ = 320
|
||||
target$ = 328
|
||||
$S1$ = 112
|
||||
$S2$ = 160
|
||||
$S3$ = 208
|
||||
__$ArrayPad$ = 424
|
||||
source$ = 464
|
||||
target$ = 472
|
||||
transpose2to3 PROC ; COMDAT
|
||||
|
||||
; 7 : {
|
||||
; 5 : {
|
||||
|
||||
$LN3:
|
||||
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||||
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
0000a 55 push rbp
|
||||
0000b 57 push rdi
|
||||
0000c 48 81 ec 48 01
|
||||
00 00 sub rsp, 328 ; 00000148H
|
||||
0000c 48 81 ec d8 01
|
||||
00 00 sub rsp, 472 ; 000001d8H
|
||||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00018 48 8d 0d 00 00
|
||||
00018 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR __security_cookie
|
||||
0001f 48 33 c5 xor rax, rbp
|
||||
00022 48 89 85 a8 01
|
||||
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
||||
00029 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__54E5184D_mat2@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00030 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
|
||||
; 8 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 6 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0));
|
||||
|
||||
00024 b8 08 00 00 00 mov eax, 8
|
||||
00029 48 6b c0 00 imul rax, rax, 0
|
||||
0002d 48 8b 8d 40 01
|
||||
00035 b8 08 00 00 00 mov eax, 8
|
||||
0003a 48 6b c0 00 imul rax, rax, 0
|
||||
0003e 48 8b 8d d0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00034 48 03 c8 add rcx, rax
|
||||
00037 48 8b c1 mov rax, rcx
|
||||
0003a b9 04 00 00 00 mov ecx, 4
|
||||
0003f 48 6b c9 01 imul rcx, rcx, 1
|
||||
00043 48 03 c1 add rax, rcx
|
||||
00046 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00049 b8 08 00 00 00 mov eax, 8
|
||||
0004e 48 6b c0 00 imul rax, rax, 0
|
||||
00052 48 8b 8d 40 01
|
||||
00045 48 03 c8 add rcx, rax
|
||||
00048 48 8b c1 mov rax, rcx
|
||||
0004b b9 04 00 00 00 mov ecx, 4
|
||||
00050 48 6b c9 01 imul rcx, rcx, 1
|
||||
00054 48 03 c1 add rax, rcx
|
||||
00057 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0005a b8 08 00 00 00 mov eax, 8
|
||||
0005f 48 6b c0 00 imul rax, rax, 0
|
||||
00063 48 8b 8d d0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00059 48 03 c8 add rcx, rax
|
||||
0005c 48 8b c1 mov rax, rcx
|
||||
0005f b9 04 00 00 00 mov ecx, 4
|
||||
00064 48 6b c9 00 imul rcx, rcx, 0
|
||||
00068 48 03 c1 add rax, rcx
|
||||
0006b 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
0006e 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
00072 0f 28 c1 movaps xmm0, xmm1
|
||||
00075 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
0006a 48 03 c8 add rcx, rax
|
||||
0006d 48 8b c1 mov rax, rcx
|
||||
00070 b9 04 00 00 00 mov ecx, 4
|
||||
00075 48 6b c9 00 imul rcx, rcx, 0
|
||||
00079 48 03 c1 add rax, rcx
|
||||
0007c 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
0007f 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
00083 0f 28 c1 movaps xmm0, xmm1
|
||||
00086 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
|
||||
; 9 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 7 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
00079 b8 08 00 00 00 mov eax, 8
|
||||
0007e 48 6b c0 00 imul rax, rax, 0
|
||||
00082 48 8b 8d 40 01
|
||||
0008a b8 08 00 00 00 mov eax, 8
|
||||
0008f 48 6b c0 00 imul rax, rax, 0
|
||||
00093 48 8b 8d d0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00089 48 03 c8 add rcx, rax
|
||||
0008c 48 8b c1 mov rax, rcx
|
||||
0008f b9 04 00 00 00 mov ecx, 4
|
||||
00094 48 6b c9 01 imul rcx, rcx, 1
|
||||
00098 48 03 c1 add rax, rcx
|
||||
0009b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0009e b8 08 00 00 00 mov eax, 8
|
||||
000a3 48 6b c0 00 imul rax, rax, 0
|
||||
000a7 48 8b 8d 40 01
|
||||
0009a 48 03 c8 add rcx, rax
|
||||
0009d 48 8b c1 mov rax, rcx
|
||||
000a0 b9 04 00 00 00 mov ecx, 4
|
||||
000a5 48 6b c9 01 imul rcx, rcx, 1
|
||||
000a9 48 03 c1 add rax, rcx
|
||||
000ac 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
000af b8 08 00 00 00 mov eax, 8
|
||||
000b4 48 6b c0 00 imul rax, rax, 0
|
||||
000b8 48 8b 8d d0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000ae 48 03 c8 add rcx, rax
|
||||
000b1 48 8b c1 mov rax, rcx
|
||||
000b4 b9 04 00 00 00 mov ecx, 4
|
||||
000b9 48 6b c9 00 imul rcx, rcx, 0
|
||||
000bd 48 03 c1 add rax, rcx
|
||||
000c0 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
000c3 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
000c7 0f 28 c1 movaps xmm0, xmm1
|
||||
000ca 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
|
||||
000bf 48 03 c8 add rcx, rax
|
||||
000c2 48 8b c1 mov rax, rcx
|
||||
000c5 b9 04 00 00 00 mov ecx, 4
|
||||
000ca 48 6b c9 00 imul rcx, rcx, 0
|
||||
000ce 48 03 c1 add rax, rcx
|
||||
000d1 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
000d4 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
000d8 0f 28 c1 movaps xmm0, xmm1
|
||||
000db 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
|
||||
|
||||
; 10 :
|
||||
; 11 : target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
; 8 :
|
||||
; 9 : target->colum[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
000ce 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR defaultVecPtr
|
||||
000d5 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
000d9 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
|
||||
000dd b8 10 00 00 00 mov eax, 16
|
||||
000e2 48 6b c0 00 imul rax, rax, 0
|
||||
000e6 48 8b 8d 48 01
|
||||
000df 0f 57 c0 xorps xmm0, xmm0
|
||||
000e2 f3 0f 11 45 70 movss DWORD PTR $S1$[rbp], xmm0
|
||||
000e7 0f 57 c0 xorps xmm0, xmm0
|
||||
000ea f3 0f 11 45 74 movss DWORD PTR $S1$[rbp+4], xmm0
|
||||
000ef 0f 57 c0 xorps xmm0, xmm0
|
||||
000f2 f3 0f 11 45 78 movss DWORD PTR $S1$[rbp+8], xmm0
|
||||
000f7 0f 57 c0 xorps xmm0, xmm0
|
||||
000fa f3 0f 11 45 7c movss DWORD PTR $S1$[rbp+12], xmm0
|
||||
000ff 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
00103 0f c6 45 70 88 shufps xmm0, XMMWORD PTR $S1$[rbp], 136 ; 00000088H
|
||||
00108 b8 10 00 00 00 mov eax, 16
|
||||
0010d 48 6b c0 00 imul rax, rax, 0
|
||||
00111 48 8b 8d d8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
000ed 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
00118 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 12 : target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
; 10 : target->colum[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
000f1 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR defaultVecPtr
|
||||
000f8 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
000fc 0f c6 00 dd shufps xmm0, XMMWORD PTR [rax], 221 ; 000000ddH
|
||||
00100 b8 10 00 00 00 mov eax, 16
|
||||
00105 48 6b c0 01 imul rax, rax, 1
|
||||
00109 48 8b 8d 48 01
|
||||
0011c 0f 57 c0 xorps xmm0, xmm0
|
||||
0011f f3 0f 11 85 a0
|
||||
00 00 00 movss DWORD PTR $S2$[rbp], xmm0
|
||||
00127 0f 57 c0 xorps xmm0, xmm0
|
||||
0012a f3 0f 11 85 a4
|
||||
00 00 00 movss DWORD PTR $S2$[rbp+4], xmm0
|
||||
00132 0f 57 c0 xorps xmm0, xmm0
|
||||
00135 f3 0f 11 85 a8
|
||||
00 00 00 movss DWORD PTR $S2$[rbp+8], xmm0
|
||||
0013d 0f 57 c0 xorps xmm0, xmm0
|
||||
00140 f3 0f 11 85 ac
|
||||
00 00 00 movss DWORD PTR $S2$[rbp+12], xmm0
|
||||
00148 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
0014c 0f c6 85 a0 00
|
||||
00 00 dd shufps xmm0, XMMWORD PTR $S2$[rbp], 221 ; 000000ddH
|
||||
00154 b8 10 00 00 00 mov eax, 16
|
||||
00159 48 6b c0 01 imul rax, rax, 1
|
||||
0015d 48 8b 8d d8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00110 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
00164 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 13 : target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
; 11 : target->colum[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
00114 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR defaultVecPtr
|
||||
0011b 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
0011f 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
|
||||
00123 b8 10 00 00 00 mov eax, 16
|
||||
00128 48 6b c0 02 imul rax, rax, 2
|
||||
0012c 48 8b 8d 48 01
|
||||
00168 0f 57 c0 xorps xmm0, xmm0
|
||||
0016b f3 0f 11 85 d0
|
||||
00 00 00 movss DWORD PTR $S3$[rbp], xmm0
|
||||
00173 0f 57 c0 xorps xmm0, xmm0
|
||||
00176 f3 0f 11 85 d4
|
||||
00 00 00 movss DWORD PTR $S3$[rbp+4], xmm0
|
||||
0017e 0f 57 c0 xorps xmm0, xmm0
|
||||
00181 f3 0f 11 85 d8
|
||||
00 00 00 movss DWORD PTR $S3$[rbp+8], xmm0
|
||||
00189 0f 57 c0 xorps xmm0, xmm0
|
||||
0018c f3 0f 11 85 dc
|
||||
00 00 00 movss DWORD PTR $S3$[rbp+12], xmm0
|
||||
00194 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
00198 0f c6 85 d0 00
|
||||
00 00 88 shufps xmm0, XMMWORD PTR $S3$[rbp], 136 ; 00000088H
|
||||
001a0 b8 10 00 00 00 mov eax, 16
|
||||
001a5 48 6b c0 02 imul rax, rax, 2
|
||||
001a9 48 8b 8d d8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00133 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
001b0 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 14 : }
|
||||
; 12 : }
|
||||
|
||||
00137 48 8d a5 28 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+296]
|
||||
0013e 5f pop rdi
|
||||
0013f 5d pop rbp
|
||||
00140 c3 ret 0
|
||||
001b4 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
||||
001bb 48 33 cd xor rcx, rbp
|
||||
001be e8 00 00 00 00 call __security_check_cookie
|
||||
001c3 48 8d a5 b8 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+440]
|
||||
001ca 5f pop rdi
|
||||
001cb 5d pop rbp
|
||||
001cc c3 ret 0
|
||||
transpose2to3 ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user