daily update on 20241129 by nitload youmu, frameworkDialogue added
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,172 @@
|
||||
|
||||
|
||||
|
||||
|
||||
Info @ 2024-02-28T02:20:13.4489276+08:00
|
||||
Program start
|
||||
Info @ 2024-02-28T02:20:13.4685956+08:00
|
||||
Successfully create a context binded to current form. Its ID is 2625888933568
|
||||
Info @ 2024-02-28T02:20:13.5600371+08:00
|
||||
Find core OpenGL version.
|
||||
Successfully load all OpenGL 1.0 APIs
|
||||
Successfully load all OpenGL 1.1 APIs
|
||||
Successfully load all OpenGL 1.2 APIs
|
||||
Successfully load all OpenGL 1.3 APIs
|
||||
Successfully load all OpenGL 1.4 APIs
|
||||
Successfully load all OpenGL 1.5 APIs
|
||||
Successfully load all OpenGL 2.0 APIs
|
||||
Successfully load all OpenGL 2.1 APIs
|
||||
Successfully load all OpenGL 3.0 APIs
|
||||
Successfully load all OpenGL 3.1 APIs
|
||||
Successfully load all OpenGL 3.2 APIs
|
||||
Successfully load all OpenGL 3.3 APIs
|
||||
Successfully load all OpenGL 4.0 APIs
|
||||
Successfully load all OpenGL 4.1 APIs
|
||||
Successfully load all OpenGL 4.2 APIs
|
||||
Successfully load all OpenGL 4.3 APIs
|
||||
Successfully load all OpenGL 4.4 APIs
|
||||
Successfully load all OpenGL 4.5 APIs
|
||||
Successfully load all OpenGL 4.6 APIs
|
||||
Info @ 2024-02-28T02:20:13.5697233+08:00
|
||||
No supported OpenGL extensions are found.
|
||||
Error @ 2024-02-28T02:20:13.5899504+08:00
|
||||
Could not find a part of the path 'D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\Shader\vertex.vert'.
|
||||
at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
|
||||
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
|
||||
at System.IO.File.InternalReadAllText(String path, Encoding encoding)
|
||||
at System.IO.File.ReadAllText(String path)
|
||||
at StgSharp.StgSharpDemoForm.Init(Object[] args) in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Program.cs:line 74
|
||||
at StgSharp.Program.Main(String[] args) in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Program.cs:line 195
|
||||
|
||||
|
||||
|
||||
|
||||
Info @ 2024-02-28T02:34:05.2611141+08:00
|
||||
Program start
|
||||
Info @ 2024-02-28T02:34:07.5537999+08:00
|
||||
Successfully create a context binded to current form. Its ID is 2125629822832
|
||||
Info @ 2024-02-28T02:34:07.8568692+08:00
|
||||
Find core OpenGL version.
|
||||
Successfully load all OpenGL 1.0 APIs
|
||||
Successfully load all OpenGL 1.1 APIs
|
||||
Successfully load all OpenGL 1.2 APIs
|
||||
Successfully load all OpenGL 1.3 APIs
|
||||
Successfully load all OpenGL 1.4 APIs
|
||||
Successfully load all OpenGL 1.5 APIs
|
||||
Successfully load all OpenGL 2.0 APIs
|
||||
Successfully load all OpenGL 2.1 APIs
|
||||
Successfully load all OpenGL 3.0 APIs
|
||||
Successfully load all OpenGL 3.1 APIs
|
||||
Successfully load all OpenGL 3.2 APIs
|
||||
Successfully load all OpenGL 3.3 APIs
|
||||
Successfully load all OpenGL 4.0 APIs
|
||||
Successfully load all OpenGL 4.1 APIs
|
||||
Successfully load all OpenGL 4.2 APIs
|
||||
Successfully load all OpenGL 4.3 APIs
|
||||
Successfully load all OpenGL 4.4 APIs
|
||||
Successfully load all OpenGL 4.5 APIs
|
||||
Successfully load all OpenGL 4.6 APIs
|
||||
Info @ 2024-02-28T02:34:07.8680130+08:00
|
||||
No supported OpenGL extensions are found.
|
||||
Error @ 2024-02-28T02:34:10.9188775+08:00
|
||||
Could not find a part of the path 'D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\Shader\vertex.vert'.
|
||||
at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
|
||||
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
|
||||
at System.IO.File.InternalReadAllText(String path, Encoding encoding)
|
||||
at System.IO.File.ReadAllText(String path)
|
||||
at StgSharp.StgSharpDemoForm.Init(Object[] args) in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Program.cs:line 74
|
||||
at StgSharp.Program.Main(String[] args) in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Program.cs:line 195
|
||||
|
||||
|
||||
|
||||
|
||||
Info @ 2024-02-29T08:57:53.0662711+08:00
|
||||
Program start
|
||||
Info @ 2024-02-29T08:57:53.5645131+08:00
|
||||
Successfully create a context binded to current form. Its ID is 2791335327184
|
||||
Info @ 2024-02-29T08:57:54.1988863+08:00
|
||||
Find core OpenGL version.
|
||||
Successfully load all OpenGL 1.0 APIs
|
||||
Successfully load all OpenGL 1.1 APIs
|
||||
Successfully load all OpenGL 1.2 APIs
|
||||
Successfully load all OpenGL 1.3 APIs
|
||||
Successfully load all OpenGL 1.4 APIs
|
||||
Successfully load all OpenGL 1.5 APIs
|
||||
Successfully load all OpenGL 2.0 APIs
|
||||
Successfully load all OpenGL 2.1 APIs
|
||||
Successfully load all OpenGL 3.0 APIs
|
||||
Successfully load all OpenGL 3.1 APIs
|
||||
Successfully load all OpenGL 3.2 APIs
|
||||
Successfully load all OpenGL 3.3 APIs
|
||||
Successfully load all OpenGL 4.0 APIs
|
||||
Successfully load all OpenGL 4.1 APIs
|
||||
Successfully load all OpenGL 4.2 APIs
|
||||
Successfully load all OpenGL 4.3 APIs
|
||||
Successfully load all OpenGL 4.4 APIs
|
||||
Successfully load all OpenGL 4.5 APIs
|
||||
Successfully load all OpenGL 4.6 APIs
|
||||
Info @ 2024-02-29T08:57:54.2300139+08:00
|
||||
No supported OpenGL extensions are found.
|
||||
Error @ 2024-02-29T08:57:54.3474832+08:00
|
||||
Could not find a part of the path 'D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\Shader\vertex.vert'.
|
||||
at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
|
||||
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
|
||||
at System.IO.File.InternalReadAllText(String path, Encoding encoding)
|
||||
at System.IO.File.ReadAllText(String path)
|
||||
at StgSharp.StgSharpDemoForm.Init(Object[] args) in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Program.cs:line 74
|
||||
at StgSharp.Program.Main(String[] args) in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Program.cs:line 195
|
||||
|
||||
|
||||
|
||||
|
||||
Info @ 2024-02-29T09:45:26.1651662+08:00
|
||||
Program start
|
||||
Info @ 2024-02-29T09:45:26.4662730+08:00
|
||||
Successfully create a context binded to current form. Its ID is 2327120380800
|
||||
Info @ 2024-02-29T09:45:27.1073683+08:00
|
||||
Find core OpenGL version.
|
||||
Successfully load all OpenGL 1.0 APIs
|
||||
Successfully load all OpenGL 1.1 APIs
|
||||
Successfully load all OpenGL 1.2 APIs
|
||||
Successfully load all OpenGL 1.3 APIs
|
||||
Successfully load all OpenGL 1.4 APIs
|
||||
Successfully load all OpenGL 1.5 APIs
|
||||
Successfully load all OpenGL 2.0 APIs
|
||||
Successfully load all OpenGL 2.1 APIs
|
||||
Successfully load all OpenGL 3.0 APIs
|
||||
Successfully load all OpenGL 3.1 APIs
|
||||
Successfully load all OpenGL 3.2 APIs
|
||||
Successfully load all OpenGL 3.3 APIs
|
||||
Successfully load all OpenGL 4.0 APIs
|
||||
Successfully load all OpenGL 4.1 APIs
|
||||
Successfully load all OpenGL 4.2 APIs
|
||||
Successfully load all OpenGL 4.3 APIs
|
||||
Successfully load all OpenGL 4.4 APIs
|
||||
Successfully load all OpenGL 4.5 APIs
|
||||
Successfully load all OpenGL 4.6 APIs
|
||||
Info @ 2024-02-29T09:45:27.1384410+08:00
|
||||
No supported OpenGL extensions are found.
|
||||
Error @ 2024-02-29T09:45:27.2872803+08:00
|
||||
Could not find a part of the path 'D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpC\Shader\vertex.vert'.
|
||||
at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
|
||||
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
|
||||
at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
|
||||
at System.IO.File.InternalReadAllText(String path, Encoding encoding)
|
||||
at System.IO.File.ReadAllText(String path)
|
||||
at StgSharp.StgSharpDemoForm.Init(Object[] args) in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Program.cs:line 74
|
||||
at StgSharp.Program.Main(String[] args) in D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpDebug\Program.cs:line 195
|
||||
@@ -0,0 +1,79 @@
|
||||
#include "StgSharpC.h"
|
||||
#include "gl.h"
|
||||
#include "glfw3.h"
|
||||
#include "ssc_framework.h"
|
||||
#include <stdio.h>
|
||||
|
||||
GladGLContext *currentContext;
|
||||
extern char infolog[512] = { 0 };
|
||||
|
||||
SSCAPI int SSCDECL glCheckShaderStat(GladGLContext *context,
|
||||
uint64_t shaderHandle, int key,
|
||||
char **logRef)
|
||||
{
|
||||
int stat = 0;
|
||||
context->GetShaderiv(shaderHandle, key, &stat);
|
||||
if (!stat) {
|
||||
context->GetShaderInfoLog(shaderHandle, 512, NULL, infolog);
|
||||
}
|
||||
*logRef = infolog;
|
||||
return stat;
|
||||
}
|
||||
|
||||
SSCAPI void SSCDECL 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);
|
||||
glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
int success;
|
||||
context->GetProgramiv(shaderProgram, GL_LINK_STATUS, &success);
|
||||
if (!success) {
|
||||
context->GetProgramInfoLog(shaderProgram, 512, NULL, infolog);
|
||||
return 0;
|
||||
} else {
|
||||
return shaderProgram;
|
||||
}
|
||||
}
|
||||
|
||||
SSCAPI void SSCDECL loadImageData(char *location, Image *out,
|
||||
imageLoader loader)
|
||||
{
|
||||
if (loader == NULL) {
|
||||
loader = stbi_load;
|
||||
}
|
||||
out->pixelPtr = loader(location, &(out->width), &(out->height),
|
||||
&(out->channel), 0);
|
||||
}
|
||||
|
||||
SSCAPI void SSCDECL unloadImageData(Image *out)
|
||||
{
|
||||
free(out->pixelPtr);
|
||||
}
|
||||
|
||||
char *_cdecl readLog()
|
||||
{
|
||||
infolog[511] = '\0';
|
||||
return &infolog;
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
#ifdef _MSC_VER
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#ifndef SSC
|
||||
#define SSC
|
||||
|
||||
#include "ssc_framework.h"
|
||||
#include "ssc_internal.h"
|
||||
|
||||
#define STBIDEF SSCAPI
|
||||
#include "stb_image.h"
|
||||
|
||||
#include "gl.h"
|
||||
#include "wgl.h"
|
||||
#include "glfw3.h"
|
||||
#include <immintrin.h>
|
||||
#include <assert.h>
|
||||
|
||||
#ifndef SSCAPI_DEFINE
|
||||
|
||||
#ifdef _WIN32
|
||||
#define SSCAPI __declspec(dllexport)
|
||||
#elif defined _LINUX_
|
||||
#define SSCAPI __attribute__((dllexport))
|
||||
#elif defined _APPLE_
|
||||
#define SSCAPI __attribute__((visibility("default")))
|
||||
#else
|
||||
#define SSCAPI
|
||||
#endif
|
||||
|
||||
#endif // ! SSCAPI_DEFINE
|
||||
|
||||
|
||||
#if __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define byte char
|
||||
#define ssc_null_assert(ptr) assert(ptr != NULL)
|
||||
|
||||
#define ALIGN(simdVec) _mm_loadu_ps(&simdVec)
|
||||
#define ALIGN256(simdVec) _mm256_loadu_ps(&simdVec)
|
||||
|
||||
typedef struct Image {
|
||||
int width;
|
||||
int height;
|
||||
int channel;
|
||||
char *pixelPtr;
|
||||
} Image;
|
||||
|
||||
typedef char *(*imageLoader)(char const *filename, int *x, int *y,
|
||||
int *channels_in_file, int desired_channels);
|
||||
|
||||
SSCAPI char infolog[512];
|
||||
SSCAPI int SSCDECL glCheckShaderStat(GladGLContext *context,
|
||||
uint64_t shaderHandle, int key,
|
||||
char **logRef);
|
||||
SSCAPI void SSCDECL initGL(int majorVersion, int minorVersion);
|
||||
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 char *SSCDECL readLog(void);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
SSCAPI int SSCDECL load_intrinsic_function(void *intrinsic_context);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,187 @@
|
||||
<?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>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<VCToolsVersion>14.41.34120</VCToolsVersion>
|
||||
</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>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)</OutDir>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</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>AssemblyAndMachineCode</AssemblerOutput>
|
||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||
<LanguageStandard_C>stdc17</LanguageStandard_C>
|
||||
<CompileAs>CompileAsC</CompileAs>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>opengl32.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ShowProgress>LinkVerbose</ShowProgress>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<Library Include="glfw3.lib" />
|
||||
<Library Include="glfw3dll.lib" />
|
||||
<Library Include="glfw3_mt.lib" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="dllmain.c" />
|
||||
<ClCompile Include="intrinsic.c" />
|
||||
<ClCompile Include="mat2.c" />
|
||||
<ClCompile Include="mat3.c" />
|
||||
<ClCompile Include="mat4.c" />
|
||||
<ClCompile Include="stb_image.c" />
|
||||
<ClCompile Include="StgSharpC.c" />
|
||||
<ClCompile Include="quick_hash.c" />
|
||||
<ClCompile Include="vector.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="gl.h" />
|
||||
<ClInclude Include="glfw3.h" />
|
||||
<ClInclude Include="glfw3native.h" />
|
||||
<ClInclude Include="ssc_intrinsic.h" />
|
||||
<ClInclude Include="khrplatform.h" />
|
||||
<ClInclude Include="ssc_framework.h" />
|
||||
<ClInclude Include="ssc_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,89 @@
|
||||
<?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>
|
||||
<ClCompile Include="vector.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="intrinsic.c">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="quick_hash.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="ssc_framework.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ssc_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="ssc_intrinsic.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>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native32Bit:VCToolsVersion=14.41.34120:TargetPlatformVersion=10.0.22621.0:
|
||||
Release|Win32|D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\|
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
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.
Binary file not shown.
@@ -0,0 +1,40 @@
|
||||
// dllmain.cpp : 定义 DLL 应用程序的入口点。
|
||||
|
||||
#ifdef _WIN32
|
||||
#include "ssc_framework.h"
|
||||
#endif // __
|
||||
|
||||
#include "StgSharpC.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
// clang-format off
|
||||
|
||||
BOOL APIENTRY DllMain(
|
||||
HMODULE hModule,
|
||||
DWORD ul_reason_for_call,
|
||||
LPVOID lpReserved
|
||||
)
|
||||
{
|
||||
switch (ul_reason_for_call)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
return 1;
|
||||
case DLL_THREAD_ATTACH:
|
||||
return 1;
|
||||
case DLL_THREAD_DETACH:
|
||||
return 1;
|
||||
case DLL_PROCESS_DETACH:
|
||||
return 1;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
attribute((constructor)) void DllMain()
|
||||
{
|
||||
}
|
||||
|
||||
// clang-format on
|
||||
|
||||
#endif // _WIN32
|
||||
+10454
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,634 @@
|
||||
/*************************************************************************
|
||||
* GLFW 3.4 - www.glfw->org
|
||||
* A library for OpenGL, window and input
|
||||
*------------------------------------------------------------------------
|
||||
* Copyright (c) 2002-2006 Marcus Geelnard
|
||||
* Copyright (c) 2006-2018 Camilla Löwy <elmindreda@glfw->org>
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would
|
||||
* be appreciated but is not required.
|
||||
*
|
||||
* 2. Altered source versions must be plainly marked as such, and must not
|
||||
* be misrepresented as being the original software.
|
||||
*
|
||||
* 3. This notice may not be removed or altered from any source
|
||||
* distribution.
|
||||
*
|
||||
*************************************************************************/
|
||||
|
||||
#ifndef _glfw3_native_h_
|
||||
#define _glfw3_native_h_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* Doxygen documentation
|
||||
*************************************************************************/
|
||||
|
||||
/*! @file glfw3native.h
|
||||
* @brief The header of the native access functions.
|
||||
*
|
||||
* This is the header file of the native access functions. See @ref native for
|
||||
* more information.
|
||||
*/
|
||||
/*! @defgroup native Native access
|
||||
* @brief Functions related to accessing native handles.
|
||||
*
|
||||
* **By using the native access functions you assert that you know what you're
|
||||
* doing and how to fix problems caused by using them. If you don't, you
|
||||
* shouldn't be using them.**
|
||||
*
|
||||
* Before the inclusion of @ref glfw3native.h, you may define zero or more
|
||||
* window system API macro and zero or more context creation API macros.
|
||||
*
|
||||
* The chosen backends must match those the library was compiled for. Failure
|
||||
* to do this will cause a link-time error.
|
||||
*
|
||||
* The available window API macros are:
|
||||
* * `GLFW_EXPOSE_NATIVE_WIN32`
|
||||
* * `GLFW_EXPOSE_NATIVE_COCOA`
|
||||
* * `GLFW_EXPOSE_NATIVE_X11`
|
||||
* * `GLFW_EXPOSE_NATIVE_WAYLAND`
|
||||
*
|
||||
* The available context API macros are:
|
||||
* * `GLFW_EXPOSE_NATIVE_WGL`
|
||||
* * `GLFW_EXPOSE_NATIVE_NSGL`
|
||||
* * `GLFW_EXPOSE_NATIVE_GLX`
|
||||
* * `GLFW_EXPOSE_NATIVE_EGL`
|
||||
* * `GLFW_EXPOSE_NATIVE_OSMESA`
|
||||
*
|
||||
* These macros select which of the native access functions that are declared
|
||||
* and which platform-specific headers to include. It is then up your (by
|
||||
* definition platform-specific) code to handle which of these should be
|
||||
* defined.
|
||||
*
|
||||
* If you do not want the platform-specific headers to be included, define
|
||||
* `GLFW_NATIVE_INCLUDE_NONE` before including the @ref glfw3native.h header.
|
||||
*
|
||||
* @code
|
||||
* #define GLFW_EXPOSE_NATIVE_WIN32
|
||||
* #define GLFW_EXPOSE_NATIVE_WGL
|
||||
* #define GLFW_NATIVE_INCLUDE_NONE
|
||||
* #include <GLFW/glfw3native.h>
|
||||
* @endcode
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* System headers and types
|
||||
*************************************************************************/
|
||||
|
||||
#if !defined(GLFW_NATIVE_INCLUDE_NONE)
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WIN32) || defined(GLFW_EXPOSE_NATIVE_WGL)
|
||||
/* This is a workaround for the fact that glfw3.h needs to export APIENTRY (for
|
||||
* example to allow applications to correctly declare a GL_KHR_debug callback)
|
||||
* but windows.h assumes no one will define APIENTRY before it does
|
||||
*/
|
||||
#if defined(GLFW_APIENTRY_DEFINED)
|
||||
#undef APIENTRY
|
||||
#undef GLFW_APIENTRY_DEFINED
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_COCOA) || defined(GLFW_EXPOSE_NATIVE_NSGL)
|
||||
#if defined(__OBJC__)
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#else
|
||||
#include <ApplicationServices/ApplicationServices.h>
|
||||
#include <objc/objc.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_X11) || defined(GLFW_EXPOSE_NATIVE_GLX)
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/extensions/Xrandr.h>
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WAYLAND)
|
||||
#include <wayland-client.h>
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WGL)
|
||||
/* WGL is declared by windows.h */
|
||||
#endif
|
||||
#if defined(GLFW_EXPOSE_NATIVE_NSGL)
|
||||
/* NSGL is declared by Cocoa.h */
|
||||
#endif
|
||||
#if defined(GLFW_EXPOSE_NATIVE_GLX)
|
||||
/* This is a workaround for the fact that glfw3.h defines GLAPIENTRY because by
|
||||
* default it also acts as an OpenGL header
|
||||
* However, glx.h will include gl.h, which will define it unconditionally
|
||||
*/
|
||||
#if defined(GLFW_GLAPIENTRY_DEFINED)
|
||||
#undef GLAPIENTRY
|
||||
#undef GLFW_GLAPIENTRY_DEFINED
|
||||
#endif
|
||||
#include <GL/glx.h>
|
||||
#endif
|
||||
#if defined(GLFW_EXPOSE_NATIVE_EGL)
|
||||
#include <EGL/egl.h>
|
||||
#endif
|
||||
#if defined(GLFW_EXPOSE_NATIVE_OSMESA)
|
||||
/* This is a workaround for the fact that glfw3.h defines GLAPIENTRY because by
|
||||
* default it also acts as an OpenGL header
|
||||
* However, osmesa.h will include gl.h, which will define it unconditionally
|
||||
*/
|
||||
#if defined(GLFW_GLAPIENTRY_DEFINED)
|
||||
#undef GLAPIENTRY
|
||||
#undef GLFW_GLAPIENTRY_DEFINED
|
||||
#endif
|
||||
#include <GL/osmesa.h>
|
||||
#endif
|
||||
|
||||
#endif /*GLFW_NATIVE_INCLUDE_NONE*/
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* Functions
|
||||
*************************************************************************/
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WIN32)
|
||||
/*! @brief Returns the adapter device name of the specified monitor.
|
||||
*
|
||||
* @return The UTF-8 encoded adapter device name (for example `\\.\DISPLAY1`)
|
||||
* of the specified monitor, or `NULL` if an [error](@ref error_handling)
|
||||
* occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.1.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI const char* glfwGetWin32Adapter(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the display device name of the specified monitor.
|
||||
*
|
||||
* @return The UTF-8 encoded display device name (for example
|
||||
* `\\.\DISPLAY1\Monitor0`) of the specified monitor, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.1.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI const char* glfwGetWin32Monitor(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the `HWND` of the specified window.
|
||||
*
|
||||
* @return The `HWND` of the specified window, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @remark The `HDC` associated with the window can be queried with the
|
||||
* [GetDC](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdc)
|
||||
* function.
|
||||
* @code
|
||||
* HDC dc = GetDC(glfwGetWin32Window(window));
|
||||
* @endcode
|
||||
* This DC is private and does not need to be released.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI HWND glfwGetWin32Window(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WGL)
|
||||
/*! @brief Returns the `HGLRC` of the specified window.
|
||||
*
|
||||
* @return The `HGLRC` of the specified window, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref
|
||||
* GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @remark The `HDC` associated with the window can be queried with the
|
||||
* [GetDC](https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdc)
|
||||
* function.
|
||||
* @code
|
||||
* HDC dc = GetDC(glfwGetWin32Window(window));
|
||||
* @endcode
|
||||
* This DC is private and does not need to be released.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI HGLRC glfwGetWGLContext(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_COCOA)
|
||||
/*! @brief Returns the `CGDirectDisplayID` of the specified monitor.
|
||||
*
|
||||
* @return The `CGDirectDisplayID` of the specified monitor, or
|
||||
* `kCGNullDirectDisplay` if an [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.1.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the `NSWindow` of the specified window.
|
||||
*
|
||||
* @return The `NSWindow` of the specified window, or `nil` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI id glfwGetCocoaWindow(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_NSGL)
|
||||
/*! @brief Returns the `NSOpenGLContext` of the specified window.
|
||||
*
|
||||
* @return The `NSOpenGLContext` of the specified window, or `nil` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref
|
||||
* GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI id glfwGetNSGLContext(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_X11)
|
||||
/*! @brief Returns the `Display` used by GLFW.
|
||||
*
|
||||
* @return The `Display` used by GLFW, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI Display* glfwGetX11Display(void);
|
||||
|
||||
/*! @brief Returns the `RRCrtc` of the specified monitor.
|
||||
*
|
||||
* @return The `RRCrtc` of the specified monitor, or `None` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.1.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the `RROutput` of the specified monitor.
|
||||
*
|
||||
* @return The `RROutput` of the specified monitor, or `None` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.1.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI RROutput glfwGetX11Monitor(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the `Window` of the specified window.
|
||||
*
|
||||
* @return The `Window` of the specified window, or `None` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI Window glfwGetX11Window(GLFWwindow* window);
|
||||
|
||||
/*! @brief Sets the current primary selection to the specified string.
|
||||
*
|
||||
* @param[in] string A UTF-8 encoded string.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
|
||||
* GLFW_PLATFORM_ERROR.
|
||||
*
|
||||
* @pointer_lifetime The specified string is copied before this function
|
||||
* returns.
|
||||
*
|
||||
* @thread_safety This function must only be called from the main thread.
|
||||
*
|
||||
* @sa @ref clipboard
|
||||
* @sa glfwGetX11SelectionString
|
||||
* @sa glfwSetClipboardString
|
||||
*
|
||||
* @since Added in version 3.3.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI void glfwSetX11SelectionString(const char* string);
|
||||
|
||||
/*! @brief Returns the contents of the current primary selection as a string.
|
||||
*
|
||||
* If the selection is empty or if its contents cannot be converted, `NULL`
|
||||
* is returned and a @ref GLFW_FORMAT_UNAVAILABLE error is generated.
|
||||
*
|
||||
* @return The contents of the selection as a UTF-8 encoded string, or `NULL`
|
||||
* if an [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
|
||||
* GLFW_PLATFORM_ERROR.
|
||||
*
|
||||
* @pointer_lifetime The returned string is allocated and freed by GLFW. You
|
||||
* should not free it yourself. It is valid until the next call to @ref
|
||||
* glfwGetX11SelectionString or @ref glfwSetX11SelectionString, or until the
|
||||
* library is terminated.
|
||||
*
|
||||
* @thread_safety This function must only be called from the main thread.
|
||||
*
|
||||
* @sa @ref clipboard
|
||||
* @sa glfwSetX11SelectionString
|
||||
* @sa glfwGetClipboardString
|
||||
*
|
||||
* @since Added in version 3.3.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI const char* glfwGetX11SelectionString(void);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_GLX)
|
||||
/*! @brief Returns the `GLXContext` of the specified window.
|
||||
*
|
||||
* @return The `GLXContext` of the specified window, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref
|
||||
* GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI GLXContext glfwGetGLXContext(GLFWwindow* window);
|
||||
|
||||
/*! @brief Returns the `GLXWindow` of the specified window.
|
||||
*
|
||||
* @return The `GLXWindow` of the specified window, or `None` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref
|
||||
* GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.2.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI GLXWindow glfwGetGLXWindow(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WAYLAND)
|
||||
/*! @brief Returns the `struct wl_display*` used by GLFW.
|
||||
*
|
||||
* @return The `struct wl_display*` used by GLFW, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.2.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI struct wl_display* glfwGetWaylandDisplay(void);
|
||||
|
||||
/*! @brief Returns the `struct wl_output*` of the specified monitor.
|
||||
*
|
||||
* @return The `struct wl_output*` of the specified monitor, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.2.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the main `struct wl_surface*` of the specified window.
|
||||
*
|
||||
* @return The main `struct wl_surface*` of the specified window, or `NULL` if
|
||||
* an [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.2.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_EGL)
|
||||
/*! @brief Returns the `EGLDisplay` used by GLFW.
|
||||
*
|
||||
* @return The `EGLDisplay` used by GLFW, or `EGL_NO_DISPLAY` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @remark Because EGL is initialized on demand, this function will return
|
||||
* `EGL_NO_DISPLAY` until the first context has been created via EGL.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI EGLDisplay glfwGetEGLDisplay(void);
|
||||
|
||||
/*! @brief Returns the `EGLContext` of the specified window.
|
||||
*
|
||||
* @return The `EGLContext` of the specified window, or `EGL_NO_CONTEXT` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref
|
||||
* GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI EGLContext glfwGetEGLContext(GLFWwindow* window);
|
||||
|
||||
/*! @brief Returns the `EGLSurface` of the specified window.
|
||||
*
|
||||
* @return The `EGLSurface` of the specified window, or `EGL_NO_SURFACE` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref
|
||||
* GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_OSMESA)
|
||||
/*! @brief Retrieves the color buffer associated with the specified window.
|
||||
*
|
||||
* @param[in] window The window whose color buffer to retrieve.
|
||||
* @param[out] width Where to store the width of the color buffer, or `NULL`.
|
||||
* @param[out] height Where to store the height of the color buffer, or `NULL`.
|
||||
* @param[out] format Where to store the OSMesa pixel format of the color
|
||||
* buffer, or `NULL`.
|
||||
* @param[out] buffer Where to store the address of the color buffer, or
|
||||
* `NULL`.
|
||||
* @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref
|
||||
* GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.3.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI int glfwGetOSMesaColorBuffer(GLFWwindow* window, int* width, int* height, int* format, void** buffer);
|
||||
|
||||
/*! @brief Retrieves the depth buffer associated with the specified window.
|
||||
*
|
||||
* @param[in] window The window whose depth buffer to retrieve.
|
||||
* @param[out] width Where to store the width of the depth buffer, or `NULL`.
|
||||
* @param[out] height Where to store the height of the depth buffer, or `NULL`.
|
||||
* @param[out] bytesPerValue Where to store the number of bytes per depth
|
||||
* buffer element, or `NULL`.
|
||||
* @param[out] buffer Where to store the address of the depth buffer, or
|
||||
* `NULL`.
|
||||
* @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref
|
||||
* GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.3.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI int glfwGetOSMesaDepthBuffer(GLFWwindow* window, int* width, int* height, int* bytesPerValue, void** buffer);
|
||||
|
||||
/*! @brief Returns the `OSMesaContext` of the specified window.
|
||||
*
|
||||
* @return The `OSMesaContext` of the specified window, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NO_WINDOW_CONTEXT and @ref
|
||||
* GLFW_NOT_INITIALIZED.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.3.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
SSCAPI OSMesaContext glfwGetOSMesaContext(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _glfw3_native_h_ */
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
#include "StgSharpC.h"
|
||||
#include "ssc_intrinsic.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#include <intrin.h>
|
||||
#include <isa_availability.h>
|
||||
#else
|
||||
#include <cpuid.h>
|
||||
#endif // _MSC_VER
|
||||
|
||||
PRIVATE void load_intrinsic_sse(ssc_intrinsic* context);
|
||||
|
||||
SSCAPI int load_intrinsic_function(void *intrinsic_context)
|
||||
{
|
||||
ssc_null_assert(intrinsic_context);
|
||||
|
||||
ssc_intrinsic *context = (ssc_intrinsic *)intrinsic_context;
|
||||
|
||||
if (__check_isa_support(__IA_SUPPORT_VECTOR512,0))
|
||||
{
|
||||
|
||||
}
|
||||
else if (__check_isa_support(__IA_SUPPORT_VECTOR256, 0))
|
||||
{
|
||||
|
||||
}
|
||||
else if (__check_isa_support(__IA_SUPPORT_SSE42, 0))
|
||||
{
|
||||
load_intrinsic_sse(context);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void load_intrinsic_sse(ssc_intrinsic* context)
|
||||
{
|
||||
context->add_m2 = addmatrix2_sse;
|
||||
context->add_m3 = ;
|
||||
context->add_m4 = ;
|
||||
context->transpose_23 = transpose23;
|
||||
context->transpose_24 = transpose24;
|
||||
context->transpose_32 = transpose32;
|
||||
context->transpose_33 = transpose33;
|
||||
context->transpose_34 = transpose34;
|
||||
context->transpose_42 = transpose42;
|
||||
context->transpose_43 = transpose43;
|
||||
context->transpose_44 = transpose44;
|
||||
context->normalize_3 = normalize;
|
||||
context->det_matrix33 = det_mat3;
|
||||
context->det_matrix44 = det_mat4;
|
||||
context->string_quick_hash = quick_string_hash;
|
||||
}
|
||||
@@ -0,0 +1,311 @@
|
||||
#ifndef __khrplatform_h_
|
||||
#define __khrplatform_h_
|
||||
|
||||
/*
|
||||
** Copyright (c) 2008-2018 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
|
||||
/* Khronos platform-specific types and definitions.
|
||||
*
|
||||
* The master copy of khrplatform.h is maintained in the Khronos EGL
|
||||
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
|
||||
* The last semantic modification to khrplatform.h was at commit ID:
|
||||
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692
|
||||
*
|
||||
* Adopters may modify this file to suit their platform. Adopters are
|
||||
* encouraged to submit platform specific modifications to the Khronos
|
||||
* group so that they can be included in future versions of this file.
|
||||
* Please submit changes by filing pull requests or issues on
|
||||
* the EGL Registry repository linked above.
|
||||
*
|
||||
*
|
||||
* See the Implementer's Guidelines for information about where this file
|
||||
* should be located on your system and for more details of its use:
|
||||
* http://www.khronos.org/registry/implementers_guide.pdf
|
||||
*
|
||||
* This file should be included as
|
||||
* #include <KHR/khrplatform.h>
|
||||
* by Khronos client API header files that use its types and defines.
|
||||
*
|
||||
* The types in khrplatform.h should only be used to define API-specific types.
|
||||
*
|
||||
* Types defined in khrplatform.h:
|
||||
* khronos_int8_t signed 8 bit
|
||||
* khronos_uint8_t unsigned 8 bit
|
||||
* khronos_int16_t signed 16 bit
|
||||
* khronos_uint16_t unsigned 16 bit
|
||||
* khronos_int32_t signed 32 bit
|
||||
* khronos_uint32_t unsigned 32 bit
|
||||
* khronos_int64_t signed 64 bit
|
||||
* khronos_uint64_t unsigned 64 bit
|
||||
* khronos_intptr_t signed same number of bits as a pointer
|
||||
* khronos_uintptr_t unsigned same number of bits as a pointer
|
||||
* khronos_ssize_t signed size
|
||||
* khronos_usize_t unsigned size
|
||||
* khronos_float_t signed 32 bit floating point
|
||||
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
|
||||
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
|
||||
* nanoseconds
|
||||
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
|
||||
* khronos_boolean_enum_t enumerated boolean type. This should
|
||||
* only be used as a base type when a client API's boolean type is
|
||||
* an enum. Client APIs which use an integer or other type for
|
||||
* booleans cannot use this as the base type for their boolean.
|
||||
*
|
||||
* Tokens defined in khrplatform.h:
|
||||
*
|
||||
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
|
||||
*
|
||||
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
|
||||
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
|
||||
*
|
||||
* Calling convention macros defined in this file:
|
||||
* KHRONOS_APICALL
|
||||
* KHRONOS_APIENTRY
|
||||
* KHRONOS_APIATTRIBUTES
|
||||
*
|
||||
* These may be used in function prototypes as:
|
||||
*
|
||||
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
|
||||
* int arg1,
|
||||
* int arg2) KHRONOS_APIATTRIBUTES;
|
||||
*/
|
||||
|
||||
#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
|
||||
# define KHRONOS_STATIC 1
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APICALL
|
||||
*-------------------------------------------------------------------------
|
||||
* This precedes the return type of the function in the function prototype.
|
||||
*/
|
||||
#if defined(KHRONOS_STATIC)
|
||||
/* If the preprocessor constant KHRONOS_STATIC is defined, make the
|
||||
* header compatible with static linking. */
|
||||
# define KHRONOS_APICALL
|
||||
#elif defined(_WIN32)
|
||||
# define KHRONOS_APICALL __declspec(dllimport)
|
||||
#elif defined (__SYMBIAN32__)
|
||||
# define KHRONOS_APICALL IMPORT_C
|
||||
#elif defined(__ANDROID__)
|
||||
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
||||
#else
|
||||
# define KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APIENTRY
|
||||
*-------------------------------------------------------------------------
|
||||
* This follows the return type of the function and precedes the function
|
||||
* name in the function prototype.
|
||||
*/
|
||||
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
|
||||
/* Win32 but not WinCE */
|
||||
# define KHRONOS_APIENTRY __stdcall
|
||||
#else
|
||||
# define KHRONOS_APIENTRY
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APIATTRIBUTES
|
||||
*-------------------------------------------------------------------------
|
||||
* This follows the closing parenthesis of the function prototype arguments.
|
||||
*/
|
||||
#if defined (__ARMCC_2__)
|
||||
#define KHRONOS_APIATTRIBUTES __softfp
|
||||
#else
|
||||
#define KHRONOS_APIATTRIBUTES
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* basic type definitions
|
||||
*-----------------------------------------------------------------------*/
|
||||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
||||
|
||||
|
||||
/*
|
||||
* Using <stdint.h>
|
||||
*/
|
||||
#include <stdint.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
/*
|
||||
* To support platform where unsigned long cannot be used interchangeably with
|
||||
* inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t.
|
||||
* Ideally, we could just use (u)intptr_t everywhere, but this could result in
|
||||
* ABI breakage if khronos_uintptr_t is changed from unsigned long to
|
||||
* unsigned long long or similar (this results in different C++ name mangling).
|
||||
* To avoid changes for existing platforms, we restrict usage of intptr_t to
|
||||
* platforms where the size of a pointer is larger than the size of long.
|
||||
*/
|
||||
#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__)
|
||||
#if __SIZEOF_POINTER__ > __SIZEOF_LONG__
|
||||
#define KHRONOS_USE_INTPTR_T
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#elif defined(__VMS ) || defined(__sgi)
|
||||
|
||||
/*
|
||||
* Using <inttypes.h>
|
||||
*/
|
||||
#include <inttypes.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||
|
||||
/*
|
||||
* Win32
|
||||
*/
|
||||
typedef __int32 khronos_int32_t;
|
||||
typedef unsigned __int32 khronos_uint32_t;
|
||||
typedef __int64 khronos_int64_t;
|
||||
typedef unsigned __int64 khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(__sun__) || defined(__digital__)
|
||||
|
||||
/*
|
||||
* Sun or Digital
|
||||
*/
|
||||
typedef int khronos_int32_t;
|
||||
typedef unsigned int khronos_uint32_t;
|
||||
#if defined(__arch64__) || defined(_LP64)
|
||||
typedef long int khronos_int64_t;
|
||||
typedef unsigned long int khronos_uint64_t;
|
||||
#else
|
||||
typedef long long int khronos_int64_t;
|
||||
typedef unsigned long long int khronos_uint64_t;
|
||||
#endif /* __arch64__ */
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif 0
|
||||
|
||||
/*
|
||||
* Hypothetical platform with no float or int64 support
|
||||
*/
|
||||
typedef int khronos_int32_t;
|
||||
typedef unsigned int khronos_uint32_t;
|
||||
#define KHRONOS_SUPPORT_INT64 0
|
||||
#define KHRONOS_SUPPORT_FLOAT 0
|
||||
|
||||
#else
|
||||
|
||||
/*
|
||||
* Generic fallback
|
||||
*/
|
||||
#include <stdint.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Types that are (so far) the same on all platforms
|
||||
*/
|
||||
typedef signed char khronos_int8_t;
|
||||
typedef unsigned char khronos_uint8_t;
|
||||
typedef signed short int khronos_int16_t;
|
||||
typedef unsigned short int khronos_uint16_t;
|
||||
|
||||
/*
|
||||
* Types that differ between LLP64 and LP64 architectures - in LLP64,
|
||||
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
|
||||
* to be the only LLP64 architecture in current use.
|
||||
*/
|
||||
#ifdef KHRONOS_USE_INTPTR_T
|
||||
typedef intptr_t khronos_intptr_t;
|
||||
typedef uintptr_t khronos_uintptr_t;
|
||||
#elif defined(_WIN64)
|
||||
typedef signed long long int khronos_intptr_t;
|
||||
typedef unsigned long long int khronos_uintptr_t;
|
||||
#else
|
||||
typedef signed long int khronos_intptr_t;
|
||||
typedef unsigned long int khronos_uintptr_t;
|
||||
#endif
|
||||
|
||||
#if defined(_WIN64)
|
||||
typedef signed long long int khronos_ssize_t;
|
||||
typedef unsigned long long int khronos_usize_t;
|
||||
#else
|
||||
typedef signed long int khronos_ssize_t;
|
||||
typedef unsigned long int khronos_usize_t;
|
||||
#endif
|
||||
|
||||
#if KHRONOS_SUPPORT_FLOAT
|
||||
/*
|
||||
* Float type
|
||||
*/
|
||||
typedef float khronos_float_t;
|
||||
#endif
|
||||
|
||||
#if KHRONOS_SUPPORT_INT64
|
||||
/* Time types
|
||||
*
|
||||
* These types can be used to represent a time interval in nanoseconds or
|
||||
* an absolute Unadjusted System Time. Unadjusted System Time is the number
|
||||
* of nanoseconds since some arbitrary system event (e.g. since the last
|
||||
* time the system booted). The Unadjusted System Time is an unsigned
|
||||
* 64 bit value that wraps back to 0 every 584 years. Time intervals
|
||||
* may be either signed or unsigned.
|
||||
*/
|
||||
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
|
||||
typedef khronos_int64_t khronos_stime_nanoseconds_t;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Dummy value used to pad enum types to 32 bits.
|
||||
*/
|
||||
#ifndef KHRONOS_MAX_ENUM
|
||||
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Enumerated boolean type
|
||||
*
|
||||
* Values other than zero should be considered to be true. Therefore
|
||||
* comparisons should not be made against KHRONOS_TRUE.
|
||||
*/
|
||||
typedef enum {
|
||||
KHRONOS_FALSE = 0,
|
||||
KHRONOS_TRUE = 1,
|
||||
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
|
||||
} khronos_boolean_enum_t;
|
||||
|
||||
#endif /* __khrplatform_h_ */
|
||||
@@ -0,0 +1,55 @@
|
||||
#include "StgSharpC.h"
|
||||
#include "ssc_intrinsic.h"
|
||||
|
||||
INTERNAL void __cdecl transpose23(__2_columnset *source,
|
||||
__3_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->column[0] =
|
||||
_mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] =
|
||||
_mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] =
|
||||
_mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl transpose24(__2_columnset *source,
|
||||
__4_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->column[0] =
|
||||
_mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] =
|
||||
_mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] =
|
||||
_mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[3] =
|
||||
_mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl addmatrix2_sse(__2_columnset* left, __2_columnset* right, __2_columnset* ans)
|
||||
{
|
||||
__m128 temp0 = _mm_add_ps(ALIGN(left->column[0]), ALIGN(right->column[0]));
|
||||
__m128 temp1 = _mm_add_ps(ALIGN(left->column[1]), ALIGN(right->column[1]));
|
||||
|
||||
_mm_storeu_ps(&ans->m[0][0], temp0);
|
||||
_mm_storeu_ps(&ans->m[0][1], temp1);
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl addmatrix2_avx(__2_columnset* left, __2_columnset* right, __2_columnset* ans)
|
||||
{
|
||||
__m256 temp = _mm256_add_ps(ALIGN256(left->column[0]), ALIGN256(right->column[0]));
|
||||
_mm256_storeu_ps(&ans->m[0][0], temp);
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
#include "StgSharpC.h"
|
||||
#include "ssc_intrinsic.h"
|
||||
#include <stdio.h>
|
||||
|
||||
INTERNAL void _cdecl transpose32(__3_columnset *source,
|
||||
__2_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
|
||||
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
}
|
||||
|
||||
INTERNAL void _cdecl transpose33(__3_columnset *source,
|
||||
__3_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
}
|
||||
|
||||
INTERNAL void _cdecl transpose34(__3_columnset *source,
|
||||
__4_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[3] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
}
|
||||
|
||||
INTERNAL 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));
|
||||
|
||||
//let sub row aligned
|
||||
__m128 subc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 1, 0, 2));
|
||||
__m128 subc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 0, 2, 1));
|
||||
|
||||
//multple all add row
|
||||
__m128 cache = _mm_mul_ps(c0, addc1);
|
||||
cache = _mm_mul_ps(cache, addc2);
|
||||
|
||||
//multiple all sub row
|
||||
__m128 sub = _mm_mul_ps(c0, subc1);
|
||||
sub = _mm_mul_ps(sub, subc2);
|
||||
|
||||
//main-corner sub sub-corner
|
||||
cache = _mm_sub_ps(cache, sub);
|
||||
|
||||
__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];
|
||||
}
|
||||
|
||||
INTERNAL float _cdecl det_mat3(__3_columnset *source,
|
||||
__3_columnset *transpose)
|
||||
{
|
||||
return det_mat3_internal(source->column[0], source->column[1],
|
||||
source->column[2]);
|
||||
}
|
||||
|
||||
#pragma region add
|
||||
|
||||
INTERNAL void __cdecl addmatrix3_sse(__3_columnset* left, __3_columnset* right, __3_columnset* ans)
|
||||
{
|
||||
__m128 temp0 = _mm_add_ps(ALIGN(left->column[0]), ALIGN(right->column[0]));
|
||||
__m128 temp1 = _mm_add_ps(ALIGN(left->column[1]), ALIGN(right->column[1]));
|
||||
__m128 temp2 = _mm_add_ps(ALIGN(left->column[2]), ALIGN(right->column[2]));
|
||||
|
||||
_mm_storeu_ps(&ans->m[0][0], temp0);
|
||||
_mm_storeu_ps(&ans->m[0][1], temp1);
|
||||
_mm_storeu_ps(&ans->m[0][2], temp2);
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl addmatrix3_sse(__3_columnset* left, __3_columnset* right, __3_columnset* ans)
|
||||
{
|
||||
__m256 temp0 = _mm256_add_ps(ALIGN256(left->part), ALIGN256(right->part));
|
||||
__m128 temp1 = _mm_add_ps(ALIGN(left->column[2]), ALIGN(right->column[2]));
|
||||
|
||||
_mm256_storeu_ps(&ans->m[0][0], temp0);
|
||||
_mm_storeu_ps(&ans->m[0][2], temp1);
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl addmatrix3_sse(__3_columnset* left, __3_columnset* right, __3_columnset* ans)
|
||||
{
|
||||
__m512
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
@@ -0,0 +1,76 @@
|
||||
|
||||
#include "StgSharpC.h"
|
||||
#include "ssc_intrinsic.h"
|
||||
#include <stdio.h>
|
||||
#include <pmmintrin.h>
|
||||
|
||||
INTERNAL void __cdecl transpose42(__4_columnset const *source, __2_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]),
|
||||
ALIGN(source->column[3]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
|
||||
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl transpose43(__4_columnset const *source, __3_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]),
|
||||
ALIGN(source->column[3]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]),
|
||||
ALIGN(source->column[3]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
}
|
||||
|
||||
INTERNAL void __cdecl transpose44(__4_columnset const *source, __4_columnset *target)
|
||||
{
|
||||
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
ALIGN(source->column[1]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]),
|
||||
ALIGN(source->column[3]),
|
||||
_MM_SHUFFLE(1, 0, 1, 0));
|
||||
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]),
|
||||
ALIGN(source->column[3]),
|
||||
_MM_SHUFFLE(3, 2, 3, 2));
|
||||
|
||||
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
target->column[3] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
}
|
||||
|
||||
INTERNAL float __cdecl det_mat4(__4_columnset const *mat_ptr, __4_columnset const *transpose)
|
||||
{
|
||||
__m128 mc0 = ALIGN(mat_ptr->column[0]);
|
||||
__m128 mc1 = ALIGN(mat_ptr->column[1]);
|
||||
__m128 mc2 = ALIGN(mat_ptr->column[2]);
|
||||
__m128 mc3 = ALIGN(mat_ptr->column[3]);
|
||||
|
||||
__m128 cogeneration = _mm_set_ps(det_mat3_internal(mc0, mc1, mc2),
|
||||
det_mat3_internal(mc0, mc1, mc3),
|
||||
det_mat3_internal(mc0, mc2, mc3),
|
||||
det_mat3_internal(mc1, mc2, mc3));
|
||||
__m128 retvec = _mm_mul_ps(ALIGN(transpose->column[3]), cogeneration);
|
||||
retvec = _mm_hsub_ps(retvec, retvec);
|
||||
retvec = _mm_hadd_ps(retvec, retvec);
|
||||
return -retvec.m128_f32[0];
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
#include "ssc_intrinsic.h"
|
||||
#include "StgSharpC.h"
|
||||
|
||||
static __m128i hash_mask = { .m128i_i32 = { 31 * 31 * 31, 31 * 31, 31, 1 } };
|
||||
|
||||
INTERNAL int quick_string_hash(byte const *str, int const length)
|
||||
{
|
||||
__m128i source;
|
||||
int source_length = length * 2;
|
||||
if (source_length > 15) {
|
||||
source = _mm_lddqu_si128((__m128i *)str);
|
||||
} else {
|
||||
byte buffer[16];
|
||||
memcpy(buffer, str, source_length);
|
||||
memset(buffer + source_length - 1, 0, 16 - source_length);
|
||||
source = _mm_lddqu_si128((__m128i *)buffer);
|
||||
}
|
||||
|
||||
__m128i ret = _mm_mullo_epi32(source, hash_mask);
|
||||
ret = _mm_hadd_epi32(ret, ret);
|
||||
ret = _mm_hadd_epi32(ret, ret);
|
||||
|
||||
return _mm_cvtsi128_si32(ret);
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifdef _MSC_VER
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#if _WIN32
|
||||
|
||||
|
||||
|
||||
#endif // __WIN32
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
#ifdef _MSC_VER
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "xmmintrin.h"
|
||||
/*
|
||||
#include "GLAD/gl.h"
|
||||
#include "glfw3.h"
|
||||
#include "StgSharpC.h"
|
||||
*/
|
||||
|
||||
#ifndef SSC_INTERNAL
|
||||
#define SSC_INTERNAL
|
||||
|
||||
#ifdef _WIN32
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#define SSCAPI __declspec(dllexport)
|
||||
#include <windows.h>
|
||||
#elif defined _LINUX_
|
||||
#define SSCAPI __attribute__((dllexport))
|
||||
#elif defined _APPLE_
|
||||
#define SSCAPI __attribute__((visibility("default")))
|
||||
#else
|
||||
#define SSCAPI
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define _CRT_SECURE_NO_WARNINGS 1
|
||||
#endif
|
||||
|
||||
#define SSCDECL __cdecl
|
||||
|
||||
#define zeroVec _mm_setzero_ps()
|
||||
|
||||
#define SSCAPI_DEFINE
|
||||
|
||||
#define PRIVATE static
|
||||
#define INTERNAL extern
|
||||
|
||||
#endif //
|
||||
@@ -0,0 +1,93 @@
|
||||
#ifdef _MSC_VER
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#ifndef SSC_INTRIN
|
||||
#define SSC_INTRIN
|
||||
|
||||
#include "StgSharpC.h"
|
||||
#include <immintrin.h>
|
||||
|
||||
typedef union column_2 {
|
||||
__m256 stream[1];
|
||||
__m128 column[2];
|
||||
float m[4][2];
|
||||
} __2_columnset;
|
||||
|
||||
typedef struct column_3 {
|
||||
__m256 part;
|
||||
__m128 column[3];
|
||||
float m[4][3];
|
||||
} __3_columnset;
|
||||
|
||||
typedef union column_4 {
|
||||
__m512 stream;
|
||||
__m256 half[2];
|
||||
__m128 column[4];
|
||||
float m[4][4];
|
||||
} __4_columnset;
|
||||
|
||||
typedef void (SSCDECL *VECTORNORMALIZEPROC)(__m128 *source, __m128 *target);
|
||||
typedef void (SSCDECL *MATRIXTRANSPOSEPROC)(void *source, void *target);
|
||||
typedef void (SSCDECL *MATRIXDETPROC)(void *mat, void *transpose);
|
||||
typedef void (SSCDECL *MATARITHMETIC)(void* left, void* right, void* ans);
|
||||
typedef void (SSCDECL *SCALERMATARITHMETIC)(void* left, void* right, void* ans);
|
||||
|
||||
#pragma region matix function
|
||||
|
||||
INTERNAL void normalize(__m128 *source, __m128 *target);
|
||||
|
||||
INTERNAL void SSCDECL addmatrix2_sse(__2_columnset* left, __2_columnset* right, __2_columnset* ans);
|
||||
INTERNAL void SSCDECL addmatrix2_avx(__2_columnset* left, __2_columnset* right, __2_columnset* ans);
|
||||
INTERNAL void SSCDECL transpose23(__2_columnset *source, __3_columnset *target);
|
||||
INTERNAL void SSCDECL transpose24(__2_columnset *source, __4_columnset *target);
|
||||
|
||||
|
||||
INTERNAL void SSCDECL addmatrix3_sse(__3_columnset* left, __3_columnset* right, __3_columnset* ans);
|
||||
INTERNAL void SSCDECL addmatrix3_avx(__3_columnset* left, __3_columnset* right, __3_columnset* ans);
|
||||
INTERNAL void SSCDECL addmatrix3_512(__3_columnset* left, __3_columnset* right, __3_columnset* ans);
|
||||
INTERNAL void SSCDECL transpose32(__3_columnset *source, __2_columnset *target);
|
||||
INTERNAL void SSCDECL transpose33(__3_columnset *source, __3_columnset *target);
|
||||
INTERNAL void SSCDECL transpose34(__3_columnset *source, __4_columnset *target);
|
||||
INTERNAL float SSCDECL det_mat3(__3_columnset *matrix, __3_columnset *tranpose);
|
||||
|
||||
INTERNAL void SSCDECL transpose42(__4_columnset *source, __2_columnset *target);
|
||||
INTERNAL void SSCDECL transpose43(__4_columnset *source, __3_columnset *target);
|
||||
INTERNAL void SSCDECL transpose44(__4_columnset *matrix, __4_columnset *target);
|
||||
INTERNAL float SSCDECL det_mat4(__4_columnset *matrix, __4_columnset *transpose);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region quick_hash
|
||||
|
||||
INTERNAL int quick_string_hash(byte *str, int length);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
typedef struct ssc_intrinsic {
|
||||
MATARITHMETIC add_m2;
|
||||
MATARITHMETIC add_m3;
|
||||
MATARITHMETIC add_m4;
|
||||
MATRIXDETPROC det_matrix33;
|
||||
MATRIXDETPROC det_matrix44;
|
||||
VECTORNORMALIZEPROC normalize_3;
|
||||
int (*string_quick_hash)(char *str, int length);
|
||||
MATRIXTRANSPOSEPROC transpose_23;
|
||||
MATRIXTRANSPOSEPROC transpose_24;
|
||||
MATRIXTRANSPOSEPROC transpose_32;
|
||||
MATRIXTRANSPOSEPROC transpose_33;
|
||||
MATRIXTRANSPOSEPROC transpose_34;
|
||||
MATRIXTRANSPOSEPROC transpose_42;
|
||||
MATRIXTRANSPOSEPROC transpose_43;
|
||||
MATRIXTRANSPOSEPROC transpose_44;
|
||||
} ssc_intrinsic;
|
||||
|
||||
enum most_advance_instruction
|
||||
{
|
||||
SSE,
|
||||
AVX,
|
||||
AVX512,
|
||||
NEON
|
||||
};
|
||||
|
||||
#endif // !SSC_INTRIN
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,772 @@
|
||||
/* stb_image - v2.28 - public domain image loader - http://nothings.org/stb
|
||||
no warranty implied; use at your own risk
|
||||
|
||||
Do this:
|
||||
#define STB_IMAGE_IMPLEMENTATION
|
||||
before you include this file in *one* C or C++ file to create the implementation.
|
||||
|
||||
// i.e. it should look like this:
|
||||
#include ...
|
||||
#include ...
|
||||
#include ...
|
||||
#define STB_IMAGE_IMPLEMENTATION
|
||||
#include "stb_image.h"
|
||||
|
||||
You can #define STBI_ASSERT(x) before the #include to avoid using assert.h.
|
||||
And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free
|
||||
|
||||
|
||||
QUICK NOTES:
|
||||
Primarily of interest to game developers and other people who can
|
||||
avoid problematic images and only need the trivial interface
|
||||
|
||||
JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib)
|
||||
PNG 1/2/4/8/16-bit-per-channel
|
||||
|
||||
TGA (not sure what subset, if a subset)
|
||||
BMP non-1bpp, non-RLE
|
||||
PSD (composited view only, no extra channels, 8/16 bit-per-channel)
|
||||
|
||||
GIF (*comp always reports as 4-channel)
|
||||
HDR (radiance rgbE format)
|
||||
PIC (Softimage PIC)
|
||||
PNM (PPM and PGM binary only)
|
||||
|
||||
Animated GIF still needs a proper API, but here's one way to do it:
|
||||
http://gist.github.com/urraka/685d9a6340b26b830d49
|
||||
|
||||
- decode from memory or through FILE (define STBI_NO_STDIO to remove code)
|
||||
- decode from arbitrary I/O callbacks
|
||||
- SIMD acceleration on x86/x64 (SSE2) and ARM (NEON)
|
||||
|
||||
Full documentation under "DOCUMENTATION" below.
|
||||
|
||||
|
||||
LICENSE
|
||||
|
||||
See end of file for license information.
|
||||
|
||||
RECENT REVISION HISTORY:
|
||||
|
||||
2.28 (2023-01-29) many error fixes, security errors, just tons of stuff
|
||||
2.27 (2021-07-11) document stbi_info better, 16-bit PNM support, bug fixes
|
||||
2.26 (2020-07-13) many minor fixes
|
||||
2.25 (2020-02-02) fix warnings
|
||||
2.24 (2020-02-02) fix warnings; thread-local failure_reason and flip_vertically
|
||||
2.23 (2019-08-11) fix clang static analysis warning
|
||||
2.22 (2019-03-04) gif fixes, fix warnings
|
||||
2.21 (2019-02-25) fix typo in comment
|
||||
2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs
|
||||
2.19 (2018-02-11) fix warning
|
||||
2.18 (2018-01-30) fix warnings
|
||||
2.17 (2018-01-29) bugfix, 1-bit BMP, 16-bitness query, fix warnings
|
||||
2.16 (2017-07-23) all functions have 16-bit variants; optimizations; bugfixes
|
||||
2.15 (2017-03-18) fix png-1,2,4; all Imagenet JPGs; no runtime SSE detection on GCC
|
||||
2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs
|
||||
2.13 (2016-12-04) experimental 16-bit API, only for PNG so far; fixes
|
||||
2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes
|
||||
2.11 (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64
|
||||
RGB-format JPEG; remove white matting in PSD;
|
||||
allocate large structures on the stack;
|
||||
correct channel count for PNG & BMP
|
||||
2.10 (2016-01-22) avoid warning introduced in 2.09
|
||||
2.09 (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED
|
||||
|
||||
See end of file for full revision history.
|
||||
|
||||
|
||||
============================ Contributors =========================
|
||||
|
||||
Image formats Extensions, features
|
||||
Sean Barrett (jpeg, png, bmp) Jetro Lauha (stbi_info)
|
||||
Nicolas Schulz (hdr, psd) Martin "SpartanJ" Golini (stbi_info)
|
||||
Jonathan Dummer (tga) James "moose2000" Brown (iPhone PNG)
|
||||
Jean-Marc Lienher (gif) Ben "Disch" Wenger (io callbacks)
|
||||
Tom Seddon (pic) Omar Cornut (1/2/4-bit PNG)
|
||||
Thatcher Ulrich (psd) Nicolas Guillemot (vertical flip)
|
||||
Ken Miller (pgm, ppm) Richard Mitton (16-bit PSD)
|
||||
github:urraka (animated gif) Junggon Kim (PNM comments)
|
||||
Christopher Forseth (animated gif) Daniel Gibson (16-bit TGA)
|
||||
socks-the-fox (16-bit PNG)
|
||||
Jeremy Sawicki (handle all ImageNet JPGs)
|
||||
Optimizations & bugfixes Mikhail Morozov (1-bit BMP)
|
||||
Fabian "ryg" Giesen Anael Seghezzi (is-16-bit query)
|
||||
Arseny Kapoulkine Simon Breuss (16-bit PNM)
|
||||
John-Mark Allen
|
||||
Carmelo J Fdez-Aguera
|
||||
|
||||
Bug & warning fixes
|
||||
Marc LeBlanc David Woo Guillaume George Martins Mozeiko
|
||||
Christpher Lloyd Jerry Jansson Joseph Thomson Blazej Dariusz Roszkowski
|
||||
Phil Jordan Dave Moore Roy Eltham
|
||||
Hayaki Saito Nathan Reed Won Chun
|
||||
Luke Graham Johan Duparc Nick Verigakis the Horde3D community
|
||||
Thomas Ruf Ronny Chevalier github:rlyeh
|
||||
Janez Zemva John Bartholomew Michal Cichon github:romigrou
|
||||
Jonathan Blow Ken Hamada Tero Hanninen github:svdijk
|
||||
Eugene Golushkov Laurent Gomila Cort Stratton github:snagar
|
||||
Aruelien Pocheville Sergio Gonzalez Thibault Reuille github:Zelex
|
||||
Cass Everitt Ryamond Barbiero github:grim210
|
||||
Paul Du Bois Engin Manap Aldo Culquicondor github:sammyhw
|
||||
Philipp Wiesemann Dale Weiler Oriol Ferrer Mesia github:phprus
|
||||
Josh Tobin Neil Bickford Matthew Gregan github:poppolopoppo
|
||||
Julian Raschke Gregory Mullen Christian Floisand github:darealshinji
|
||||
Baldur Karlsson Kevin Schmidt JR Smith github:Michaelangel007
|
||||
Brad Weinberger Matvey Cherevko github:mosra
|
||||
Luca Sas Alexander Veselov Zack Middleton [reserved]
|
||||
Ryan C. Gordon [reserved] [reserved]
|
||||
DO NOT ADD YOUR NAME HERE
|
||||
|
||||
Jacko Dirks
|
||||
|
||||
To add your name to the credits, pick a random blank space in the middle and fill it.
|
||||
80% of merge conflicts on stb PRs are due to people adding their name at the end
|
||||
of the credits.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef STBI_INCLUDE_STB_IMAGE_H
|
||||
#define STBI_INCLUDE_STB_IMAGE_H
|
||||
|
||||
// DOCUMENTATION
|
||||
//
|
||||
// Limitations:
|
||||
// - no 12-bit-per-channel JPEG
|
||||
// - no JPEGs with arithmetic coding
|
||||
// - GIF always returns *comp=4
|
||||
//
|
||||
// Basic usage (see HDR discussion below for HDR usage):
|
||||
// int x,y,n;
|
||||
// unsigned char *data = stbi_load(filename, &x, &y, &n, 0);
|
||||
// // ... process data if not NULL ...
|
||||
// // ... x = width, y = height, n = # 8-bit components per pixel ...
|
||||
// // ... replace '0' with '1'..'4' to force that many components per pixel
|
||||
// // ... but 'n' will always be the number that it would have been if you said 0
|
||||
// stbi_image_free(data);
|
||||
//
|
||||
// Standard parameters:
|
||||
// int *x -- outputs image width in pixels
|
||||
// int *y -- outputs image height in pixels
|
||||
// int *channels_in_file -- outputs # of image components in image file
|
||||
// int desired_channels -- if non-zero, # of image components requested in result
|
||||
//
|
||||
// The return value from an image loader is an 'unsigned char *' which points
|
||||
// to the pixel data, or NULL on an allocation failure or if the image is
|
||||
// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels,
|
||||
// with each pixel consisting of N interleaved 8-bit components; the first
|
||||
// pixel pointed to is top-left-most in the image. There is no padding between
|
||||
// image scanlines or between pixels, regardless of format. The number of
|
||||
// components N is 'desired_channels' if desired_channels is non-zero, or
|
||||
// *channels_in_file otherwise. If desired_channels is non-zero,
|
||||
// *channels_in_file has the number of components that _would_ have been
|
||||
// output otherwise. E.g. if you set desired_channels to 4, you will always
|
||||
// get RGBA output, but you can check *channels_in_file to see if it's trivially
|
||||
// opaque because e.g. there were only 3 channels in the source image.
|
||||
//
|
||||
// An output image with N components has the following components interleaved
|
||||
// in this order in each pixel:
|
||||
//
|
||||
// N=#comp components
|
||||
// 1 grey
|
||||
// 2 grey, alpha
|
||||
// 3 red, green, blue
|
||||
// 4 red, green, blue, alpha
|
||||
//
|
||||
// If image loading fails for any reason, the return value will be NULL,
|
||||
// and *x, *y, *channels_in_file will be unchanged. The function
|
||||
// stbi_failure_reason() can be queried for an extremely brief, end-user
|
||||
// unfriendly explanation of why the load failed. Define STBI_NO_FAILURE_STRINGS
|
||||
// to avoid compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly
|
||||
// more user-friendly ones.
|
||||
//
|
||||
// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized.
|
||||
//
|
||||
// To query the width, height and component count of an image without having to
|
||||
// decode the full file, you can use the stbi_info family of functions:
|
||||
//
|
||||
// int x,y,n,ok;
|
||||
// ok = stbi_info(filename, &x, &y, &n);
|
||||
// // returns ok=1 and sets x, y, n if image is a supported format,
|
||||
// // 0 otherwise.
|
||||
//
|
||||
// Note that stb_image pervasively uses ints in its public API for sizes,
|
||||
// including sizes of memory buffers. This is now part of the API and thus
|
||||
// hard to change without causing breakage. As a result, the various image
|
||||
// loaders all have certain limits on image size; these differ somewhat
|
||||
// by format but generally boil down to either just under 2GB or just under
|
||||
// 1GB. When the decoded image would be larger than this, stb_image decoding
|
||||
// will fail.
|
||||
//
|
||||
// Additionally, stb_image will reject image files that have any of their
|
||||
// dimensions set to a larger value than the configurable STBI_MAX_DIMENSIONS,
|
||||
// which defaults to 2**24 = 16777216 pixels. Due to the above memory limit,
|
||||
// the only way to have an image with such dimensions load correctly
|
||||
// is for it to have a rather extreme aspect ratio. Either way, the
|
||||
// assumption here is that such larger images are likely to be malformed
|
||||
// or malicious. If you do need to load an image with individual dimensions
|
||||
// larger than that, and it still fits in the overall size limit, you can
|
||||
// #define STBI_MAX_DIMENSIONS on your own to be something larger.
|
||||
//
|
||||
// ===========================================================================
|
||||
//
|
||||
// UNICODE:
|
||||
//
|
||||
// If compiling for Windows and you wish to use Unicode filenames, compile
|
||||
// with
|
||||
// #define STBI_WINDOWS_UTF8
|
||||
// and pass utf8-encoded filenames. Call stbi_convert_wchar_to_utf8 to convert
|
||||
// Windows wchar_t filenames to utf8.
|
||||
//
|
||||
// ===========================================================================
|
||||
//
|
||||
// Philosophy
|
||||
//
|
||||
// stb libraries are designed with the following priorities:
|
||||
//
|
||||
// 1. easy to use
|
||||
// 2. easy to maintain
|
||||
// 3. good performance
|
||||
//
|
||||
// Sometimes I let "good performance" creep up in priority over "easy to maintain",
|
||||
// and for best performance I may provide less-easy-to-use APIs that give higher
|
||||
// performance, in addition to the easy-to-use ones. Nevertheless, it's important
|
||||
// to keep in mind that from the standpoint of you, a client of this library,
|
||||
// all you care about is #1 and #3, and stb libraries DO NOT emphasize #3 above all.
|
||||
//
|
||||
// Some secondary priorities arise directly from the first two, some of which
|
||||
// provide more explicit reasons why performance can't be emphasized.
|
||||
//
|
||||
// - Portable ("ease of use")
|
||||
// - Small source code footprint ("easy to maintain")
|
||||
// - No dependencies ("ease of use")
|
||||
//
|
||||
// ===========================================================================
|
||||
//
|
||||
// I/O callbacks
|
||||
//
|
||||
// I/O callbacks allow you to read from arbitrary sources, like packaged
|
||||
// files or some other source. Data read from callbacks are processed
|
||||
// through a small internal buffer (currently 128 bytes) to try to reduce
|
||||
// overhead.
|
||||
//
|
||||
// The three functions you must define are "read" (reads some bytes of data),
|
||||
// "skip" (skips some bytes of data), "eof" (reports if the stream is at the end).
|
||||
//
|
||||
// ===========================================================================
|
||||
//
|
||||
// SIMD support
|
||||
//
|
||||
// The JPEG decoder will try to automatically use SIMD kernels on x86 when
|
||||
// supported by the compiler. For ARM Neon support, you must explicitly
|
||||
// request it.
|
||||
//
|
||||
// (The old do-it-yourself SIMD API is no longer supported in the current
|
||||
// code.)
|
||||
//
|
||||
// On x86, SSE2 will automatically be used when available based on a run-time
|
||||
// test; if not, the generic C versions are used as a fall-back. On ARM targets,
|
||||
// the typical path is to have separate builds for NEON and non-NEON devices
|
||||
// (at least this is true for iOS and Android). Therefore, the NEON support is
|
||||
// toggled by a build flag: define STBI_NEON to get NEON loops.
|
||||
//
|
||||
// If for some reason you do not want to use any of SIMD code, or if
|
||||
// you have issues compiling it, you can disable it entirely by
|
||||
// defining STBI_NO_SIMD.
|
||||
//
|
||||
// ===========================================================================
|
||||
//
|
||||
// HDR image support (disable by defining STBI_NO_HDR)
|
||||
//
|
||||
// stb_image supports loading HDR images in general, and currently the Radiance
|
||||
// .HDR file format specifically. You can still load any file through the existing
|
||||
// interface; if you attempt to load an HDR file, it will be automatically remapped
|
||||
// to LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1;
|
||||
// both of these constants can be reconfigured through this interface:
|
||||
//
|
||||
// stbi_hdr_to_ldr_gamma(2.2f);
|
||||
// stbi_hdr_to_ldr_scale(1.0f);
|
||||
//
|
||||
// (note, do not use _inverse_ constants; stbi_image will invert them
|
||||
// appropriately).
|
||||
//
|
||||
// Additionally, there is a new, parallel interface for loading files as
|
||||
// (linear) floats to preserve the full dynamic range:
|
||||
//
|
||||
// float *data = stbi_loadf(filename, &x, &y, &n, 0);
|
||||
//
|
||||
// If you load LDR images through this interface, those images will
|
||||
// be promoted to floating point values, run through the inverse of
|
||||
// constants corresponding to the above:
|
||||
//
|
||||
// stbi_ldr_to_hdr_scale(1.0f);
|
||||
// stbi_ldr_to_hdr_gamma(2.2f);
|
||||
//
|
||||
// Finally, given a filename (or an open file or memory block--see header
|
||||
// file for details) containing image data, you can query for the "most
|
||||
// appropriate" interface to use (that is, whether the image is HDR or
|
||||
// not), using:
|
||||
//
|
||||
// stbi_is_hdr(char *filename);
|
||||
//
|
||||
// ===========================================================================
|
||||
//
|
||||
// iPhone PNG support:
|
||||
//
|
||||
// We optionally support converting iPhone-formatted PNGs (which store
|
||||
// premultiplied BGRA) back to RGB, even though they're internally encoded
|
||||
// differently. To enable this conversion, call
|
||||
// stbi_convert_iphone_png_to_rgb(1).
|
||||
//
|
||||
// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per
|
||||
// pixel to remove any premultiplied alpha *only* if the image file explicitly
|
||||
// says there's premultiplied data (currently only happens in iPhone images,
|
||||
// and only if iPhone convert-to-rgb processing is on).
|
||||
//
|
||||
// ===========================================================================
|
||||
//
|
||||
// ADDITIONAL CONFIGURATION
|
||||
//
|
||||
// - You can suppress implementation of any of the decoders to reduce
|
||||
// your code footprint by #defining one or more of the following
|
||||
// symbols before creating the implementation.
|
||||
//
|
||||
// STBI_NO_JPEG
|
||||
// STBI_NO_PNG
|
||||
// STBI_NO_BMP
|
||||
// STBI_NO_PSD
|
||||
// STBI_NO_TGA
|
||||
// STBI_NO_GIF
|
||||
// STBI_NO_HDR
|
||||
// STBI_NO_PIC
|
||||
// STBI_NO_PNM (.ppm and .pgm)
|
||||
//
|
||||
// - You can request *only* certain decoders and suppress all other ones
|
||||
// (this will be more forward-compatible, as addition of new decoders
|
||||
// doesn't require you to disable them explicitly):
|
||||
//
|
||||
// STBI_ONLY_JPEG
|
||||
// STBI_ONLY_PNG
|
||||
// STBI_ONLY_BMP
|
||||
// STBI_ONLY_PSD
|
||||
// STBI_ONLY_TGA
|
||||
// STBI_ONLY_GIF
|
||||
// STBI_ONLY_HDR
|
||||
// STBI_ONLY_PIC
|
||||
// STBI_ONLY_PNM (.ppm and .pgm)
|
||||
//
|
||||
// - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still
|
||||
// want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB
|
||||
//
|
||||
// - If you define STBI_MAX_DIMENSIONS, stb_image will reject images greater
|
||||
// than that size (in either width or height) without further processing.
|
||||
// This is to let programs in the wild set an upper bound to prevent
|
||||
// denial-of-service attacks on untrusted data, as one could generate a
|
||||
// valid image of gigantic dimensions and force stb_image to allocate a
|
||||
// huge block of memory and spend disproportionate time decoding it. By
|
||||
// default this is set to (1 << 24), which is 16777216, but that's still
|
||||
// very big.
|
||||
|
||||
#ifndef STBI_NO_STDIO
|
||||
#include <stdio.h>
|
||||
#endif // STBI_NO_STDIO
|
||||
|
||||
#define STBI_VERSION 1
|
||||
|
||||
enum
|
||||
{
|
||||
STBI_default = 0, // only used for desired_channels
|
||||
|
||||
STBI_grey = 1,
|
||||
STBI_grey_alpha = 2,
|
||||
STBI_rgb = 3,
|
||||
STBI_rgb_alpha = 4
|
||||
};
|
||||
|
||||
#include <stdlib.h>
|
||||
typedef unsigned char stbi_uc;
|
||||
typedef unsigned short stbi_us;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef STBIDEF
|
||||
#ifdef STB_IMAGE_STATIC
|
||||
#define STBIDEF static
|
||||
#else
|
||||
#define STBIDEF extern
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PRIMARY API - works on images of any type
|
||||
//
|
||||
|
||||
//
|
||||
// load image by filename, open file, or memory buffer
|
||||
//
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int (*read) (void* user, char* data, int size); // fill 'data' with 'size' bytes. return number of bytes actually read
|
||||
void (*skip) (void* user, int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative
|
||||
int (*eof) (void* user); // returns nonzero if we are at end of file/data
|
||||
} stbi_io_callbacks;
|
||||
|
||||
////////////////////////////////////
|
||||
//
|
||||
// 8-bits-per-channel interface
|
||||
//
|
||||
|
||||
STBIDEF stbi_uc* stbi_load_from_memory(stbi_uc const* buffer, int len, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
STBIDEF stbi_uc* stbi_load_from_callbacks(stbi_io_callbacks const* clbk, void* user, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
|
||||
#ifndef STBI_NO_STDIO
|
||||
STBIDEF stbi_uc* stbi_load(char const* filename, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
STBIDEF void stbi_load_to_target(char const* filename, int* x, int* y, stbi_uc* target, int* channels_in_file, int desired_channels);
|
||||
STBIDEF stbi_uc* stbi_load_from_file(FILE* f, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
// for stbi_load_from_file, file pointer is left pointing immediately after image
|
||||
#endif
|
||||
|
||||
#ifndef STBI_NO_GIF
|
||||
STBIDEF stbi_uc* stbi_load_gif_from_memory(stbi_uc const* buffer, int len, int** delays, int* x, int* y, int* z, int* comp, int req_comp);
|
||||
#endif
|
||||
|
||||
#ifdef STBI_WINDOWS_UTF8
|
||||
STBIDEF int stbi_convert_wchar_to_utf8(char* buffer, size_t bufferlen, const wchar_t* input);
|
||||
#endif
|
||||
|
||||
////////////////////////////////////
|
||||
//
|
||||
// 16-bits-per-channel interface
|
||||
//
|
||||
|
||||
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);
|
||||
STBIDEF stbi_us* stbi_load_16_from_callbacks(stbi_io_callbacks const* clbk, void* user, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
|
||||
#ifndef STBI_NO_STDIO
|
||||
STBIDEF stbi_us* stbi_load_16(char const* filename, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
STBIDEF stbi_us* stbi_load_from_file_16(FILE* f, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
#endif
|
||||
|
||||
////////////////////////////////////
|
||||
//
|
||||
// float-per-channel interface
|
||||
//
|
||||
#ifndef STBI_NO_LINEAR
|
||||
STBIDEF float* stbi_loadf_from_memory(stbi_uc const* buffer, int len, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
STBIDEF float* stbi_loadf_from_callbacks(stbi_io_callbacks const* clbk, void* user, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
|
||||
#ifndef STBI_NO_STDIO
|
||||
STBIDEF float* stbi_loadf(char const* filename, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
STBIDEF float* stbi_loadf_from_file(FILE* f, int* x, int* y, int* channels_in_file, int desired_channels);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef STBI_NO_HDR
|
||||
STBIDEF void stbi_hdr_to_ldr_gamma(float gamma);
|
||||
STBIDEF void stbi_hdr_to_ldr_scale(float scale);
|
||||
#endif // STBI_NO_HDR
|
||||
|
||||
#ifndef STBI_NO_LINEAR
|
||||
STBIDEF void stbi_ldr_to_hdr_gamma(float gamma);
|
||||
STBIDEF void stbi_ldr_to_hdr_scale(float scale);
|
||||
#endif // STBI_NO_LINEAR
|
||||
|
||||
// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR
|
||||
STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const* clbk, void* user);
|
||||
STBIDEF int stbi_is_hdr_from_memory(stbi_uc const* buffer, int len);
|
||||
#ifndef STBI_NO_STDIO
|
||||
STBIDEF int stbi_is_hdr(char const* filename);
|
||||
STBIDEF int stbi_is_hdr_from_file(FILE* f);
|
||||
#endif // STBI_NO_STDIO
|
||||
|
||||
|
||||
// get a VERY brief reason for failure
|
||||
// on most compilers (and ALL modern mainstream compilers) this is threadsafe
|
||||
STBIDEF const char* stbi_failure_reason(void);
|
||||
|
||||
// free the loaded image -- this is just free()
|
||||
STBIDEF void stbi_image_free(void* retval_from_stbi_load);
|
||||
|
||||
// get image dimensions & components without fully decoding
|
||||
STBIDEF int stbi_info_from_memory(stbi_uc const* buffer, int len, int* x, int* y, int* comp);
|
||||
STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const* clbk, void* user, int* x, int* y, int* comp);
|
||||
STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const* buffer, int len);
|
||||
STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const* clbk, void* user);
|
||||
|
||||
#ifndef STBI_NO_STDIO
|
||||
STBIDEF int stbi_info(char const* filename, int* x, int* y, int* comp);
|
||||
STBIDEF int stbi_info_from_file(FILE* f, int* x, int* y, int* comp);
|
||||
STBIDEF int stbi_is_16_bit(char const* filename);
|
||||
STBIDEF int stbi_is_16_bit_from_file(FILE* f);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// for image formats that explicitly notate that they have premultiplied alpha,
|
||||
// we just return the colors as stored in the file. set this flag to force
|
||||
// unpremultiplication. results are undefined if the unpremultiply overflow.
|
||||
STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply);
|
||||
|
||||
// indicate whether we should process iphone images back to canonical format,
|
||||
// or just pass them through "as-is"
|
||||
STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert);
|
||||
|
||||
// flip the image vertically, so the first pixel in the output array is the bottom left
|
||||
STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip);
|
||||
|
||||
// as above, but only applies to images loaded on the thread that calls the function
|
||||
// this function is only available if your compiler supports thread-local variables;
|
||||
// calling it will fail to link if your compiler doesn't
|
||||
STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply);
|
||||
STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert);
|
||||
STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip);
|
||||
|
||||
// ZLIB client - used by PNG, available for other purposes
|
||||
|
||||
STBIDEF char* stbi_zlib_decode_malloc_guesssize(const char* buffer, int len, int initial_size, int* outlen);
|
||||
STBIDEF char* stbi_zlib_decode_malloc_guesssize_headerflag(const char* buffer, int len, int initial_size, int* outlen, int parse_header);
|
||||
STBIDEF char* stbi_zlib_decode_malloc(const char* buffer, int len, int* outlen);
|
||||
STBIDEF int stbi_zlib_decode_buffer(char* obuffer, int olen, const char* ibuffer, int ilen);
|
||||
|
||||
STBIDEF char* stbi_zlib_decode_noheader_malloc(const char* buffer, int len, int* outlen);
|
||||
STBIDEF int stbi_zlib_decode_noheader_buffer(char* obuffer, int olen, const char* ibuffer, int ilen);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
//
|
||||
//
|
||||
//// end header file /////////////////////////////////////////////////////
|
||||
#endif // STBI_INCLUDE_STB_IMAGE_H
|
||||
|
||||
/*
|
||||
revision history:
|
||||
2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs
|
||||
2.19 (2018-02-11) fix warning
|
||||
2.18 (2018-01-30) fix warnings
|
||||
2.17 (2018-01-29) change sbti__shiftsigned to avoid clang -O2 bug
|
||||
1-bit BMP
|
||||
*_is_16_bit api
|
||||
avoid warnings
|
||||
2.16 (2017-07-23) all functions have 16-bit variants;
|
||||
STBI_NO_STDIO works again;
|
||||
compilation fixes;
|
||||
fix rounding in unpremultiply;
|
||||
optimize vertical flip;
|
||||
disable raw_len validation;
|
||||
documentation fixes
|
||||
2.15 (2017-03-18) fix png-1,2,4 bug; now all Imagenet JPGs decode;
|
||||
warning fixes; disable run-time SSE detection on gcc;
|
||||
uniform handling of optional "return" values;
|
||||
thread-safe initialization of zlib tables
|
||||
2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs
|
||||
2.13 (2016-11-29) add 16-bit API, only supported for PNG right now
|
||||
2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes
|
||||
2.11 (2016-04-02) allocate large structures on the stack
|
||||
remove white matting for transparent PSD
|
||||
fix reported channel count for PNG & BMP
|
||||
re-enable SSE2 in non-gcc 64-bit
|
||||
support RGB-formatted JPEG
|
||||
read 16-bit PNGs (only as 8-bit)
|
||||
2.10 (2016-01-22) avoid warning introduced in 2.09 by STBI_REALLOC_SIZED
|
||||
2.09 (2016-01-16) allow comments in PNM files
|
||||
16-bit-per-pixel TGA (not bit-per-component)
|
||||
info() for TGA could break due to .hdr handling
|
||||
info() for BMP to shares code instead of sloppy parse
|
||||
can use STBI_REALLOC_SIZED if allocator doesn't support realloc
|
||||
code cleanup
|
||||
2.08 (2015-09-13) fix to 2.07 cleanup, reading RGB PSD as RGBA
|
||||
2.07 (2015-09-13) fix compiler warnings
|
||||
partial animated GIF support
|
||||
limited 16-bpc PSD support
|
||||
#ifdef unused functions
|
||||
bug with < 92 byte PIC,PNM,HDR,TGA
|
||||
2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value
|
||||
2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning
|
||||
2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit
|
||||
2.03 (2015-04-12) extra corruption checking (mmozeiko)
|
||||
stbi_set_flip_vertically_on_load (nguillemot)
|
||||
fix NEON support; fix mingw support
|
||||
2.02 (2015-01-19) fix incorrect assert, fix warning
|
||||
2.01 (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2
|
||||
2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG
|
||||
2.00 (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg)
|
||||
progressive JPEG (stb)
|
||||
PGM/PPM support (Ken Miller)
|
||||
STBI_MALLOC,STBI_REALLOC,STBI_FREE
|
||||
GIF bugfix -- seemingly never worked
|
||||
STBI_NO_*, STBI_ONLY_*
|
||||
1.48 (2014-12-14) fix incorrectly-named assert()
|
||||
1.47 (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb)
|
||||
optimize PNG (ryg)
|
||||
fix bug in interlaced PNG with user-specified channel count (stb)
|
||||
1.46 (2014-08-26)
|
||||
fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG
|
||||
1.45 (2014-08-16)
|
||||
fix MSVC-ARM internal compiler error by wrapping malloc
|
||||
1.44 (2014-08-07)
|
||||
various warning fixes from Ronny Chevalier
|
||||
1.43 (2014-07-15)
|
||||
fix MSVC-only compiler problem in code changed in 1.42
|
||||
1.42 (2014-07-09)
|
||||
don't define _CRT_SECURE_NO_WARNINGS (affects user code)
|
||||
fixes to stbi__cleanup_jpeg path
|
||||
added STBI_ASSERT to avoid requiring assert.h
|
||||
1.41 (2014-06-25)
|
||||
fix search&replace from 1.36 that messed up comments/error messages
|
||||
1.40 (2014-06-22)
|
||||
fix gcc struct-initialization warning
|
||||
1.39 (2014-06-15)
|
||||
fix to TGA optimization when req_comp != number of components in TGA;
|
||||
fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite)
|
||||
add support for BMP version 5 (more ignored fields)
|
||||
1.38 (2014-06-06)
|
||||
suppress MSVC warnings on integer casts truncating values
|
||||
fix accidental rename of 'skip' field of I/O
|
||||
1.37 (2014-06-04)
|
||||
remove duplicate typedef
|
||||
1.36 (2014-06-03)
|
||||
convert to header file single-file library
|
||||
if de-iphone isn't set, load iphone images color-swapped instead of returning NULL
|
||||
1.35 (2014-05-27)
|
||||
various warnings
|
||||
fix broken STBI_SIMD path
|
||||
fix bug where stbi_load_from_file no longer left file pointer in correct place
|
||||
fix broken non-easy path for 32-bit BMP (possibly never used)
|
||||
TGA optimization by Arseny Kapoulkine
|
||||
1.34 (unknown)
|
||||
use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case
|
||||
1.33 (2011-07-14)
|
||||
make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements
|
||||
1.32 (2011-07-13)
|
||||
support for "info" function for all supported filetypes (SpartanJ)
|
||||
1.31 (2011-06-20)
|
||||
a few more leak fixes, bug in PNG handling (SpartanJ)
|
||||
1.30 (2011-06-11)
|
||||
added ability to load files via callbacks to accomidate custom input streams (Ben Wenger)
|
||||
removed deprecated format-specific test/load functions
|
||||
removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway
|
||||
error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha)
|
||||
fix inefficiency in decoding 32-bit BMP (David Woo)
|
||||
1.29 (2010-08-16)
|
||||
various warning fixes from Aurelien Pocheville
|
||||
1.28 (2010-08-01)
|
||||
fix bug in GIF palette transparency (SpartanJ)
|
||||
1.27 (2010-08-01)
|
||||
cast-to-stbi_uc to fix warnings
|
||||
1.26 (2010-07-24)
|
||||
fix bug in file buffering for PNG reported by SpartanJ
|
||||
1.25 (2010-07-17)
|
||||
refix trans_data warning (Won Chun)
|
||||
1.24 (2010-07-12)
|
||||
perf improvements reading from files on platforms with lock-heavy fgetc()
|
||||
minor perf improvements for jpeg
|
||||
deprecated type-specific functions so we'll get feedback if they're needed
|
||||
attempt to fix trans_data warning (Won Chun)
|
||||
1.23 fixed bug in iPhone support
|
||||
1.22 (2010-07-10)
|
||||
removed image *writing* support
|
||||
stbi_info support from Jetro Lauha
|
||||
GIF support from Jean-Marc Lienher
|
||||
iPhone PNG-extensions from James Brown
|
||||
warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva)
|
||||
1.21 fix use of 'stbi_uc' in header (reported by jon blow)
|
||||
1.20 added support for Softimage PIC, by Tom Seddon
|
||||
1.19 bug in interlaced PNG corruption check (found by ryg)
|
||||
1.18 (2008-08-02)
|
||||
fix a threading bug (local mutable static)
|
||||
1.17 support interlaced PNG
|
||||
1.16 major bugfix - stbi__convert_format converted one too many pixels
|
||||
1.15 initialize some fields for thread safety
|
||||
1.14 fix threadsafe conversion bug
|
||||
header-file-only version (#define STBI_HEADER_FILE_ONLY before including)
|
||||
1.13 threadsafe
|
||||
1.12 const qualifiers in the API
|
||||
1.11 Support installable IDCT, colorspace conversion routines
|
||||
1.10 Fixes for 64-bit (don't use "unsigned long")
|
||||
optimized upsampling by Fabian "ryg" Giesen
|
||||
1.09 Fix format-conversion for PSD code (bad global variables!)
|
||||
1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz
|
||||
1.07 attempt to fix C++ warning/errors again
|
||||
1.06 attempt to fix C++ warning/errors again
|
||||
1.05 fix TGA loading to return correct *comp and use good luminance calc
|
||||
1.04 default float alpha is 1, not 255; use 'void *' for stbi_image_free
|
||||
1.03 bugfixes to STBI_NO_STDIO, STBI_NO_HDR
|
||||
1.02 support for (subset of) HDR files, float interface for preferred access to them
|
||||
1.01 fix bug: possible bug in handling right-side up bmps... not sure
|
||||
fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all
|
||||
1.00 interface to zlib that skips zlib header
|
||||
0.99 correct handling of alpha in palette
|
||||
0.98 TGA loader by lonesock; dynamically add loaders (untested)
|
||||
0.97 jpeg errors on too large a file; also catch another malloc failure
|
||||
0.96 fix detection of invalid v value - particleman@mollyrocket forum
|
||||
0.95 during header scan, seek to markers in case of padding
|
||||
0.94 STBI_NO_STDIO to disable stdio usage; rename all #defines the same
|
||||
0.93 handle jpegtran output; verbose errors
|
||||
0.92 read 4,8,16,24,32-bit BMP files of several formats
|
||||
0.91 output 24-bit Windows 3.0 BMP files
|
||||
0.90 fix a few more warnings; bump version number to approach 1.0
|
||||
0.61 bugfixes due to Marc LeBlanc, Christopher Lloyd
|
||||
0.60 fix compiling as c++
|
||||
0.59 fix warnings: merge Dave Moore's -Wall fixes
|
||||
0.58 fix bug: zlib uncompressed mode len/nlen was wrong endian
|
||||
0.57 fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available
|
||||
0.56 fix bug: zlib uncompressed mode len vs. nlen
|
||||
0.55 fix bug: restart_interval not initialized to 0
|
||||
0.54 allow NULL for 'int *comp'
|
||||
0.53 fix bug in png 3->4; speedup png decoding
|
||||
0.52 png handles req_comp=3,4 directly; minor cleanup; jpeg comments
|
||||
0.51 obey req_comp requests, 1-component jpegs return as 1-component,
|
||||
on 'test' only check type, not whether we support this variant
|
||||
0.50 (2006-11-19)
|
||||
first released version
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
------------------------------------------------------------------------------
|
||||
This software is available under 2 licenses -- choose whichever you prefer.
|
||||
------------------------------------------------------------------------------
|
||||
ALTERNATIVE A - MIT License
|
||||
Copyright (c) 2017 Sean Barrett
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
------------------------------------------------------------------------------
|
||||
ALTERNATIVE B - Public Domain (www.unlicense.org)
|
||||
This is free and unencumbered software released into the public domain.
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this
|
||||
software, either in source code form or as a compiled binary, for any purpose,
|
||||
commercial or non-commercial, and by any means.
|
||||
In jurisdictions that recognize copyright laws, the author or authors of this
|
||||
software dedicate any and all copyright interest in the software to the public
|
||||
domain. We make this dedication for the benefit of the public at large and to
|
||||
the detriment of our heirs and successors. We intend this dedication to be an
|
||||
overt act of relinquishment in perpetuity of all present and future rights to
|
||||
this software under copyright law.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
------------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -0,0 +1,45 @@
|
||||
#include "StgSharpC.h"
|
||||
#include "ssc_internal.h"
|
||||
|
||||
SSCAPI void SSCDECL normalize(__m128 *source, __m128 *target)
|
||||
{
|
||||
__m128 a_length_sq = _mm_mul_ps(*source, *source);
|
||||
a_length_sq = _mm_add_ps(a_length_sq,
|
||||
_mm_shuffle_ps(a_length_sq, a_length_sq,
|
||||
_MM_SHUFFLE(2, 3, 0, 1)));
|
||||
a_length_sq = _mm_add_ss(a_length_sq,
|
||||
_mm_shuffle_ps(a_length_sq, a_length_sq,
|
||||
_MM_SHUFFLE(0, 0, 3, 2)));
|
||||
|
||||
__m128 a_inv_length = _mm_rsqrt_ps(a_length_sq);
|
||||
*source = _mm_mul_ps(*source, a_inv_length);
|
||||
|
||||
__m128 dot_product = _mm_mul_ps(*target, *source);
|
||||
dot_product = _mm_add_ps(dot_product,
|
||||
_mm_shuffle_ps(dot_product, dot_product,
|
||||
_MM_SHUFFLE(2, 3, 0, 1)));
|
||||
dot_product = _mm_add_ss(dot_product,
|
||||
_mm_shuffle_ps(dot_product, dot_product,
|
||||
_MM_SHUFFLE(0, 0, 3, 2)));
|
||||
|
||||
__m128 b_orthogonal =
|
||||
_mm_sub_ps(*target, _mm_mul_ps(*source, dot_product));
|
||||
|
||||
__m128 b_length_sq = _mm_mul_ps(b_orthogonal, b_orthogonal);
|
||||
b_length_sq = _mm_add_ps(b_length_sq,
|
||||
_mm_shuffle_ps(b_length_sq, b_length_sq,
|
||||
_MM_SHUFFLE(2, 3, 0, 1)));
|
||||
b_length_sq = _mm_add_ss(b_length_sq,
|
||||
_mm_shuffle_ps(b_length_sq, b_length_sq,
|
||||
_MM_SHUFFLE(0, 0, 3, 2)));
|
||||
|
||||
__m128 b_inv_length = _mm_rsqrt_ps(b_length_sq);
|
||||
*target = _mm_mul_ps(b_orthogonal, b_inv_length);
|
||||
}
|
||||
|
||||
void Foo()
|
||||
{
|
||||
|
||||
__m128 a1 = {0.0f,1.0f,2.0f,3.0f};
|
||||
|
||||
}
|
||||
@@ -0,0 +1,981 @@
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
* Generator: C/C++
|
||||
* Specification: wgl
|
||||
* Extensions: 57
|
||||
*
|
||||
* APIs:
|
||||
* - wgl=1.0
|
||||
*
|
||||
* Options:
|
||||
* - ALIAS = False
|
||||
* - DEBUG = False
|
||||
* - HEADER_ONLY = False
|
||||
* - 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 --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=MX
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef GLAD_WGL_H_
|
||||
#define GLAD_WGL_H_
|
||||
|
||||
#include <windows.h>
|
||||
#include "gl.h"
|
||||
|
||||
#define GLAD_WGL
|
||||
|
||||
#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.5"
|
||||
|
||||
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 ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
|
||||
#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
|
||||
#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
|
||||
#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
|
||||
#define ERROR_INVALID_PROFILE_ARB 0x2096
|
||||
#define ERROR_INVALID_VERSION_ARB 0x2095
|
||||
#define ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
|
||||
#define WGL_ACCELERATION_ARB 0x2003
|
||||
#define WGL_ACCELERATION_EXT 0x2003
|
||||
#define WGL_ACCESS_READ_ONLY_NV 0x00000000
|
||||
#define WGL_ACCESS_READ_WRITE_NV 0x00000001
|
||||
#define WGL_ACCESS_WRITE_DISCARD_NV 0x00000002
|
||||
#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
|
||||
#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
|
||||
#define WGL_ACCUM_BITS_ARB 0x201D
|
||||
#define WGL_ACCUM_BITS_EXT 0x201D
|
||||
#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
|
||||
#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
|
||||
#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
|
||||
#define WGL_ACCUM_GREEN_BITS_EXT 0x201F
|
||||
#define WGL_ACCUM_RED_BITS_ARB 0x201E
|
||||
#define WGL_ACCUM_RED_BITS_EXT 0x201E
|
||||
#define WGL_ALPHA_BITS_ARB 0x201B
|
||||
#define WGL_ALPHA_BITS_EXT 0x201B
|
||||
#define WGL_ALPHA_SHIFT_ARB 0x201C
|
||||
#define WGL_ALPHA_SHIFT_EXT 0x201C
|
||||
#define WGL_AUX0_ARB 0x2087
|
||||
#define WGL_AUX1_ARB 0x2088
|
||||
#define WGL_AUX2_ARB 0x2089
|
||||
#define WGL_AUX3_ARB 0x208A
|
||||
#define WGL_AUX4_ARB 0x208B
|
||||
#define WGL_AUX5_ARB 0x208C
|
||||
#define WGL_AUX6_ARB 0x208D
|
||||
#define WGL_AUX7_ARB 0x208E
|
||||
#define WGL_AUX8_ARB 0x208F
|
||||
#define WGL_AUX9_ARB 0x2090
|
||||
#define WGL_AUX_BUFFERS_ARB 0x2024
|
||||
#define WGL_AUX_BUFFERS_EXT 0x2024
|
||||
#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
|
||||
#define WGL_BACK_LEFT_ARB 0x2085
|
||||
#define WGL_BACK_RIGHT_ARB 0x2086
|
||||
#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
|
||||
#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
|
||||
#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
|
||||
#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
|
||||
#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
|
||||
#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
|
||||
#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
|
||||
#define WGL_BLUE_BITS_ARB 0x2019
|
||||
#define WGL_BLUE_BITS_EXT 0x2019
|
||||
#define WGL_BLUE_SHIFT_ARB 0x201A
|
||||
#define WGL_BLUE_SHIFT_EXT 0x201A
|
||||
#define WGL_COLORSPACE_EXT 0x309D
|
||||
#define WGL_COLORSPACE_LINEAR_EXT 0x308A
|
||||
#define WGL_COLORSPACE_SRGB_EXT 0x3089
|
||||
#define WGL_COLOR_BITS_ARB 0x2014
|
||||
#define WGL_COLOR_BITS_EXT 0x2014
|
||||
#define WGL_COLOR_SAMPLES_NV 0x20B9
|
||||
#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
|
||||
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
|
||||
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x00000001
|
||||
#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
|
||||
#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
|
||||
#define WGL_CONTEXT_FLAGS_ARB 0x2094
|
||||
#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
|
||||
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
|
||||
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
||||
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
|
||||
#define WGL_CONTEXT_MULTIGPU_ATTRIB_AFR_NV 0x20AC
|
||||
#define WGL_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV 0x20AD
|
||||
#define WGL_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV 0x20AE
|
||||
#define WGL_CONTEXT_MULTIGPU_ATTRIB_NV 0x20AA
|
||||
#define WGL_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV 0x20AB
|
||||
#define WGL_CONTEXT_OPENGL_NO_ERROR_ARB 0x31B3
|
||||
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
|
||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
|
||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
|
||||
#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
|
||||
#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
|
||||
#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
|
||||
#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
|
||||
#define WGL_COVERAGE_SAMPLES_NV 0x2042
|
||||
#define WGL_CUBE_MAP_FACE_ARB 0x207C
|
||||
#define WGL_DEPTH_BITS_ARB 0x2022
|
||||
#define WGL_DEPTH_BITS_EXT 0x2022
|
||||
#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
|
||||
#define WGL_DEPTH_COMPONENT_NV 0x20A7
|
||||
#define WGL_DEPTH_FLOAT_EXT 0x2040
|
||||
#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
|
||||
#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
|
||||
#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
|
||||
#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
|
||||
#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
|
||||
#define WGL_DOUBLE_BUFFER_ARB 0x2011
|
||||
#define WGL_DOUBLE_BUFFER_EXT 0x2011
|
||||
#define WGL_DRAW_TO_BITMAP_ARB 0x2002
|
||||
#define WGL_DRAW_TO_BITMAP_EXT 0x2002
|
||||
#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
|
||||
#define WGL_DRAW_TO_PBUFFER_EXT 0x202D
|
||||
#define WGL_DRAW_TO_WINDOW_ARB 0x2001
|
||||
#define WGL_DRAW_TO_WINDOW_EXT 0x2001
|
||||
#define WGL_FLOAT_COMPONENTS_NV 0x20B0
|
||||
#define WGL_FONT_LINES 0
|
||||
#define WGL_FONT_POLYGONS 1
|
||||
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
|
||||
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
|
||||
#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
|
||||
#define WGL_FRONT_LEFT_ARB 0x2083
|
||||
#define WGL_FRONT_RIGHT_ARB 0x2084
|
||||
#define WGL_FULL_ACCELERATION_ARB 0x2027
|
||||
#define WGL_FULL_ACCELERATION_EXT 0x2027
|
||||
#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
|
||||
#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
|
||||
#define WGL_GENERIC_ACCELERATION_ARB 0x2026
|
||||
#define WGL_GENERIC_ACCELERATION_EXT 0x2026
|
||||
#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
|
||||
#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
|
||||
#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
|
||||
#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
|
||||
#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
|
||||
#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
|
||||
#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
|
||||
#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
|
||||
#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
|
||||
#define WGL_GPU_CLOCK_AMD 0x21A4
|
||||
#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
|
||||
#define WGL_GPU_NUM_PIPES_AMD 0x21A5
|
||||
#define WGL_GPU_NUM_RB_AMD 0x21A7
|
||||
#define WGL_GPU_NUM_SIMD_AMD 0x21A6
|
||||
#define WGL_GPU_NUM_SPI_AMD 0x21A8
|
||||
#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
|
||||
#define WGL_GPU_RAM_AMD 0x21A3
|
||||
#define WGL_GPU_RENDERER_STRING_AMD 0x1F01
|
||||
#define WGL_GPU_VENDOR_AMD 0x1F00
|
||||
#define WGL_GREEN_BITS_ARB 0x2017
|
||||
#define WGL_GREEN_BITS_EXT 0x2017
|
||||
#define WGL_GREEN_SHIFT_ARB 0x2018
|
||||
#define WGL_GREEN_SHIFT_EXT 0x2018
|
||||
#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
|
||||
#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
|
||||
#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
|
||||
#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
|
||||
#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
|
||||
#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
|
||||
#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
|
||||
#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
|
||||
#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
|
||||
#define WGL_MIPMAP_LEVEL_ARB 0x207B
|
||||
#define WGL_MIPMAP_TEXTURE_ARB 0x2074
|
||||
#define WGL_NEED_PALETTE_ARB 0x2004
|
||||
#define WGL_NEED_PALETTE_EXT 0x2004
|
||||
#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
|
||||
#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
|
||||
#define WGL_NO_ACCELERATION_ARB 0x2025
|
||||
#define WGL_NO_ACCELERATION_EXT 0x2025
|
||||
#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261
|
||||
#define WGL_NO_TEXTURE_ARB 0x2077
|
||||
#define WGL_NUMBER_OVERLAYS_ARB 0x2008
|
||||
#define WGL_NUMBER_OVERLAYS_EXT 0x2008
|
||||
#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
|
||||
#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
|
||||
#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
|
||||
#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
|
||||
#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20CF
|
||||
#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
|
||||
#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
|
||||
#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
|
||||
#define WGL_PBUFFER_HEIGHT_ARB 0x2035
|
||||
#define WGL_PBUFFER_HEIGHT_EXT 0x2035
|
||||
#define WGL_PBUFFER_LARGEST_ARB 0x2033
|
||||
#define WGL_PBUFFER_LARGEST_EXT 0x2033
|
||||
#define WGL_PBUFFER_LOST_ARB 0x2036
|
||||
#define WGL_PBUFFER_WIDTH_ARB 0x2034
|
||||
#define WGL_PBUFFER_WIDTH_EXT 0x2034
|
||||
#define WGL_PIXEL_TYPE_ARB 0x2013
|
||||
#define WGL_PIXEL_TYPE_EXT 0x2013
|
||||
#define WGL_RED_BITS_ARB 0x2015
|
||||
#define WGL_RED_BITS_EXT 0x2015
|
||||
#define WGL_RED_SHIFT_ARB 0x2016
|
||||
#define WGL_RED_SHIFT_EXT 0x2016
|
||||
#define WGL_SAMPLES_3DFX 0x2061
|
||||
#define WGL_SAMPLES_ARB 0x2042
|
||||
#define WGL_SAMPLES_EXT 0x2042
|
||||
#define WGL_SAMPLE_BUFFERS_3DFX 0x2060
|
||||
#define WGL_SAMPLE_BUFFERS_ARB 0x2041
|
||||
#define WGL_SAMPLE_BUFFERS_EXT 0x2041
|
||||
#define WGL_SHARE_ACCUM_ARB 0x200E
|
||||
#define WGL_SHARE_ACCUM_EXT 0x200E
|
||||
#define WGL_SHARE_DEPTH_ARB 0x200C
|
||||
#define WGL_SHARE_DEPTH_EXT 0x200C
|
||||
#define WGL_SHARE_STENCIL_ARB 0x200D
|
||||
#define WGL_SHARE_STENCIL_EXT 0x200D
|
||||
#define WGL_STENCIL_BITS_ARB 0x2023
|
||||
#define WGL_STENCIL_BITS_EXT 0x2023
|
||||
#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
|
||||
#define WGL_STEREO_ARB 0x2012
|
||||
#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
|
||||
#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
|
||||
#define WGL_STEREO_EXT 0x2012
|
||||
#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
|
||||
#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
|
||||
#define WGL_SUPPORT_GDI_ARB 0x200F
|
||||
#define WGL_SUPPORT_GDI_EXT 0x200F
|
||||
#define WGL_SUPPORT_OPENGL_ARB 0x2010
|
||||
#define WGL_SUPPORT_OPENGL_EXT 0x2010
|
||||
#define WGL_SWAP_COPY_ARB 0x2029
|
||||
#define WGL_SWAP_COPY_EXT 0x2029
|
||||
#define WGL_SWAP_EXCHANGE_ARB 0x2028
|
||||
#define WGL_SWAP_EXCHANGE_EXT 0x2028
|
||||
#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
|
||||
#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
|
||||
#define WGL_SWAP_MAIN_PLANE 0x00000001
|
||||
#define WGL_SWAP_METHOD_ARB 0x2007
|
||||
#define WGL_SWAP_METHOD_EXT 0x2007
|
||||
#define WGL_SWAP_OVERLAY1 0x00000002
|
||||
#define WGL_SWAP_OVERLAY10 0x00000400
|
||||
#define WGL_SWAP_OVERLAY11 0x00000800
|
||||
#define WGL_SWAP_OVERLAY12 0x00001000
|
||||
#define WGL_SWAP_OVERLAY13 0x00002000
|
||||
#define WGL_SWAP_OVERLAY14 0x00004000
|
||||
#define WGL_SWAP_OVERLAY15 0x00008000
|
||||
#define WGL_SWAP_OVERLAY2 0x00000004
|
||||
#define WGL_SWAP_OVERLAY3 0x00000008
|
||||
#define WGL_SWAP_OVERLAY4 0x00000010
|
||||
#define WGL_SWAP_OVERLAY5 0x00000020
|
||||
#define WGL_SWAP_OVERLAY6 0x00000040
|
||||
#define WGL_SWAP_OVERLAY7 0x00000080
|
||||
#define WGL_SWAP_OVERLAY8 0x00000100
|
||||
#define WGL_SWAP_OVERLAY9 0x00000200
|
||||
#define WGL_SWAP_UNDEFINED_ARB 0x202A
|
||||
#define WGL_SWAP_UNDEFINED_EXT 0x202A
|
||||
#define WGL_SWAP_UNDERLAY1 0x00010000
|
||||
#define WGL_SWAP_UNDERLAY10 0x02000000
|
||||
#define WGL_SWAP_UNDERLAY11 0x04000000
|
||||
#define WGL_SWAP_UNDERLAY12 0x08000000
|
||||
#define WGL_SWAP_UNDERLAY13 0x10000000
|
||||
#define WGL_SWAP_UNDERLAY14 0x20000000
|
||||
#define WGL_SWAP_UNDERLAY15 0x40000000
|
||||
#define WGL_SWAP_UNDERLAY2 0x00020000
|
||||
#define WGL_SWAP_UNDERLAY3 0x00040000
|
||||
#define WGL_SWAP_UNDERLAY4 0x00080000
|
||||
#define WGL_SWAP_UNDERLAY5 0x00100000
|
||||
#define WGL_SWAP_UNDERLAY6 0x00200000
|
||||
#define WGL_SWAP_UNDERLAY7 0x00400000
|
||||
#define WGL_SWAP_UNDERLAY8 0x00800000
|
||||
#define WGL_SWAP_UNDERLAY9 0x01000000
|
||||
#define WGL_TEXTURE_1D_ARB 0x2079
|
||||
#define WGL_TEXTURE_2D_ARB 0x207A
|
||||
#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
|
||||
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
|
||||
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
|
||||
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
|
||||
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
|
||||
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
|
||||
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
|
||||
#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
|
||||
#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
|
||||
#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
|
||||
#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
|
||||
#define WGL_TEXTURE_FLOAT_R_NV 0x20B5
|
||||
#define WGL_TEXTURE_FORMAT_ARB 0x2072
|
||||
#define WGL_TEXTURE_RECTANGLE_ATI 0x21A5
|
||||
#define WGL_TEXTURE_RECTANGLE_NV 0x20A2
|
||||
#define WGL_TEXTURE_RGBA_ARB 0x2076
|
||||
#define WGL_TEXTURE_RGB_ARB 0x2075
|
||||
#define WGL_TEXTURE_TARGET_ARB 0x2073
|
||||
#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
|
||||
#define WGL_TRANSPARENT_ARB 0x200A
|
||||
#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
|
||||
#define WGL_TRANSPARENT_EXT 0x200A
|
||||
#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
|
||||
#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
|
||||
#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
|
||||
#define WGL_TRANSPARENT_VALUE_EXT 0x200B
|
||||
#define WGL_TYPE_COLORINDEX_ARB 0x202C
|
||||
#define WGL_TYPE_COLORINDEX_EXT 0x202C
|
||||
#define WGL_TYPE_RGBA_ARB 0x202B
|
||||
#define WGL_TYPE_RGBA_EXT 0x202B
|
||||
#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
|
||||
#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
|
||||
#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
|
||||
#define WGL_UNIQUE_ID_NV 0x20CE
|
||||
#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
|
||||
#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
|
||||
#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
|
||||
#define WGL_VIDEO_OUT_COLOR_NV 0x20C3
|
||||
#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
|
||||
#define WGL_VIDEO_OUT_FIELD_1 0x20C9
|
||||
#define WGL_VIDEO_OUT_FIELD_2 0x20CA
|
||||
#define WGL_VIDEO_OUT_FRAME 0x20C8
|
||||
#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];
|
||||
CHAR DeviceString[128];
|
||||
DWORD Flags;
|
||||
RECT rcVirtualScreen;
|
||||
};
|
||||
DECLARE_HANDLE(HPBUFFERARB);
|
||||
DECLARE_HANDLE(HPBUFFEREXT);
|
||||
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
|
||||
DECLARE_HANDLE(HPVIDEODEV);
|
||||
DECLARE_HANDLE(HPGPUNV);
|
||||
DECLARE_HANDLE(HGPUNV);
|
||||
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
|
||||
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
|
||||
GLAD_API_CALL int GLAD_WGL_3DFX_multisample;
|
||||
#define WGL_3DL_stereo_control 1
|
||||
GLAD_API_CALL int GLAD_WGL_3DL_stereo_control;
|
||||
#define WGL_AMD_gpu_association 1
|
||||
GLAD_API_CALL int GLAD_WGL_AMD_gpu_association;
|
||||
#define WGL_ARB_buffer_region 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_buffer_region;
|
||||
#define WGL_ARB_context_flush_control 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_context_flush_control;
|
||||
#define WGL_ARB_create_context 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_create_context;
|
||||
#define WGL_ARB_create_context_no_error 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_create_context_no_error;
|
||||
#define WGL_ARB_create_context_profile 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_create_context_profile;
|
||||
#define WGL_ARB_create_context_robustness 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_create_context_robustness;
|
||||
#define WGL_ARB_extensions_string 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_extensions_string;
|
||||
#define WGL_ARB_framebuffer_sRGB 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_framebuffer_sRGB;
|
||||
#define WGL_ARB_make_current_read 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_make_current_read;
|
||||
#define WGL_ARB_multisample 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_multisample;
|
||||
#define WGL_ARB_pbuffer 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_pbuffer;
|
||||
#define WGL_ARB_pixel_format 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_pixel_format;
|
||||
#define WGL_ARB_pixel_format_float 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_pixel_format_float;
|
||||
#define WGL_ARB_render_texture 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_render_texture;
|
||||
#define WGL_ARB_robustness_application_isolation 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_robustness_application_isolation;
|
||||
#define WGL_ARB_robustness_share_group_isolation 1
|
||||
GLAD_API_CALL int GLAD_WGL_ARB_robustness_share_group_isolation;
|
||||
#define WGL_ATI_pixel_format_float 1
|
||||
GLAD_API_CALL int GLAD_WGL_ATI_pixel_format_float;
|
||||
#define WGL_ATI_render_texture_rectangle 1
|
||||
GLAD_API_CALL int GLAD_WGL_ATI_render_texture_rectangle;
|
||||
#define WGL_EXT_colorspace 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_colorspace;
|
||||
#define WGL_EXT_create_context_es2_profile 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_create_context_es2_profile;
|
||||
#define WGL_EXT_create_context_es_profile 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_create_context_es_profile;
|
||||
#define WGL_EXT_depth_float 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_depth_float;
|
||||
#define WGL_EXT_display_color_table 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_display_color_table;
|
||||
#define WGL_EXT_extensions_string 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_extensions_string;
|
||||
#define WGL_EXT_framebuffer_sRGB 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_framebuffer_sRGB;
|
||||
#define WGL_EXT_make_current_read 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_make_current_read;
|
||||
#define WGL_EXT_multisample 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_multisample;
|
||||
#define WGL_EXT_pbuffer 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_pbuffer;
|
||||
#define WGL_EXT_pixel_format 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_pixel_format;
|
||||
#define WGL_EXT_pixel_format_packed_float 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_pixel_format_packed_float;
|
||||
#define WGL_EXT_swap_control 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_swap_control;
|
||||
#define WGL_EXT_swap_control_tear 1
|
||||
GLAD_API_CALL int GLAD_WGL_EXT_swap_control_tear;
|
||||
#define WGL_I3D_digital_video_control 1
|
||||
GLAD_API_CALL int GLAD_WGL_I3D_digital_video_control;
|
||||
#define WGL_I3D_gamma 1
|
||||
GLAD_API_CALL int GLAD_WGL_I3D_gamma;
|
||||
#define WGL_I3D_genlock 1
|
||||
GLAD_API_CALL int GLAD_WGL_I3D_genlock;
|
||||
#define WGL_I3D_image_buffer 1
|
||||
GLAD_API_CALL int GLAD_WGL_I3D_image_buffer;
|
||||
#define WGL_I3D_swap_frame_lock 1
|
||||
GLAD_API_CALL int GLAD_WGL_I3D_swap_frame_lock;
|
||||
#define WGL_I3D_swap_frame_usage 1
|
||||
GLAD_API_CALL int GLAD_WGL_I3D_swap_frame_usage;
|
||||
#define WGL_NV_DX_interop 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_DX_interop;
|
||||
#define WGL_NV_DX_interop2 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_DX_interop2;
|
||||
#define WGL_NV_copy_image 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_copy_image;
|
||||
#define WGL_NV_delay_before_swap 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_delay_before_swap;
|
||||
#define WGL_NV_float_buffer 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_float_buffer;
|
||||
#define WGL_NV_gpu_affinity 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_gpu_affinity;
|
||||
#define WGL_NV_multigpu_context 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_multigpu_context;
|
||||
#define WGL_NV_multisample_coverage 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_multisample_coverage;
|
||||
#define WGL_NV_present_video 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_present_video;
|
||||
#define WGL_NV_render_depth_texture 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_render_depth_texture;
|
||||
#define WGL_NV_render_texture_rectangle 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_render_texture_rectangle;
|
||||
#define WGL_NV_swap_group 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_swap_group;
|
||||
#define WGL_NV_vertex_array_range 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_vertex_array_range;
|
||||
#define WGL_NV_video_capture 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_video_capture;
|
||||
#define WGL_NV_video_output 1
|
||||
GLAD_API_CALL int GLAD_WGL_NV_video_output;
|
||||
#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);
|
||||
typedef int (GLAD_API_PTR* PFNGETPIXELFORMATPROC)(HDC hdc);
|
||||
typedef BOOL(GLAD_API_PTR* PFNSETPIXELFORMATPROC)(HDC hdc, int ipfd, const PIXELFORMATDESCRIPTOR* ppfd);
|
||||
typedef BOOL(GLAD_API_PTR* PFNSWAPBUFFERSPROC)(HDC hdc);
|
||||
typedef void* (GLAD_API_PTR* PFNWGLALLOCATEMEMORYNVPROC)(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)(HDC hDC, const HANDLE* pEvent, const LPVOID* pAddress, const DWORD* pSize, UINT count);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLBEGINFRAMETRACKINGI3DPROC)(void);
|
||||
typedef GLboolean(GLAD_API_PTR* PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)(GLushort id);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLBINDSWAPBARRIERNVPROC)(GLuint group, GLuint barrier);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLBINDTEXIMAGEARBPROC)(HPBUFFERARB hPbuffer, int iBuffer);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLBINDVIDEOCAPTUREDEVICENVPROC)(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLBINDVIDEODEVICENVPROC)(HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int* piAttribList);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLBINDVIDEOIMAGENVPROC)(HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||
typedef VOID(GLAD_API_PTR* PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLCHOOSEPIXELFORMATARBPROC)(HDC hdc, const int* piAttribIList, const FLOAT* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLCHOOSEPIXELFORMATEXTPROC)(HDC hdc, const int* piAttribIList, const FLOAT* pfAttribFList, UINT nMaxFormats, int* piFormats, UINT* nNumFormats);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLCOPYCONTEXTPROC)(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLCOPYIMAGESUBDATANVPROC)(HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
|
||||
typedef HDC(GLAD_API_PTR* PFNWGLCREATEAFFINITYDCNVPROC)(const HGPUNV* phGpuList);
|
||||
typedef HGLRC(GLAD_API_PTR* PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC)(UINT id);
|
||||
typedef HGLRC(GLAD_API_PTR* PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)(UINT id, HGLRC hShareContext, const int* attribList);
|
||||
typedef HANDLE(GLAD_API_PTR* PFNWGLCREATEBUFFERREGIONARBPROC)(HDC hDC, int iLayerPlane, UINT uType);
|
||||
typedef HGLRC(GLAD_API_PTR* PFNWGLCREATECONTEXTPROC)(HDC hDc);
|
||||
typedef HGLRC(GLAD_API_PTR* PFNWGLCREATECONTEXTATTRIBSARBPROC)(HDC hDC, HGLRC hShareContext, const int* attribList);
|
||||
typedef GLboolean(GLAD_API_PTR* PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)(GLushort id);
|
||||
typedef LPVOID(GLAD_API_PTR* PFNWGLCREATEIMAGEBUFFERI3DPROC)(HDC hDC, DWORD dwSize, UINT uFlags);
|
||||
typedef HGLRC(GLAD_API_PTR* PFNWGLCREATELAYERCONTEXTPROC)(HDC hDc, int level);
|
||||
typedef HPBUFFERARB(GLAD_API_PTR* PFNWGLCREATEPBUFFERARBPROC)(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
|
||||
typedef HPBUFFEREXT(GLAD_API_PTR* PFNWGLCREATEPBUFFEREXTPROC)(HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDXCLOSEDEVICENVPROC)(HANDLE hDevice);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDXLOCKOBJECTSNVPROC)(HANDLE hDevice, GLint count, HANDLE* hObjects);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDXOBJECTACCESSNVPROC)(HANDLE hObject, GLenum access);
|
||||
typedef HANDLE(GLAD_API_PTR* PFNWGLDXOPENDEVICENVPROC)(void* dxDevice);
|
||||
typedef HANDLE(GLAD_API_PTR* PFNWGLDXREGISTEROBJECTNVPROC)(HANDLE hDevice, void* dxObject, GLuint name, GLenum type, GLenum access);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDXSETRESOURCESHAREHANDLENVPROC)(void* dxObject, HANDLE shareHandle);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDXUNLOCKOBJECTSNVPROC)(HANDLE hDevice, GLint count, HANDLE* hObjects);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDXUNREGISTEROBJECTNVPROC)(HANDLE hDevice, HANDLE hObject);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDELAYBEFORESWAPNVPROC)(HDC hDC, GLfloat seconds);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC)(HGLRC hglrc);
|
||||
typedef VOID(GLAD_API_PTR* PFNWGLDELETEBUFFERREGIONARBPROC)(HANDLE hRegion);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDELETECONTEXTPROC)(HGLRC oldContext);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDELETEDCNVPROC)(HDC hdc);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDESCRIBELAYERPLANEPROC)(HDC hDc, int pixelFormat, int layerPlane, UINT nBytes, LAYERPLANEDESCRIPTOR* plpd);
|
||||
typedef VOID(GLAD_API_PTR* PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)(GLushort id);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDESTROYIMAGEBUFFERI3DPROC)(HDC hDC, LPVOID pAddress);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDESTROYPBUFFERARBPROC)(HPBUFFERARB hPbuffer);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDESTROYPBUFFEREXTPROC)(HPBUFFEREXT hPbuffer);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDISABLEFRAMELOCKI3DPROC)(void);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLDISABLEGENLOCKI3DPROC)(HDC hDC);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLENABLEFRAMELOCKI3DPROC)(void);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLENABLEGENLOCKI3DPROC)(HDC hDC);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLENDFRAMETRACKINGI3DPROC)(void);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLENUMGPUDEVICESNVPROC)(HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLENUMGPUSFROMAFFINITYDCNVPROC)(HDC hAffinityDC, UINT iGpuIndex, HGPUNV* hGpu);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLENUMGPUSNVPROC)(UINT iGpuIndex, HGPUNV* phGpu);
|
||||
typedef UINT(GLAD_API_PTR* PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC)(HDC hDc, HVIDEOINPUTDEVICENV* phDeviceList);
|
||||
typedef int (GLAD_API_PTR* PFNWGLENUMERATEVIDEODEVICESNVPROC)(HDC hDc, HVIDEOOUTPUTDEVICENV* phDeviceList);
|
||||
typedef void (GLAD_API_PTR* PFNWGLFREEMEMORYNVPROC)(void* pointer);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGENLOCKSAMPLERATEI3DPROC)(HDC hDC, UINT uRate);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGENLOCKSOURCEDELAYI3DPROC)(HDC hDC, UINT uDelay);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGENLOCKSOURCEEDGEI3DPROC)(HDC hDC, UINT uEdge);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGENLOCKSOURCEI3DPROC)(HDC hDC, UINT uSource);
|
||||
typedef UINT(GLAD_API_PTR* PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC hglrc);
|
||||
typedef HGLRC(GLAD_API_PTR* PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)(void);
|
||||
typedef HGLRC(GLAD_API_PTR* PFNWGLGETCURRENTCONTEXTPROC)(void);
|
||||
typedef HDC(GLAD_API_PTR* PFNWGLGETCURRENTDCPROC)(void);
|
||||
typedef HDC(GLAD_API_PTR* PFNWGLGETCURRENTREADDCARBPROC)(void);
|
||||
typedef HDC(GLAD_API_PTR* PFNWGLGETCURRENTREADDCEXTPROC)(void);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)(HDC hDC, int iAttribute, int* piValue);
|
||||
typedef const char* (GLAD_API_PTR* PFNWGLGETEXTENSIONSSTRINGARBPROC)(HDC hdc);
|
||||
typedef const char* (GLAD_API_PTR* PFNWGLGETEXTENSIONSSTRINGEXTPROC)(void);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETFRAMEUSAGEI3DPROC)(float* pUsage);
|
||||
typedef UINT(GLAD_API_PTR* PFNWGLGETGPUIDSAMDPROC)(UINT maxCount, UINT* ids);
|
||||
typedef INT(GLAD_API_PTR* PFNWGLGETGPUINFOAMDPROC)(UINT id, INT property, GLenum dataType, UINT size, void* data);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETGAMMATABLEI3DPROC)(HDC hDC, int iEntries, USHORT* puRed, USHORT* puGreen, USHORT* puBlue);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)(HDC hDC, int iAttribute, int* piValue);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETGENLOCKSAMPLERATEI3DPROC)(HDC hDC, UINT* uRate);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)(HDC hDC, UINT* uDelay);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)(HDC hDC, UINT* uEdge);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETGENLOCKSOURCEI3DPROC)(HDC hDC, UINT* uSource);
|
||||
typedef int (GLAD_API_PTR* PFNWGLGETLAYERPALETTEENTRIESPROC)(HDC hdc, int iLayerPlane, int iStart, int cEntries, COLORREF* pcr);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETMSCRATEOMLPROC)(HDC hdc, INT32* numerator, INT32* denominator);
|
||||
typedef HDC(GLAD_API_PTR* PFNWGLGETPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer);
|
||||
typedef HDC(GLAD_API_PTR* PFNWGLGETPBUFFERDCEXTPROC)(HPBUFFEREXT hPbuffer);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETPIXELFORMATATTRIBFVARBPROC)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT* pfValues);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT* pfValues);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETPIXELFORMATATTRIBIVARBPROC)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int* piValues);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int* piValues);
|
||||
typedef PROC(GLAD_API_PTR* PFNWGLGETPROCADDRESSPROC)(LPCSTR lpszProc);
|
||||
typedef int (GLAD_API_PTR* PFNWGLGETSWAPINTERVALEXTPROC)(void);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETSYNCVALUESOMLPROC)(HDC hdc, INT64* ust, INT64* msc, INT64* sbc);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETVIDEODEVICENVPROC)(HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLGETVIDEOINFONVPROC)(HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long* pulCounterOutputVideo);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLISENABLEDFRAMELOCKI3DPROC)(BOOL* pFlag);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLISENABLEDGENLOCKI3DPROC)(HDC hDC, BOOL* pFlag);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLJOINSWAPGROUPNVPROC)(HDC hDC, GLuint group);
|
||||
typedef GLboolean(GLAD_API_PTR* PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)(const GLushort* table, GLuint length);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC)(HDC hDc, HVIDEOINPUTDEVICENV hDevice);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(HGLRC hglrc);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLMAKECONTEXTCURRENTARBPROC)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLMAKECONTEXTCURRENTEXTPROC)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLMAKECURRENTPROC)(HDC hDc, HGLRC newContext);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLQUERYCURRENTCONTEXTNVPROC)(int iAttribute, int* piValue);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLQUERYFRAMECOUNTNVPROC)(HDC hDC, GLuint* count);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLQUERYFRAMELOCKMASTERI3DPROC)(BOOL* pFlag);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLQUERYFRAMETRACKINGI3DPROC)(DWORD* pFrameCount, DWORD* pMissedFrames, float* pLastMissedUsage);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)(HDC hDC, UINT* uMaxLineDelay, UINT* uMaxPixelDelay);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLQUERYMAXSWAPGROUPSNVPROC)(HDC hDC, GLuint* maxGroups, GLuint* maxBarriers);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLQUERYPBUFFERARBPROC)(HPBUFFERARB hPbuffer, int iAttribute, int* piValue);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLQUERYPBUFFEREXTPROC)(HPBUFFEREXT hPbuffer, int iAttribute, int* piValue);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLQUERYSWAPGROUPNVPROC)(HDC hDC, GLuint* group, GLuint* barrier);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC)(HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int* piValue);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLREALIZELAYERPALETTEPROC)(HDC hdc, int iLayerPlane, BOOL bRealize);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)(HDC hDC, const LPVOID* pAddress, UINT count);
|
||||
typedef int (GLAD_API_PTR* PFNWGLRELEASEPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer, HDC hDC);
|
||||
typedef int (GLAD_API_PTR* PFNWGLRELEASEPBUFFERDCEXTPROC)(HPBUFFEREXT hPbuffer, HDC hDC);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLRELEASETEXIMAGEARBPROC)(HPBUFFERARB hPbuffer, int iBuffer);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC)(HDC hDc, HVIDEOINPUTDEVICENV hDevice);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLRELEASEVIDEODEVICENVPROC)(HPVIDEODEV hVideoDevice);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLRELEASEVIDEOIMAGENVPROC)(HPBUFFERARB hPbuffer, int iVideoBuffer);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLRESETFRAMECOUNTNVPROC)(HDC hDC);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLRESTOREBUFFERREGIONARBPROC)(HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLSAVEBUFFERREGIONARBPROC)(HANDLE hRegion, int x, int y, int width, int height);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLSENDPBUFFERTOVIDEONVPROC)(HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)(HDC hDC, int iAttribute, const int* piValue);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLSETGAMMATABLEI3DPROC)(HDC hDC, int iEntries, const USHORT* puRed, const USHORT* puGreen, const USHORT* puBlue);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)(HDC hDC, int iAttribute, const int* piValue);
|
||||
typedef int (GLAD_API_PTR* PFNWGLSETLAYERPALETTEENTRIESPROC)(HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF* pcr);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLSETPBUFFERATTRIBARBPROC)(HPBUFFERARB hPbuffer, const int* piAttribList);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLSETSTEREOEMITTERSTATE3DLPROC)(HDC hDC, UINT uState);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLSHARELISTSPROC)(HGLRC hrcSrvShare, HGLRC hrcSrvSource);
|
||||
typedef INT64(GLAD_API_PTR* PFNWGLSWAPBUFFERSMSCOMLPROC)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLSWAPINTERVALEXTPROC)(int interval);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLSWAPLAYERBUFFERSPROC)(HDC hdc, UINT fuFlags);
|
||||
typedef INT64(GLAD_API_PTR* PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)(HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLUSEFONTBITMAPSPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLUSEFONTBITMAPSAPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLUSEFONTBITMAPSWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLUSEFONTOUTLINESPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLUSEFONTOUTLINESAPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLUSEFONTOUTLINESWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLWAITFORMSCOMLPROC)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64* msc, INT64* sbc);
|
||||
typedef BOOL(GLAD_API_PTR* PFNWGLWAITFORSBCOMLPROC)(HDC hdc, INT64 target_sbc, INT64* ust, INT64* msc, INT64* sbc);
|
||||
|
||||
GLAD_API_CALL PFNWGLALLOCATEMEMORYNVPROC glad_wglAllocateMemoryNV;
|
||||
#define wglAllocateMemoryNV glad_wglAllocateMemoryNV
|
||||
GLAD_API_CALL PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC glad_wglAssociateImageBufferEventsI3D;
|
||||
#define wglAssociateImageBufferEventsI3D glad_wglAssociateImageBufferEventsI3D
|
||||
GLAD_API_CALL PFNWGLBEGINFRAMETRACKINGI3DPROC glad_wglBeginFrameTrackingI3D;
|
||||
#define wglBeginFrameTrackingI3D glad_wglBeginFrameTrackingI3D
|
||||
GLAD_API_CALL PFNWGLBINDDISPLAYCOLORTABLEEXTPROC glad_wglBindDisplayColorTableEXT;
|
||||
#define wglBindDisplayColorTableEXT glad_wglBindDisplayColorTableEXT
|
||||
GLAD_API_CALL PFNWGLBINDSWAPBARRIERNVPROC glad_wglBindSwapBarrierNV;
|
||||
#define wglBindSwapBarrierNV glad_wglBindSwapBarrierNV
|
||||
GLAD_API_CALL PFNWGLBINDTEXIMAGEARBPROC glad_wglBindTexImageARB;
|
||||
#define wglBindTexImageARB glad_wglBindTexImageARB
|
||||
GLAD_API_CALL PFNWGLBINDVIDEOCAPTUREDEVICENVPROC glad_wglBindVideoCaptureDeviceNV;
|
||||
#define wglBindVideoCaptureDeviceNV glad_wglBindVideoCaptureDeviceNV
|
||||
GLAD_API_CALL PFNWGLBINDVIDEODEVICENVPROC glad_wglBindVideoDeviceNV;
|
||||
#define wglBindVideoDeviceNV glad_wglBindVideoDeviceNV
|
||||
GLAD_API_CALL PFNWGLBINDVIDEOIMAGENVPROC glad_wglBindVideoImageNV;
|
||||
#define wglBindVideoImageNV glad_wglBindVideoImageNV
|
||||
GLAD_API_CALL PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC glad_wglBlitContextFramebufferAMD;
|
||||
#define wglBlitContextFramebufferAMD glad_wglBlitContextFramebufferAMD
|
||||
GLAD_API_CALL PFNWGLCHOOSEPIXELFORMATARBPROC glad_wglChoosePixelFormatARB;
|
||||
#define wglChoosePixelFormatARB glad_wglChoosePixelFormatARB
|
||||
GLAD_API_CALL PFNWGLCHOOSEPIXELFORMATEXTPROC glad_wglChoosePixelFormatEXT;
|
||||
#define wglChoosePixelFormatEXT glad_wglChoosePixelFormatEXT
|
||||
GLAD_API_CALL PFNWGLCOPYIMAGESUBDATANVPROC glad_wglCopyImageSubDataNV;
|
||||
#define wglCopyImageSubDataNV glad_wglCopyImageSubDataNV
|
||||
GLAD_API_CALL PFNWGLCREATEAFFINITYDCNVPROC glad_wglCreateAffinityDCNV;
|
||||
#define wglCreateAffinityDCNV glad_wglCreateAffinityDCNV
|
||||
GLAD_API_CALL PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC glad_wglCreateAssociatedContextAMD;
|
||||
#define wglCreateAssociatedContextAMD glad_wglCreateAssociatedContextAMD
|
||||
GLAD_API_CALL PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_wglCreateAssociatedContextAttribsAMD;
|
||||
#define wglCreateAssociatedContextAttribsAMD glad_wglCreateAssociatedContextAttribsAMD
|
||||
GLAD_API_CALL PFNWGLCREATEBUFFERREGIONARBPROC glad_wglCreateBufferRegionARB;
|
||||
#define wglCreateBufferRegionARB glad_wglCreateBufferRegionARB
|
||||
GLAD_API_CALL PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB;
|
||||
#define wglCreateContextAttribsARB glad_wglCreateContextAttribsARB
|
||||
GLAD_API_CALL PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC glad_wglCreateDisplayColorTableEXT;
|
||||
#define wglCreateDisplayColorTableEXT glad_wglCreateDisplayColorTableEXT
|
||||
GLAD_API_CALL PFNWGLCREATEIMAGEBUFFERI3DPROC glad_wglCreateImageBufferI3D;
|
||||
#define wglCreateImageBufferI3D glad_wglCreateImageBufferI3D
|
||||
GLAD_API_CALL PFNWGLCREATEPBUFFERARBPROC glad_wglCreatePbufferARB;
|
||||
#define wglCreatePbufferARB glad_wglCreatePbufferARB
|
||||
GLAD_API_CALL PFNWGLCREATEPBUFFEREXTPROC glad_wglCreatePbufferEXT;
|
||||
#define wglCreatePbufferEXT glad_wglCreatePbufferEXT
|
||||
GLAD_API_CALL PFNWGLDXCLOSEDEVICENVPROC glad_wglDXCloseDeviceNV;
|
||||
#define wglDXCloseDeviceNV glad_wglDXCloseDeviceNV
|
||||
GLAD_API_CALL PFNWGLDXLOCKOBJECTSNVPROC glad_wglDXLockObjectsNV;
|
||||
#define wglDXLockObjectsNV glad_wglDXLockObjectsNV
|
||||
GLAD_API_CALL PFNWGLDXOBJECTACCESSNVPROC glad_wglDXObjectAccessNV;
|
||||
#define wglDXObjectAccessNV glad_wglDXObjectAccessNV
|
||||
GLAD_API_CALL PFNWGLDXOPENDEVICENVPROC glad_wglDXOpenDeviceNV;
|
||||
#define wglDXOpenDeviceNV glad_wglDXOpenDeviceNV
|
||||
GLAD_API_CALL PFNWGLDXREGISTEROBJECTNVPROC glad_wglDXRegisterObjectNV;
|
||||
#define wglDXRegisterObjectNV glad_wglDXRegisterObjectNV
|
||||
GLAD_API_CALL PFNWGLDXSETRESOURCESHAREHANDLENVPROC glad_wglDXSetResourceShareHandleNV;
|
||||
#define wglDXSetResourceShareHandleNV glad_wglDXSetResourceShareHandleNV
|
||||
GLAD_API_CALL PFNWGLDXUNLOCKOBJECTSNVPROC glad_wglDXUnlockObjectsNV;
|
||||
#define wglDXUnlockObjectsNV glad_wglDXUnlockObjectsNV
|
||||
GLAD_API_CALL PFNWGLDXUNREGISTEROBJECTNVPROC glad_wglDXUnregisterObjectNV;
|
||||
#define wglDXUnregisterObjectNV glad_wglDXUnregisterObjectNV
|
||||
GLAD_API_CALL PFNWGLDELAYBEFORESWAPNVPROC glad_wglDelayBeforeSwapNV;
|
||||
#define wglDelayBeforeSwapNV glad_wglDelayBeforeSwapNV
|
||||
GLAD_API_CALL PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC glad_wglDeleteAssociatedContextAMD;
|
||||
#define wglDeleteAssociatedContextAMD glad_wglDeleteAssociatedContextAMD
|
||||
GLAD_API_CALL PFNWGLDELETEBUFFERREGIONARBPROC glad_wglDeleteBufferRegionARB;
|
||||
#define wglDeleteBufferRegionARB glad_wglDeleteBufferRegionARB
|
||||
GLAD_API_CALL PFNWGLDELETEDCNVPROC glad_wglDeleteDCNV;
|
||||
#define wglDeleteDCNV glad_wglDeleteDCNV
|
||||
GLAD_API_CALL PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC glad_wglDestroyDisplayColorTableEXT;
|
||||
#define wglDestroyDisplayColorTableEXT glad_wglDestroyDisplayColorTableEXT
|
||||
GLAD_API_CALL PFNWGLDESTROYIMAGEBUFFERI3DPROC glad_wglDestroyImageBufferI3D;
|
||||
#define wglDestroyImageBufferI3D glad_wglDestroyImageBufferI3D
|
||||
GLAD_API_CALL PFNWGLDESTROYPBUFFERARBPROC glad_wglDestroyPbufferARB;
|
||||
#define wglDestroyPbufferARB glad_wglDestroyPbufferARB
|
||||
GLAD_API_CALL PFNWGLDESTROYPBUFFEREXTPROC glad_wglDestroyPbufferEXT;
|
||||
#define wglDestroyPbufferEXT glad_wglDestroyPbufferEXT
|
||||
GLAD_API_CALL PFNWGLDISABLEFRAMELOCKI3DPROC glad_wglDisableFrameLockI3D;
|
||||
#define wglDisableFrameLockI3D glad_wglDisableFrameLockI3D
|
||||
GLAD_API_CALL PFNWGLDISABLEGENLOCKI3DPROC glad_wglDisableGenlockI3D;
|
||||
#define wglDisableGenlockI3D glad_wglDisableGenlockI3D
|
||||
GLAD_API_CALL PFNWGLENABLEFRAMELOCKI3DPROC glad_wglEnableFrameLockI3D;
|
||||
#define wglEnableFrameLockI3D glad_wglEnableFrameLockI3D
|
||||
GLAD_API_CALL PFNWGLENABLEGENLOCKI3DPROC glad_wglEnableGenlockI3D;
|
||||
#define wglEnableGenlockI3D glad_wglEnableGenlockI3D
|
||||
GLAD_API_CALL PFNWGLENDFRAMETRACKINGI3DPROC glad_wglEndFrameTrackingI3D;
|
||||
#define wglEndFrameTrackingI3D glad_wglEndFrameTrackingI3D
|
||||
GLAD_API_CALL PFNWGLENUMGPUDEVICESNVPROC glad_wglEnumGpuDevicesNV;
|
||||
#define wglEnumGpuDevicesNV glad_wglEnumGpuDevicesNV
|
||||
GLAD_API_CALL PFNWGLENUMGPUSFROMAFFINITYDCNVPROC glad_wglEnumGpusFromAffinityDCNV;
|
||||
#define wglEnumGpusFromAffinityDCNV glad_wglEnumGpusFromAffinityDCNV
|
||||
GLAD_API_CALL PFNWGLENUMGPUSNVPROC glad_wglEnumGpusNV;
|
||||
#define wglEnumGpusNV glad_wglEnumGpusNV
|
||||
GLAD_API_CALL PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_wglEnumerateVideoCaptureDevicesNV;
|
||||
#define wglEnumerateVideoCaptureDevicesNV glad_wglEnumerateVideoCaptureDevicesNV
|
||||
GLAD_API_CALL PFNWGLENUMERATEVIDEODEVICESNVPROC glad_wglEnumerateVideoDevicesNV;
|
||||
#define wglEnumerateVideoDevicesNV glad_wglEnumerateVideoDevicesNV
|
||||
GLAD_API_CALL PFNWGLFREEMEMORYNVPROC glad_wglFreeMemoryNV;
|
||||
#define wglFreeMemoryNV glad_wglFreeMemoryNV
|
||||
GLAD_API_CALL PFNWGLGENLOCKSAMPLERATEI3DPROC glad_wglGenlockSampleRateI3D;
|
||||
#define wglGenlockSampleRateI3D glad_wglGenlockSampleRateI3D
|
||||
GLAD_API_CALL PFNWGLGENLOCKSOURCEDELAYI3DPROC glad_wglGenlockSourceDelayI3D;
|
||||
#define wglGenlockSourceDelayI3D glad_wglGenlockSourceDelayI3D
|
||||
GLAD_API_CALL PFNWGLGENLOCKSOURCEEDGEI3DPROC glad_wglGenlockSourceEdgeI3D;
|
||||
#define wglGenlockSourceEdgeI3D glad_wglGenlockSourceEdgeI3D
|
||||
GLAD_API_CALL PFNWGLGENLOCKSOURCEI3DPROC glad_wglGenlockSourceI3D;
|
||||
#define wglGenlockSourceI3D glad_wglGenlockSourceI3D
|
||||
GLAD_API_CALL PFNWGLGETCONTEXTGPUIDAMDPROC glad_wglGetContextGPUIDAMD;
|
||||
#define wglGetContextGPUIDAMD glad_wglGetContextGPUIDAMD
|
||||
GLAD_API_CALL PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_wglGetCurrentAssociatedContextAMD;
|
||||
#define wglGetCurrentAssociatedContextAMD glad_wglGetCurrentAssociatedContextAMD
|
||||
GLAD_API_CALL PFNWGLGETCURRENTREADDCARBPROC glad_wglGetCurrentReadDCARB;
|
||||
#define wglGetCurrentReadDCARB glad_wglGetCurrentReadDCARB
|
||||
GLAD_API_CALL PFNWGLGETCURRENTREADDCEXTPROC glad_wglGetCurrentReadDCEXT;
|
||||
#define wglGetCurrentReadDCEXT glad_wglGetCurrentReadDCEXT
|
||||
GLAD_API_CALL PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC glad_wglGetDigitalVideoParametersI3D;
|
||||
#define wglGetDigitalVideoParametersI3D glad_wglGetDigitalVideoParametersI3D
|
||||
GLAD_API_CALL PFNWGLGETEXTENSIONSSTRINGARBPROC glad_wglGetExtensionsStringARB;
|
||||
#define wglGetExtensionsStringARB glad_wglGetExtensionsStringARB
|
||||
GLAD_API_CALL PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT;
|
||||
#define wglGetExtensionsStringEXT glad_wglGetExtensionsStringEXT
|
||||
GLAD_API_CALL PFNWGLGETFRAMEUSAGEI3DPROC glad_wglGetFrameUsageI3D;
|
||||
#define wglGetFrameUsageI3D glad_wglGetFrameUsageI3D
|
||||
GLAD_API_CALL PFNWGLGETGPUIDSAMDPROC glad_wglGetGPUIDsAMD;
|
||||
#define wglGetGPUIDsAMD glad_wglGetGPUIDsAMD
|
||||
GLAD_API_CALL PFNWGLGETGPUINFOAMDPROC glad_wglGetGPUInfoAMD;
|
||||
#define wglGetGPUInfoAMD glad_wglGetGPUInfoAMD
|
||||
GLAD_API_CALL PFNWGLGETGAMMATABLEI3DPROC glad_wglGetGammaTableI3D;
|
||||
#define wglGetGammaTableI3D glad_wglGetGammaTableI3D
|
||||
GLAD_API_CALL PFNWGLGETGAMMATABLEPARAMETERSI3DPROC glad_wglGetGammaTableParametersI3D;
|
||||
#define wglGetGammaTableParametersI3D glad_wglGetGammaTableParametersI3D
|
||||
GLAD_API_CALL PFNWGLGETGENLOCKSAMPLERATEI3DPROC glad_wglGetGenlockSampleRateI3D;
|
||||
#define wglGetGenlockSampleRateI3D glad_wglGetGenlockSampleRateI3D
|
||||
GLAD_API_CALL PFNWGLGETGENLOCKSOURCEDELAYI3DPROC glad_wglGetGenlockSourceDelayI3D;
|
||||
#define wglGetGenlockSourceDelayI3D glad_wglGetGenlockSourceDelayI3D
|
||||
GLAD_API_CALL PFNWGLGETGENLOCKSOURCEEDGEI3DPROC glad_wglGetGenlockSourceEdgeI3D;
|
||||
#define wglGetGenlockSourceEdgeI3D glad_wglGetGenlockSourceEdgeI3D
|
||||
GLAD_API_CALL PFNWGLGETGENLOCKSOURCEI3DPROC glad_wglGetGenlockSourceI3D;
|
||||
#define wglGetGenlockSourceI3D glad_wglGetGenlockSourceI3D
|
||||
GLAD_API_CALL PFNWGLGETMSCRATEOMLPROC glad_wglGetMscRateOML;
|
||||
#define wglGetMscRateOML glad_wglGetMscRateOML
|
||||
GLAD_API_CALL PFNWGLGETPBUFFERDCARBPROC glad_wglGetPbufferDCARB;
|
||||
#define wglGetPbufferDCARB glad_wglGetPbufferDCARB
|
||||
GLAD_API_CALL PFNWGLGETPBUFFERDCEXTPROC glad_wglGetPbufferDCEXT;
|
||||
#define wglGetPbufferDCEXT glad_wglGetPbufferDCEXT
|
||||
GLAD_API_CALL PFNWGLGETPIXELFORMATATTRIBFVARBPROC glad_wglGetPixelFormatAttribfvARB;
|
||||
#define wglGetPixelFormatAttribfvARB glad_wglGetPixelFormatAttribfvARB
|
||||
GLAD_API_CALL PFNWGLGETPIXELFORMATATTRIBFVEXTPROC glad_wglGetPixelFormatAttribfvEXT;
|
||||
#define wglGetPixelFormatAttribfvEXT glad_wglGetPixelFormatAttribfvEXT
|
||||
GLAD_API_CALL PFNWGLGETPIXELFORMATATTRIBIVARBPROC glad_wglGetPixelFormatAttribivARB;
|
||||
#define wglGetPixelFormatAttribivARB glad_wglGetPixelFormatAttribivARB
|
||||
GLAD_API_CALL PFNWGLGETPIXELFORMATATTRIBIVEXTPROC glad_wglGetPixelFormatAttribivEXT;
|
||||
#define wglGetPixelFormatAttribivEXT glad_wglGetPixelFormatAttribivEXT
|
||||
GLAD_API_CALL PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT;
|
||||
#define wglGetSwapIntervalEXT glad_wglGetSwapIntervalEXT
|
||||
GLAD_API_CALL PFNWGLGETSYNCVALUESOMLPROC glad_wglGetSyncValuesOML;
|
||||
#define wglGetSyncValuesOML glad_wglGetSyncValuesOML
|
||||
GLAD_API_CALL PFNWGLGETVIDEODEVICENVPROC glad_wglGetVideoDeviceNV;
|
||||
#define wglGetVideoDeviceNV glad_wglGetVideoDeviceNV
|
||||
GLAD_API_CALL PFNWGLGETVIDEOINFONVPROC glad_wglGetVideoInfoNV;
|
||||
#define wglGetVideoInfoNV glad_wglGetVideoInfoNV
|
||||
GLAD_API_CALL PFNWGLISENABLEDFRAMELOCKI3DPROC glad_wglIsEnabledFrameLockI3D;
|
||||
#define wglIsEnabledFrameLockI3D glad_wglIsEnabledFrameLockI3D
|
||||
GLAD_API_CALL PFNWGLISENABLEDGENLOCKI3DPROC glad_wglIsEnabledGenlockI3D;
|
||||
#define wglIsEnabledGenlockI3D glad_wglIsEnabledGenlockI3D
|
||||
GLAD_API_CALL PFNWGLJOINSWAPGROUPNVPROC glad_wglJoinSwapGroupNV;
|
||||
#define wglJoinSwapGroupNV glad_wglJoinSwapGroupNV
|
||||
GLAD_API_CALL PFNWGLLOADDISPLAYCOLORTABLEEXTPROC glad_wglLoadDisplayColorTableEXT;
|
||||
#define wglLoadDisplayColorTableEXT glad_wglLoadDisplayColorTableEXT
|
||||
GLAD_API_CALL PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC glad_wglLockVideoCaptureDeviceNV;
|
||||
#define wglLockVideoCaptureDeviceNV glad_wglLockVideoCaptureDeviceNV
|
||||
GLAD_API_CALL PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_wglMakeAssociatedContextCurrentAMD;
|
||||
#define wglMakeAssociatedContextCurrentAMD glad_wglMakeAssociatedContextCurrentAMD
|
||||
GLAD_API_CALL PFNWGLMAKECONTEXTCURRENTARBPROC glad_wglMakeContextCurrentARB;
|
||||
#define wglMakeContextCurrentARB glad_wglMakeContextCurrentARB
|
||||
GLAD_API_CALL PFNWGLMAKECONTEXTCURRENTEXTPROC glad_wglMakeContextCurrentEXT;
|
||||
#define wglMakeContextCurrentEXT glad_wglMakeContextCurrentEXT
|
||||
GLAD_API_CALL PFNWGLQUERYCURRENTCONTEXTNVPROC glad_wglQueryCurrentContextNV;
|
||||
#define wglQueryCurrentContextNV glad_wglQueryCurrentContextNV
|
||||
GLAD_API_CALL PFNWGLQUERYFRAMECOUNTNVPROC glad_wglQueryFrameCountNV;
|
||||
#define wglQueryFrameCountNV glad_wglQueryFrameCountNV
|
||||
GLAD_API_CALL PFNWGLQUERYFRAMELOCKMASTERI3DPROC glad_wglQueryFrameLockMasterI3D;
|
||||
#define wglQueryFrameLockMasterI3D glad_wglQueryFrameLockMasterI3D
|
||||
GLAD_API_CALL PFNWGLQUERYFRAMETRACKINGI3DPROC glad_wglQueryFrameTrackingI3D;
|
||||
#define wglQueryFrameTrackingI3D glad_wglQueryFrameTrackingI3D
|
||||
GLAD_API_CALL PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC glad_wglQueryGenlockMaxSourceDelayI3D;
|
||||
#define wglQueryGenlockMaxSourceDelayI3D glad_wglQueryGenlockMaxSourceDelayI3D
|
||||
GLAD_API_CALL PFNWGLQUERYMAXSWAPGROUPSNVPROC glad_wglQueryMaxSwapGroupsNV;
|
||||
#define wglQueryMaxSwapGroupsNV glad_wglQueryMaxSwapGroupsNV
|
||||
GLAD_API_CALL PFNWGLQUERYPBUFFERARBPROC glad_wglQueryPbufferARB;
|
||||
#define wglQueryPbufferARB glad_wglQueryPbufferARB
|
||||
GLAD_API_CALL PFNWGLQUERYPBUFFEREXTPROC glad_wglQueryPbufferEXT;
|
||||
#define wglQueryPbufferEXT glad_wglQueryPbufferEXT
|
||||
GLAD_API_CALL PFNWGLQUERYSWAPGROUPNVPROC glad_wglQuerySwapGroupNV;
|
||||
#define wglQuerySwapGroupNV glad_wglQuerySwapGroupNV
|
||||
GLAD_API_CALL PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC glad_wglQueryVideoCaptureDeviceNV;
|
||||
#define wglQueryVideoCaptureDeviceNV glad_wglQueryVideoCaptureDeviceNV
|
||||
GLAD_API_CALL PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC glad_wglReleaseImageBufferEventsI3D;
|
||||
#define wglReleaseImageBufferEventsI3D glad_wglReleaseImageBufferEventsI3D
|
||||
GLAD_API_CALL PFNWGLRELEASEPBUFFERDCARBPROC glad_wglReleasePbufferDCARB;
|
||||
#define wglReleasePbufferDCARB glad_wglReleasePbufferDCARB
|
||||
GLAD_API_CALL PFNWGLRELEASEPBUFFERDCEXTPROC glad_wglReleasePbufferDCEXT;
|
||||
#define wglReleasePbufferDCEXT glad_wglReleasePbufferDCEXT
|
||||
GLAD_API_CALL PFNWGLRELEASETEXIMAGEARBPROC glad_wglReleaseTexImageARB;
|
||||
#define wglReleaseTexImageARB glad_wglReleaseTexImageARB
|
||||
GLAD_API_CALL PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC glad_wglReleaseVideoCaptureDeviceNV;
|
||||
#define wglReleaseVideoCaptureDeviceNV glad_wglReleaseVideoCaptureDeviceNV
|
||||
GLAD_API_CALL PFNWGLRELEASEVIDEODEVICENVPROC glad_wglReleaseVideoDeviceNV;
|
||||
#define wglReleaseVideoDeviceNV glad_wglReleaseVideoDeviceNV
|
||||
GLAD_API_CALL PFNWGLRELEASEVIDEOIMAGENVPROC glad_wglReleaseVideoImageNV;
|
||||
#define wglReleaseVideoImageNV glad_wglReleaseVideoImageNV
|
||||
GLAD_API_CALL PFNWGLRESETFRAMECOUNTNVPROC glad_wglResetFrameCountNV;
|
||||
#define wglResetFrameCountNV glad_wglResetFrameCountNV
|
||||
GLAD_API_CALL PFNWGLRESTOREBUFFERREGIONARBPROC glad_wglRestoreBufferRegionARB;
|
||||
#define wglRestoreBufferRegionARB glad_wglRestoreBufferRegionARB
|
||||
GLAD_API_CALL PFNWGLSAVEBUFFERREGIONARBPROC glad_wglSaveBufferRegionARB;
|
||||
#define wglSaveBufferRegionARB glad_wglSaveBufferRegionARB
|
||||
GLAD_API_CALL PFNWGLSENDPBUFFERTOVIDEONVPROC glad_wglSendPbufferToVideoNV;
|
||||
#define wglSendPbufferToVideoNV glad_wglSendPbufferToVideoNV
|
||||
GLAD_API_CALL PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC glad_wglSetDigitalVideoParametersI3D;
|
||||
#define wglSetDigitalVideoParametersI3D glad_wglSetDigitalVideoParametersI3D
|
||||
GLAD_API_CALL PFNWGLSETGAMMATABLEI3DPROC glad_wglSetGammaTableI3D;
|
||||
#define wglSetGammaTableI3D glad_wglSetGammaTableI3D
|
||||
GLAD_API_CALL PFNWGLSETGAMMATABLEPARAMETERSI3DPROC glad_wglSetGammaTableParametersI3D;
|
||||
#define wglSetGammaTableParametersI3D glad_wglSetGammaTableParametersI3D
|
||||
GLAD_API_CALL PFNWGLSETPBUFFERATTRIBARBPROC glad_wglSetPbufferAttribARB;
|
||||
#define wglSetPbufferAttribARB glad_wglSetPbufferAttribARB
|
||||
GLAD_API_CALL PFNWGLSETSTEREOEMITTERSTATE3DLPROC glad_wglSetStereoEmitterState3DL;
|
||||
#define wglSetStereoEmitterState3DL glad_wglSetStereoEmitterState3DL
|
||||
GLAD_API_CALL PFNWGLSWAPBUFFERSMSCOMLPROC glad_wglSwapBuffersMscOML;
|
||||
#define wglSwapBuffersMscOML glad_wglSwapBuffersMscOML
|
||||
GLAD_API_CALL PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT;
|
||||
#define wglSwapIntervalEXT glad_wglSwapIntervalEXT
|
||||
GLAD_API_CALL PFNWGLSWAPLAYERBUFFERSMSCOMLPROC glad_wglSwapLayerBuffersMscOML;
|
||||
#define wglSwapLayerBuffersMscOML glad_wglSwapLayerBuffersMscOML
|
||||
GLAD_API_CALL PFNWGLWAITFORMSCOMLPROC glad_wglWaitForMscOML;
|
||||
#define wglWaitForMscOML glad_wglWaitForMscOML
|
||||
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 __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
Binary file not shown.
@@ -0,0 +1,40 @@
|
||||
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\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\vector.sbr
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\vector.obj
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\vector.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\stb_image.obj
|
||||
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpc\x64\debug\stb_image.cod
|
||||
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.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
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC.dll</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
||||
Binary file not shown.
@@ -0,0 +1,81 @@
|
||||
StgSharpC.c
|
||||
dllmain.c
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\StgSharpC.c(15,30): warning C4244: “函数”: 从“uint64_t”转换到“GLuint”,可能丢失数据
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\StgSharpC.c(17,43): warning C4244: “函数”: 从“uint64_t”转换到“GLuint”,可能丢失数据
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\StgSharpC.c(36,26): warning C4047: “=”:“char”与“char [27]”的间接级别不同
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\StgSharpC.c(78,9): warning C4047: “return”:“char *”与“char (*)[512]”的间接级别不同
|
||||
intrinsic.c
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\intrinsic.c(39,27): error C2059: 语法错误:“;”
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\intrinsic.c(40,27): error C2059: 语法错误:“;”
|
||||
mat2.c
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(7,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(8,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(10,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(11,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(25,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(26,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(28,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(29,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(44,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(44,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(45,35): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(45,59): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(45,16): warning C4101: “temp1”: 未引用的局部变量
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(53,37): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat2.c(53,64): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
mat3.c
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(8,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(9,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(11,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(21,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(22,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(24,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(25,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(27,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(29,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(40,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(41,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(43,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(44,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(46,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat3.c(48,36): warning C4133: “函数”: 从“__m128 *”到“const float *”的类型不兼容
|
||||
mat4.c
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(7,56): warning C4028: 形参 1 与声明不同
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(9,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(10,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(12,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(13,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(20,56): warning C4028: 形参 1 与声明不同
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(22,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(23,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(25,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(26,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(28,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(29,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(31,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(32,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(40,56): warning C4028: 形参 1 与声明不同
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(42,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(43,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(45,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(46,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(48,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(49,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(51,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(52,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(61,54): warning C4028: 形参 1 与声明不同
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(61,84): warning C4028: 形参 2 与声明不同
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(63,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(64,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(65,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(66,22): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(68,42): warning C4013: “det_mat3_internal”未定义;假设外部返回 int
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(68,42): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(69,42): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(70,42): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(71,42): warning C4244: “函数”: 从“int”转换到“float”,可能丢失数据
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\mat4.c(72,36): warning C4133: “函数”: 从“const __m128 *”到“const float *”的类型不兼容
|
||||
quick_hash.c
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\quick_hash.c(6,44): warning C4028: 形参 1 与声明不同
|
||||
vector.c
|
||||
正在生成代码...
|
||||
@@ -0,0 +1,129 @@
|
||||
{
|
||||
"version": "2.1.0",
|
||||
"$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json",
|
||||
"runs": [
|
||||
{
|
||||
"results": [
|
||||
{
|
||||
"ruleId": "C6282",
|
||||
"message": {
|
||||
"text": "运算符不正确。"
|
||||
},
|
||||
"locations": [
|
||||
{
|
||||
"physicalLocation": {
|
||||
"artifactLocation": {
|
||||
"uri": "file:///D:/NitloadIndustry/研究项目/1-Flagship/TH2020/ProjectFile/源代码/StgSharpC/StgSharpC.c"
|
||||
},
|
||||
"region": {
|
||||
"startLine": 33,
|
||||
"startColumn": 9,
|
||||
"endLine": 33,
|
||||
"endColumn": 15
|
||||
}
|
||||
},
|
||||
"logicalLocations": [
|
||||
{
|
||||
"fullyQualifiedName": "loadGlfuncDefault",
|
||||
"decoratedName": "loadGlfuncDefault",
|
||||
"kind": "function"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tool": {
|
||||
"driver": {
|
||||
"name": "PREfast",
|
||||
"fullName": "PREfast Code Analysis",
|
||||
"version": "14.39.33523.0",
|
||||
"informationUri": "https://aka.ms/cpp/ca"
|
||||
}
|
||||
},
|
||||
"invocations": [
|
||||
{
|
||||
"executionSuccessful": true
|
||||
}
|
||||
],
|
||||
"artifacts": [
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///D:/NitloadIndustry/研究项目/1-Flagship/TH2020/ProjectFile/源代码/StgSharpC/StgSharpC.c"
|
||||
},
|
||||
"roles": [
|
||||
"analysisTarget",
|
||||
"resultFile"
|
||||
],
|
||||
"hashes": {
|
||||
"sha-256": "0ab9c2f04d59355c6c4581557f42b5b39f286bf159094e4b6f48ce08171d8bdf"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/ssgc_framework.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "fc75606e68c89d5e890316fa9798fa5f209e9f7f1596cac315f24f5016d20652"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/gl.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "0d4da36d20ceb98804584beb77fdde6923c48c83e032fa453d459af2ff5dd1dc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/khrplatform.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "7b1e01aaa7ad8f6fc34b5c7bdf79ebf5189bb09e2c4d2e79fc5d350623d11e83"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/glfw3.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "a1ac46397841f26f8bc290ea1496d1009b65862ded7944567cd7830015d4b376"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/ssgc_internal.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "f9a595a71140053e0ff25ce143983b905d9b3ad9c672d8752845364a8a2c7807"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stgsharpc.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "46efce7e03c053a63fbaec27d92f7ef754e5c368b9bf3dde60683b99f109903e"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/wgl.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "f2c2c934cc6135662cf9bbbfab774fc4609a7fbd827b1a688455d813854f514b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stb_image.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "3249df7a8c1996a53cff688577b835d0f3fcd05a599fdcbfa36d1fc30b76b7ea"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,9 @@
|
||||
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\intrinsic.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\x64\Debug\intrinsic.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\quick_hash.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\x64\Debug\quick_hash.obj
|
||||
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\vector.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpC\x64\Debug\vector.obj
|
||||
@@ -0,0 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.41.34120: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\INTRINSIC.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\QUICK_HASH.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\X64\DEBUG\VECTOR.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.
@@ -0,0 +1,264 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.41.34120.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
_DATA SEGMENT
|
||||
COMM infolog:BYTE:0200H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
__E55737E3_ssc_framework@h DB 01H
|
||||
__7583A0D2_mmintrin@h DB 01H
|
||||
__DDA0A690_concurrencysal@h DB 01H
|
||||
__9ECC08BE_sal@h DB 01H
|
||||
__E05D733A_vadefs@h DB 01H
|
||||
__6A355E0E_vcruntime@h DB 01H
|
||||
__1B0272D9_corecrt@h DB 01H
|
||||
__45DED006_corecrt_malloc@h DB 01H
|
||||
__FA77ED4C_malloc@h DB 01H
|
||||
__EAE0325A_xmmintrin@h DB 01H
|
||||
__0ED14FEE_winpackagefamily@h DB 01H
|
||||
__F92EF742_winapifamily@h DB 01H
|
||||
__22E515EB_sdkddkver@h DB 01H
|
||||
__A09A3A7D_excpt@h DB 01H
|
||||
__AC8FA393_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
|
||||
__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
|
||||
__890838BD_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
|
||||
__A9371419_ssc_internal@h DB 01H
|
||||
__44420885_corecrt_stdio_config@h DB 01H
|
||||
__AB601D8D_corecrt_wstdio@h DB 01H
|
||||
__C1EC35D3_stdio@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__FD6DBD68_corecrt_search@h DB 01H
|
||||
__E2E33A61_corecrt_wstdlib@h DB 01H
|
||||
__26263363_limits@h DB 01H
|
||||
__6E5ACABA_stdlib@h DB 01H
|
||||
__C8BE8E53_stb_image@h DB 01H
|
||||
__98501D5C_stdint@h DB 01H
|
||||
__0A6C9B88_khrplatform@h DB 01H
|
||||
__6327F2D5_gl@h DB 01H
|
||||
__D76F496D_wgl@h DB 01H
|
||||
__06782E22_glfw3@h DB 01H
|
||||
__8F82BB96_emmintrin@h DB 01H
|
||||
__5023D31F_pmmintrin@h DB 01H
|
||||
__E0FAA09D_tmmintrin@h DB 01H
|
||||
__C9C1B51E_smmintrin@h DB 01H
|
||||
__ACA33CD2_nmmintrin@h DB 01H
|
||||
__7918C69C_wmmintrin@h DB 01H
|
||||
__B28C8B9B_zmmintrin@h DB 01H
|
||||
__85982951_immintrin@h DB 01H
|
||||
__19139D6C_assert@h DB 01H
|
||||
__54E1226D_StgSharpC@h DB 01H
|
||||
__DBF5B6B2_dllmain@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC DllMain
|
||||
PUBLIC __JustMyCode_Default
|
||||
EXTRN _RTC_InitBase:PROC
|
||||
EXTRN _RTC_Shutdown:PROC
|
||||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$DllMain DD imagerel $LN9
|
||||
DD imagerel $LN9+134
|
||||
DD imagerel $unwind$DllMain
|
||||
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$DllMain DD 025051c01H
|
||||
DD 0117231cH
|
||||
DD 07010001fH
|
||||
DD 0500fH
|
||||
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\dllmain.c
|
||||
; COMDAT DllMain
|
||||
_TEXT SEGMENT
|
||||
tv64 = 192
|
||||
hModule$ = 240
|
||||
ul_reason_for_call$ = 248
|
||||
lpReserved$ = 256
|
||||
DllMain PROC ; COMDAT
|
||||
|
||||
; 18 : {
|
||||
|
||||
$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
|
||||
0000e 55 push rbp
|
||||
0000f 57 push rdi
|
||||
00010 48 81 ec f8 00
|
||||
00 00 sub rsp, 248 ; 000000f8H
|
||||
00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
0001c 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__DBF5B6B2_dllmain@c
|
||||
00023 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00028 90 npad 1
|
||||
|
||||
; 19 : switch (ul_reason_for_call)
|
||||
|
||||
00029 8b 85 f8 00 00
|
||||
00 mov eax, DWORD PTR ul_reason_for_call$[rbp]
|
||||
0002f 89 85 c0 00 00
|
||||
00 mov DWORD PTR tv64[rbp], eax
|
||||
00035 83 bd c0 00 00
|
||||
00 00 cmp DWORD PTR tv64[rbp], 0
|
||||
0003c 74 32 je SHORT $LN7@DllMain
|
||||
0003e 83 bd c0 00 00
|
||||
00 01 cmp DWORD PTR tv64[rbp], 1
|
||||
00045 74 14 je SHORT $LN4@DllMain
|
||||
00047 83 bd c0 00 00
|
||||
00 02 cmp DWORD PTR tv64[rbp], 2
|
||||
0004e 74 12 je SHORT $LN5@DllMain
|
||||
00050 83 bd c0 00 00
|
||||
00 03 cmp DWORD PTR tv64[rbp], 3
|
||||
00057 74 10 je SHORT $LN6@DllMain
|
||||
00059 eb 1c jmp SHORT $LN2@DllMain
|
||||
$LN4@DllMain:
|
||||
|
||||
; 20 : {
|
||||
; 21 : case DLL_PROCESS_ATTACH:
|
||||
; 22 : return 1;
|
||||
|
||||
0005b b8 01 00 00 00 mov eax, 1
|
||||
00060 eb 1a jmp SHORT $LN1@DllMain
|
||||
$LN5@DllMain:
|
||||
|
||||
; 23 : case DLL_THREAD_ATTACH:
|
||||
; 24 : return 1;
|
||||
|
||||
00062 b8 01 00 00 00 mov eax, 1
|
||||
00067 eb 13 jmp SHORT $LN1@DllMain
|
||||
$LN6@DllMain:
|
||||
|
||||
; 25 : case DLL_THREAD_DETACH:
|
||||
; 26 : return 1;
|
||||
|
||||
00069 b8 01 00 00 00 mov eax, 1
|
||||
0006e eb 0c jmp SHORT $LN1@DllMain
|
||||
$LN7@DllMain:
|
||||
|
||||
; 27 : case DLL_PROCESS_DETACH:
|
||||
; 28 : return 1;
|
||||
|
||||
00070 b8 01 00 00 00 mov eax, 1
|
||||
00075 eb 05 jmp SHORT $LN1@DllMain
|
||||
$LN2@DllMain:
|
||||
|
||||
; 29 : break;
|
||||
; 30 : }
|
||||
; 31 : return TRUE;
|
||||
|
||||
00077 b8 01 00 00 00 mov eax, 1
|
||||
$LN1@DllMain:
|
||||
|
||||
; 32 : }
|
||||
|
||||
0007c 48 8d a5 d8 00
|
||||
00 00 lea rsp, QWORD PTR [rbp+216]
|
||||
00083 5f pop rdi
|
||||
00084 5d pop rbp
|
||||
00085 c3 ret 0
|
||||
DllMain ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"version": "2.1.0",
|
||||
"$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json",
|
||||
"runs": [
|
||||
{
|
||||
"results": [],
|
||||
"tool": {
|
||||
"driver": {
|
||||
"name": "PREfast",
|
||||
"fullName": "PREfast Code Analysis",
|
||||
"version": "14.39.33523.0",
|
||||
"informationUri": "https://aka.ms/cpp/ca"
|
||||
}
|
||||
},
|
||||
"invocations": [
|
||||
{
|
||||
"executionSuccessful": true
|
||||
}
|
||||
],
|
||||
"artifacts": [
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/dllmain.c"
|
||||
},
|
||||
"roles": [
|
||||
"analysisTarget"
|
||||
],
|
||||
"hashes": {
|
||||
"sha-256": "63095add7f9d5fd1a9a7117194ac56ff67ac41aa3262a54d1033e51c55b9bb98"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/ssgc_framework.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "fc75606e68c89d5e890316fa9798fa5f209e9f7f1596cac315f24f5016d20652"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stgsharpc.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "46efce7e03c053a63fbaec27d92f7ef754e5c368b9bf3dde60683b99f109903e"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/ssgc_internal.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "f9a595a71140053e0ff25ce143983b905d9b3ad9c672d8752845364a8a2c7807"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/gl.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "0d4da36d20ceb98804584beb77fdde6923c48c83e032fa453d459af2ff5dd1dc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/khrplatform.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "7b1e01aaa7ad8f6fc34b5c7bdf79ebf5189bb09e2c4d2e79fc5d350623d11e83"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/wgl.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "f2c2c934cc6135662cf9bbbfab774fc4609a7fbd827b1a688455d813854f514b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/glfw3.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "a1ac46397841f26f8bc290ea1496d1009b65862ded7944567cd7830015d4b376"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stb_image.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "3249df7a8c1996a53cff688577b835d0f3fcd05a599fdcbfa36d1fc30b76b7ea"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,353 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.41.34120.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
_DATA SEGMENT
|
||||
COMM infolog:BYTE:0200H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
__E55737E3_ssc_framework@h DB 01H
|
||||
__7583A0D2_mmintrin@h DB 01H
|
||||
__DDA0A690_concurrencysal@h DB 01H
|
||||
__9ECC08BE_sal@h DB 01H
|
||||
__E05D733A_vadefs@h DB 01H
|
||||
__6A355E0E_vcruntime@h DB 01H
|
||||
__1B0272D9_corecrt@h DB 01H
|
||||
__45DED006_corecrt_malloc@h DB 01H
|
||||
__FA77ED4C_malloc@h DB 01H
|
||||
__EAE0325A_xmmintrin@h DB 01H
|
||||
__0ED14FEE_winpackagefamily@h DB 01H
|
||||
__F92EF742_winapifamily@h DB 01H
|
||||
__22E515EB_sdkddkver@h DB 01H
|
||||
__A09A3A7D_excpt@h DB 01H
|
||||
__AC8FA393_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
|
||||
__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
|
||||
__890838BD_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
|
||||
__A9371419_ssc_internal@h DB 01H
|
||||
__44420885_corecrt_stdio_config@h DB 01H
|
||||
__AB601D8D_corecrt_wstdio@h DB 01H
|
||||
__C1EC35D3_stdio@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__FD6DBD68_corecrt_search@h DB 01H
|
||||
__E2E33A61_corecrt_wstdlib@h DB 01H
|
||||
__26263363_limits@h DB 01H
|
||||
__6E5ACABA_stdlib@h DB 01H
|
||||
__C8BE8E53_stb_image@h DB 01H
|
||||
__98501D5C_stdint@h DB 01H
|
||||
__0A6C9B88_khrplatform@h DB 01H
|
||||
__6327F2D5_gl@h DB 01H
|
||||
__D76F496D_wgl@h DB 01H
|
||||
__06782E22_glfw3@h DB 01H
|
||||
__8F82BB96_emmintrin@h DB 01H
|
||||
__5023D31F_pmmintrin@h DB 01H
|
||||
__E0FAA09D_tmmintrin@h DB 01H
|
||||
__C9C1B51E_smmintrin@h DB 01H
|
||||
__ACA33CD2_nmmintrin@h DB 01H
|
||||
__7918C69C_wmmintrin@h DB 01H
|
||||
__B28C8B9B_zmmintrin@h DB 01H
|
||||
__85982951_immintrin@h DB 01H
|
||||
__19139D6C_assert@h DB 01H
|
||||
__54E1226D_StgSharpC@h DB 01H
|
||||
__C7934478_ssc_intrinsic@h DB 01H
|
||||
__E6F62B04_intrinsic@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC load_intrinsic_function
|
||||
PUBLIC __JustMyCode_Default
|
||||
PUBLIC ??_C@_1KE@KFDKBGJE@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ ; `string'
|
||||
PUBLIC ??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@ ; `string'
|
||||
EXTRN __imp__wassert:PROC
|
||||
EXTRN normalize:PROC
|
||||
EXTRN transpose23:PROC
|
||||
EXTRN transpose24:PROC
|
||||
EXTRN transpose32:PROC
|
||||
EXTRN transpose33:PROC
|
||||
EXTRN transpose34:PROC
|
||||
EXTRN det_mat3:PROC
|
||||
EXTRN transpose42:PROC
|
||||
EXTRN transpose43:PROC
|
||||
EXTRN transpose44:PROC
|
||||
EXTRN det_mat4:PROC
|
||||
EXTRN quick_string_hash:PROC
|
||||
EXTRN _RTC_InitBase:PROC
|
||||
EXTRN _RTC_Shutdown:PROC
|
||||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$load_intrinsic_function DD imagerel $LN4
|
||||
DD imagerel $LN4+270
|
||||
DD imagerel $unwind$load_intrinsic_function
|
||||
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 ??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@
|
||||
CONST SEGMENT
|
||||
??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@ DB 'i'
|
||||
DB 00H, 'n', 00H, 't', 00H, 'r', 00H, 'i', 00H, 'n', 00H, 's', 00H
|
||||
DB 'i', 00H, 'c', 00H, '_', 00H, 'c', 00H, 'o', 00H, 'n', 00H, 't'
|
||||
DB 00H, 'e', 00H, 'x', 00H, 't', 00H, ' ', 00H, '!', 00H, '=', 00H
|
||||
DB ' ', 00H, 'N', 00H, 'U', 00H, 'L', 00H, 'L', 00H, 00H, 00H ; `string'
|
||||
CONST ENDS
|
||||
; COMDAT ??_C@_1KE@KFDKBGJE@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@
|
||||
CONST SEGMENT
|
||||
??_C@_1KE@KFDKBGJE@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@ DB 'D'
|
||||
DB 00H, ':', 00H, '\', 00H, 'N', 00H, 'i', 00H, 't', 00H, 'l', 00H
|
||||
DB 'o', 00H, 'a', 00H, 'd', 00H, 'I', 00H, 'n', 00H, 'd', 00H, 'u'
|
||||
DB 00H, 's', 00H, 't', 00H, 'r', 00H, 'y', 00H, '\', 00H, 014H, 'x'
|
||||
DB 'vzy', 098H, 0eeH, 'v\', 00H, '1', 00H, '-', 00H, 'F', 00H, 'l'
|
||||
DB 00H, 'a', 00H, 'g', 00H, 's', 00H, 'h', 00H, 'i', 00H, 'p', 00H
|
||||
DB '\', 00H, 'T', 00H, 'H', 00H, '2', 00H, '0', 00H, '2', 00H, '0'
|
||||
DB 00H, '\', 00H, 'P', 00H, 'r', 00H, 'o', 00H, 'j', 00H, 'e', 00H
|
||||
DB 'c', 00H, 't', 00H, 'F', 00H, 'i', 00H, 'l', 00H, 'e', 00H, '\'
|
||||
DB 00H, 085H, 'Q8h', 090H, 'n', 0e3H, 'N', 01H, 'x\', 00H, 'S', 00H
|
||||
DB 't', 00H, 'g', 00H, 'S', 00H, 'h', 00H, 'a', 00H, 'r', 00H, 'p'
|
||||
DB 00H, 'C', 00H, '\', 00H, 'i', 00H, 'n', 00H, 't', 00H, 'r', 00H
|
||||
DB 'i', 00H, 'n', 00H, 's', 00H, 'i', 00H, 'c', 00H, '.', 00H, 'c'
|
||||
DB 00H, 00H, 00H ; `string'
|
||||
CONST ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$load_intrinsic_function DD 025051301H
|
||||
DD 010e2313H
|
||||
DD 070070021H
|
||||
DD 05006H
|
||||
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\intrinsic.c
|
||||
; COMDAT load_intrinsic_function
|
||||
_TEXT SEGMENT
|
||||
context$ = 8
|
||||
intrinsic_context$ = 256
|
||||
load_intrinsic_function PROC ; COMDAT
|
||||
|
||||
; 6 : {
|
||||
|
||||
$LN4:
|
||||
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
00005 55 push rbp
|
||||
00006 57 push rdi
|
||||
00007 48 81 ec 08 01
|
||||
00 00 sub rsp, 264 ; 00000108H
|
||||
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00013 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__E6F62B04_intrinsic@c
|
||||
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
0001f 90 npad 1
|
||||
|
||||
; 7 : ssc_null_assert(intrinsic_context);
|
||||
|
||||
00020 48 83 bd 00 01
|
||||
00 00 00 cmp QWORD PTR intrinsic_context$[rbp], 0
|
||||
00028 75 1c jne SHORT $LN3@load_intri
|
||||
0002a 41 b8 07 00 00
|
||||
00 mov r8d, 7
|
||||
00030 48 8d 15 00 00
|
||||
00 00 lea rdx, OFFSET FLAT:??_C@_1KE@KFDKBGJE@?$AAD?$AA?3?$AA?2?$AAN?$AAi?$AAt?$AAl?$AAo?$AAa?$AAd?$AAI?$AAn?$AAd?$AAu?$AAs@
|
||||
00037 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:??_C@_1DE@BIMGEDNO@?$AAi?$AAn?$AAt?$AAr?$AAi?$AAn?$AAs?$AAi?$AAc?$AA_?$AAc?$AAo?$AAn?$AAt?$AAe@
|
||||
0003e ff 15 00 00 00
|
||||
00 call QWORD PTR __imp__wassert
|
||||
00044 33 c0 xor eax, eax
|
||||
$LN3@load_intri:
|
||||
|
||||
; 8 :
|
||||
; 9 : ssc_intrinsic *context = (ssc_intrinsic *)intrinsic_context;
|
||||
|
||||
00046 48 8b 85 00 01
|
||||
00 00 mov rax, QWORD PTR intrinsic_context$[rbp]
|
||||
0004d 48 89 45 08 mov QWORD PTR context$[rbp], rax
|
||||
|
||||
; 10 :
|
||||
; 11 : context->transpose_23 = transpose23;
|
||||
|
||||
00051 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
00055 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:transpose23
|
||||
0005c 48 89 48 20 mov QWORD PTR [rax+32], rcx
|
||||
|
||||
; 12 : context->transpose_24 = transpose24;
|
||||
|
||||
00060 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
00064 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:transpose24
|
||||
0006b 48 89 48 28 mov QWORD PTR [rax+40], rcx
|
||||
|
||||
; 13 : context->transpose_32 = transpose32;
|
||||
|
||||
0006f 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
00073 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:transpose32
|
||||
0007a 48 89 48 30 mov QWORD PTR [rax+48], rcx
|
||||
|
||||
; 14 : context->transpose_33 = transpose33;
|
||||
|
||||
0007e 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
00082 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:transpose33
|
||||
00089 48 89 48 38 mov QWORD PTR [rax+56], rcx
|
||||
|
||||
; 15 : context->transpose_34 = transpose34;
|
||||
|
||||
0008d 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
00091 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:transpose34
|
||||
00098 48 89 48 40 mov QWORD PTR [rax+64], rcx
|
||||
|
||||
; 16 : context->transpose_42 = transpose42;
|
||||
|
||||
0009c 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
000a0 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:transpose42
|
||||
000a7 48 89 48 48 mov QWORD PTR [rax+72], rcx
|
||||
|
||||
; 17 : context->transpose_43 = transpose43;
|
||||
|
||||
000ab 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
000af 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:transpose43
|
||||
000b6 48 89 48 50 mov QWORD PTR [rax+80], rcx
|
||||
|
||||
; 18 : context->transpose_44 = transpose44;
|
||||
|
||||
000ba 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
000be 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:transpose44
|
||||
000c5 48 89 48 58 mov QWORD PTR [rax+88], rcx
|
||||
|
||||
; 19 : context->normalize_3 = normalize;
|
||||
|
||||
000c9 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
000cd 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:normalize
|
||||
000d4 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
||||
|
||||
; 20 : context->det_matrix33 = det_mat3;
|
||||
|
||||
000d8 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
000dc 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:det_mat3
|
||||
000e3 48 89 08 mov QWORD PTR [rax], rcx
|
||||
|
||||
; 21 : context->det_matrix44 = det_mat4;
|
||||
|
||||
000e6 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
000ea 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:det_mat4
|
||||
000f1 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
||||
|
||||
; 22 : context->string_quick_hash = quick_string_hash;
|
||||
|
||||
000f5 48 8b 45 08 mov rax, QWORD PTR context$[rbp]
|
||||
000f9 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:quick_string_hash
|
||||
00100 48 89 48 18 mov QWORD PTR [rax+24], rcx
|
||||
|
||||
; 23 :
|
||||
; 24 : }
|
||||
|
||||
00104 48 8d a5 e8 00
|
||||
00 00 lea rsp, QWORD PTR [rbp+232]
|
||||
0010b 5f pop rdi
|
||||
0010c 5d pop rbp
|
||||
0010d c3 ret 0
|
||||
load_intrinsic_function ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,641 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.41.34120.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
_DATA SEGMENT
|
||||
COMM infolog:BYTE:0200H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
__E55737E3_ssc_framework@h DB 01H
|
||||
__7583A0D2_mmintrin@h DB 01H
|
||||
__DDA0A690_concurrencysal@h DB 01H
|
||||
__9ECC08BE_sal@h DB 01H
|
||||
__E05D733A_vadefs@h DB 01H
|
||||
__6A355E0E_vcruntime@h DB 01H
|
||||
__1B0272D9_corecrt@h DB 01H
|
||||
__45DED006_corecrt_malloc@h DB 01H
|
||||
__FA77ED4C_malloc@h DB 01H
|
||||
__EAE0325A_xmmintrin@h DB 01H
|
||||
__0ED14FEE_winpackagefamily@h DB 01H
|
||||
__F92EF742_winapifamily@h DB 01H
|
||||
__22E515EB_sdkddkver@h DB 01H
|
||||
__A09A3A7D_excpt@h DB 01H
|
||||
__AC8FA393_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
|
||||
__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
|
||||
__890838BD_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
|
||||
__A9371419_ssc_internal@h DB 01H
|
||||
__44420885_corecrt_stdio_config@h DB 01H
|
||||
__AB601D8D_corecrt_wstdio@h DB 01H
|
||||
__C1EC35D3_stdio@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__FD6DBD68_corecrt_search@h DB 01H
|
||||
__E2E33A61_corecrt_wstdlib@h DB 01H
|
||||
__26263363_limits@h DB 01H
|
||||
__6E5ACABA_stdlib@h DB 01H
|
||||
__C8BE8E53_stb_image@h DB 01H
|
||||
__98501D5C_stdint@h DB 01H
|
||||
__0A6C9B88_khrplatform@h DB 01H
|
||||
__6327F2D5_gl@h DB 01H
|
||||
__D76F496D_wgl@h DB 01H
|
||||
__06782E22_glfw3@h DB 01H
|
||||
__8F82BB96_emmintrin@h DB 01H
|
||||
__5023D31F_pmmintrin@h DB 01H
|
||||
__E0FAA09D_tmmintrin@h DB 01H
|
||||
__C9C1B51E_smmintrin@h DB 01H
|
||||
__ACA33CD2_nmmintrin@h DB 01H
|
||||
__7918C69C_wmmintrin@h DB 01H
|
||||
__B28C8B9B_zmmintrin@h DB 01H
|
||||
__85982951_immintrin@h DB 01H
|
||||
__19139D6C_assert@h DB 01H
|
||||
__54E1226D_StgSharpC@h DB 01H
|
||||
__C7934478_ssc_intrinsic@h DB 01H
|
||||
__ECD05BF4_mat2@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC addmatrix2_sse
|
||||
PUBLIC addmatrix2_avx
|
||||
PUBLIC transpose23
|
||||
PUBLIC transpose24
|
||||
PUBLIC __JustMyCode_Default
|
||||
EXTRN _RTC_InitBase:PROC
|
||||
EXTRN _RTC_Shutdown:PROC
|
||||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$addmatrix2_sse DD imagerel $LN3
|
||||
DD imagerel $LN3+254
|
||||
DD imagerel $unwind$addmatrix2_sse
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$addmatrix2_avx DD imagerel $LN3
|
||||
DD imagerel $LN3+169
|
||||
DD imagerel $unwind$addmatrix2_avx
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$transpose23 DD imagerel $LN3
|
||||
DD imagerel $LN3+271
|
||||
DD imagerel $unwind$transpose23
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$transpose24 DD imagerel $LN3
|
||||
DD imagerel $LN3+305
|
||||
DD imagerel $unwind$transpose24
|
||||
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$transpose24 DD 025051801H
|
||||
DD 01132318H
|
||||
DD 0700c0029H
|
||||
DD 0500bH
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$transpose23 DD 025051801H
|
||||
DD 01132318H
|
||||
DD 0700c0029H
|
||||
DD 0500bH
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$addmatrix2_avx DD 02d062801H
|
||||
DD 011a231fH
|
||||
DD 07013002aH
|
||||
DD 0d0115012H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$addmatrix2_sse DD 025051d01H
|
||||
DD 0118231dH
|
||||
DD 070110029H
|
||||
DD 05010H
|
||||
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\mat2.c
|
||||
; COMDAT transpose24
|
||||
_TEXT SEGMENT
|
||||
t0$ = 16
|
||||
t1$ = 64
|
||||
source$ = 320
|
||||
target$ = 328
|
||||
transpose24 PROC ; COMDAT
|
||||
|
||||
; 24 : {
|
||||
|
||||
$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
|
||||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__ECD05BF4_mat2@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00024 90 npad 1
|
||||
|
||||
; 25 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00025 b8 10 00 00 00 mov eax, 16
|
||||
0002a 48 6b c0 01 imul rax, rax, 1
|
||||
0002e 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00035 48 03 c8 add rcx, rax
|
||||
00038 48 8b c1 mov rax, rcx
|
||||
0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0003e b8 10 00 00 00 mov eax, 16
|
||||
00043 48 6b c0 00 imul rax, rax, 0
|
||||
00047 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0004e 48 03 c8 add rcx, rax
|
||||
00051 48 8b c1 mov rax, rcx
|
||||
00054 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
0005b 0f 28 c1 movaps xmm0, xmm1
|
||||
0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
|
||||
; 26 : ALIGN(source->column[1]),
|
||||
; 27 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 28 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00062 b8 10 00 00 00 mov eax, 16
|
||||
00067 48 6b c0 01 imul rax, rax, 1
|
||||
0006b 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00072 48 03 c8 add rcx, rax
|
||||
00075 48 8b c1 mov rax, rcx
|
||||
00078 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0007b b8 10 00 00 00 mov eax, 16
|
||||
00080 48 6b c0 00 imul rax, rax, 0
|
||||
00084 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0008b 48 03 c8 add rcx, rax
|
||||
0008e 48 8b c1 mov rax, rcx
|
||||
00091 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
00098 0f 28 c1 movaps xmm0, xmm1
|
||||
0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
|
||||
|
||||
; 29 : ALIGN(source->column[1]),
|
||||
; 30 : _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 31 :
|
||||
; 32 : target->column[0] =
|
||||
|
||||
0009f 0f 57 c0 xorps xmm0, xmm0
|
||||
000a2 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp]
|
||||
000a6 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H
|
||||
000aa 0f 28 c1 movaps xmm0, xmm1
|
||||
000ad b8 10 00 00 00 mov eax, 16
|
||||
000b2 48 6b c0 00 imul rax, rax, 0
|
||||
000b6 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
000bd 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 33 : _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
; 34 : target->column[1] =
|
||||
|
||||
000c1 0f 57 c0 xorps xmm0, xmm0
|
||||
000c4 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp]
|
||||
000c8 0f c6 c8 dd shufps xmm1, xmm0, 221 ; 000000ddH
|
||||
000cc 0f 28 c1 movaps xmm0, xmm1
|
||||
000cf b8 10 00 00 00 mov eax, 16
|
||||
000d4 48 6b c0 01 imul rax, rax, 1
|
||||
000d8 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
000df 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 35 : _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
; 36 : target->column[2] =
|
||||
|
||||
000e3 0f 57 c0 xorps xmm0, xmm0
|
||||
000e6 0f 28 4d 40 movaps xmm1, XMMWORD PTR t1$[rbp]
|
||||
000ea 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H
|
||||
000ee 0f 28 c1 movaps xmm0, xmm1
|
||||
000f1 b8 10 00 00 00 mov eax, 16
|
||||
000f6 48 6b c0 02 imul rax, rax, 2
|
||||
000fa 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00101 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 37 : _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
; 38 : target->column[3] =
|
||||
|
||||
00105 0f 57 c0 xorps xmm0, xmm0
|
||||
00108 0f 28 4d 40 movaps xmm1, XMMWORD PTR t1$[rbp]
|
||||
0010c 0f c6 c8 dd shufps xmm1, xmm0, 221 ; 000000ddH
|
||||
00110 0f 28 c1 movaps xmm0, xmm1
|
||||
00113 b8 10 00 00 00 mov eax, 16
|
||||
00118 48 6b c0 03 imul rax, rax, 3
|
||||
0011c 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00123 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 39 : _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
; 40 : }
|
||||
|
||||
00127 48 8d a5 28 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+296]
|
||||
0012e 5f pop rdi
|
||||
0012f 5d pop rbp
|
||||
00130 c3 ret 0
|
||||
transpose24 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharpC\mat2.c
|
||||
; COMDAT transpose23
|
||||
_TEXT SEGMENT
|
||||
t0$ = 16
|
||||
t1$ = 64
|
||||
source$ = 320
|
||||
target$ = 328
|
||||
transpose23 PROC ; COMDAT
|
||||
|
||||
; 6 : {
|
||||
|
||||
$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
|
||||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__ECD05BF4_mat2@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00024 90 npad 1
|
||||
|
||||
; 7 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00025 b8 10 00 00 00 mov eax, 16
|
||||
0002a 48 6b c0 01 imul rax, rax, 1
|
||||
0002e 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00035 48 03 c8 add rcx, rax
|
||||
00038 48 8b c1 mov rax, rcx
|
||||
0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0003e b8 10 00 00 00 mov eax, 16
|
||||
00043 48 6b c0 00 imul rax, rax, 0
|
||||
00047 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0004e 48 03 c8 add rcx, rax
|
||||
00051 48 8b c1 mov rax, rcx
|
||||
00054 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
0005b 0f 28 c1 movaps xmm0, xmm1
|
||||
0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
|
||||
; 8 : ALIGN(source->column[1]),
|
||||
; 9 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 10 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00062 b8 10 00 00 00 mov eax, 16
|
||||
00067 48 6b c0 01 imul rax, rax, 1
|
||||
0006b 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00072 48 03 c8 add rcx, rax
|
||||
00075 48 8b c1 mov rax, rcx
|
||||
00078 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0007b b8 10 00 00 00 mov eax, 16
|
||||
00080 48 6b c0 00 imul rax, rax, 0
|
||||
00084 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0008b 48 03 c8 add rcx, rax
|
||||
0008e 48 8b c1 mov rax, rcx
|
||||
00091 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
00098 0f 28 c1 movaps xmm0, xmm1
|
||||
0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
|
||||
|
||||
; 11 : ALIGN(source->column[1]),
|
||||
; 12 : _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 13 :
|
||||
; 14 : target->column[0] =
|
||||
|
||||
0009f 0f 57 c0 xorps xmm0, xmm0
|
||||
000a2 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp]
|
||||
000a6 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H
|
||||
000aa 0f 28 c1 movaps xmm0, xmm1
|
||||
000ad b8 10 00 00 00 mov eax, 16
|
||||
000b2 48 6b c0 00 imul rax, rax, 0
|
||||
000b6 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
000bd 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 15 : _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
; 16 : target->column[1] =
|
||||
|
||||
000c1 0f 57 c0 xorps xmm0, xmm0
|
||||
000c4 0f 28 4d 10 movaps xmm1, XMMWORD PTR t0$[rbp]
|
||||
000c8 0f c6 c8 dd shufps xmm1, xmm0, 221 ; 000000ddH
|
||||
000cc 0f 28 c1 movaps xmm0, xmm1
|
||||
000cf b8 10 00 00 00 mov eax, 16
|
||||
000d4 48 6b c0 01 imul rax, rax, 1
|
||||
000d8 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
000df 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 17 : _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
; 18 : target->column[2] =
|
||||
|
||||
000e3 0f 57 c0 xorps xmm0, xmm0
|
||||
000e6 0f 28 4d 40 movaps xmm1, XMMWORD PTR t1$[rbp]
|
||||
000ea 0f c6 c8 88 shufps xmm1, xmm0, 136 ; 00000088H
|
||||
000ee 0f 28 c1 movaps xmm0, xmm1
|
||||
000f1 b8 10 00 00 00 mov eax, 16
|
||||
000f6 48 6b c0 02 imul rax, rax, 2
|
||||
000fa 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00101 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 19 : _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
; 20 : }
|
||||
|
||||
00105 48 8d a5 28 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+296]
|
||||
0010c 5f pop rdi
|
||||
0010d 5d pop rbp
|
||||
0010e c3 ret 0
|
||||
transpose23 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharpC\mat2.c
|
||||
; COMDAT addmatrix2_avx
|
||||
_TEXT SEGMENT
|
||||
temp$ = 32
|
||||
left$ = 336
|
||||
right$ = 344
|
||||
ans$ = 352
|
||||
addmatrix2_avx PROC ; COMDAT
|
||||
|
||||
; 52 : {
|
||||
|
||||
$LN3:
|
||||
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||||
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||||
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
0000f 41 55 push r13
|
||||
00011 55 push rbp
|
||||
00012 57 push rdi
|
||||
00013 48 81 ec 50 01
|
||||
00 00 sub rsp, 336 ; 00000150H
|
||||
0001a 4c 8d 6c 24 20 lea r13, QWORD PTR [rsp+32]
|
||||
0001f 48 8d 6c 24 40 lea rbp, QWORD PTR [rsp+64]
|
||||
00024 48 83 e5 e0 and rbp, -32 ; ffffffffffffffe0H
|
||||
00028 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__ECD05BF4_mat2@c
|
||||
0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00034 90 npad 1
|
||||
|
||||
; 53 : __m256 temp = _mm256_add_ps(ALIGN256(left->column[0]), ALIGN256(right->column[0]));
|
||||
|
||||
00035 b8 10 00 00 00 mov eax, 16
|
||||
0003a 48 6b c0 00 imul rax, rax, 0
|
||||
0003e 49 8b 8d 58 01
|
||||
00 00 mov rcx, QWORD PTR right$[r13]
|
||||
00045 48 03 c8 add rcx, rax
|
||||
00048 48 8b c1 mov rax, rcx
|
||||
0004b c5 fc 10 00 vmovups ymm0, YMMWORD PTR [rax]
|
||||
0004f b8 10 00 00 00 mov eax, 16
|
||||
00054 48 6b c0 00 imul rax, rax, 0
|
||||
00058 49 8b 8d 50 01
|
||||
00 00 mov rcx, QWORD PTR left$[r13]
|
||||
0005f 48 03 c8 add rcx, rax
|
||||
00062 48 8b c1 mov rax, rcx
|
||||
00065 c5 fc 10 08 vmovups ymm1, YMMWORD PTR [rax]
|
||||
00069 c5 f4 58 c0 vaddps ymm0, ymm1, ymm0
|
||||
0006d c5 fc 11 45 20 vmovups YMMWORD PTR temp$[rbp], ymm0
|
||||
|
||||
; 54 : _mm256_storeu_ps(&ans->m[0][0], temp);
|
||||
|
||||
00072 b8 08 00 00 00 mov eax, 8
|
||||
00077 48 6b c0 00 imul rax, rax, 0
|
||||
0007b 49 8b 8d 60 01
|
||||
00 00 mov rcx, QWORD PTR ans$[r13]
|
||||
00082 48 03 c8 add rcx, rax
|
||||
00085 48 8b c1 mov rax, rcx
|
||||
00088 b9 04 00 00 00 mov ecx, 4
|
||||
0008d 48 6b c9 00 imul rcx, rcx, 0
|
||||
00091 48 03 c1 add rax, rcx
|
||||
00094 c5 fc 10 45 20 vmovups ymm0, YMMWORD PTR temp$[rbp]
|
||||
00099 c5 fc 11 00 vmovups YMMWORD PTR [rax], ymm0
|
||||
|
||||
; 55 : }
|
||||
|
||||
0009d 49 8d a5 30 01
|
||||
00 00 lea rsp, QWORD PTR [r13+304]
|
||||
000a4 5f pop rdi
|
||||
000a5 5d pop rbp
|
||||
000a6 41 5d pop r13
|
||||
000a8 c3 ret 0
|
||||
addmatrix2_avx ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharpC\mat2.c
|
||||
; COMDAT addmatrix2_sse
|
||||
_TEXT SEGMENT
|
||||
temp0$ = 16
|
||||
temp1$ = 64
|
||||
left$ = 320
|
||||
right$ = 328
|
||||
ans$ = 336
|
||||
addmatrix2_sse PROC ; COMDAT
|
||||
|
||||
; 43 : {
|
||||
|
||||
$LN3:
|
||||
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||||
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||||
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
0000f 55 push rbp
|
||||
00010 57 push rdi
|
||||
00011 48 81 ec 48 01
|
||||
00 00 sub rsp, 328 ; 00000148H
|
||||
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
0001d 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__ECD05BF4_mat2@c
|
||||
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00029 90 npad 1
|
||||
|
||||
; 44 : __m128 temp0 = _mm_add_ps(ALIGN(left->column[0]), ALIGN(right->column[0]));
|
||||
|
||||
0002a b8 10 00 00 00 mov eax, 16
|
||||
0002f 48 6b c0 00 imul rax, rax, 0
|
||||
00033 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR right$[rbp]
|
||||
0003a 48 03 c8 add rcx, rax
|
||||
0003d 48 8b c1 mov rax, rcx
|
||||
00040 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00043 b8 10 00 00 00 mov eax, 16
|
||||
00048 48 6b c0 00 imul rax, rax, 0
|
||||
0004c 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR left$[rbp]
|
||||
00053 48 03 c8 add rcx, rax
|
||||
00056 48 8b c1 mov rax, rcx
|
||||
00059 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
0005c 0f 58 c8 addps xmm1, xmm0
|
||||
0005f 0f 28 c1 movaps xmm0, xmm1
|
||||
00062 0f 29 45 10 movaps XMMWORD PTR temp0$[rbp], xmm0
|
||||
|
||||
; 45 : __m128 temp1 = _mm_add_ps(ALIGN(left->column[1]), ALIGN(right->column[1]));
|
||||
|
||||
00066 b8 10 00 00 00 mov eax, 16
|
||||
0006b 48 6b c0 01 imul rax, rax, 1
|
||||
0006f 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR right$[rbp]
|
||||
00076 48 03 c8 add rcx, rax
|
||||
00079 48 8b c1 mov rax, rcx
|
||||
0007c 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0007f b8 10 00 00 00 mov eax, 16
|
||||
00084 48 6b c0 01 imul rax, rax, 1
|
||||
00088 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR left$[rbp]
|
||||
0008f 48 03 c8 add rcx, rax
|
||||
00092 48 8b c1 mov rax, rcx
|
||||
00095 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00098 0f 58 c8 addps xmm1, xmm0
|
||||
0009b 0f 28 c1 movaps xmm0, xmm1
|
||||
0009e 0f 29 45 40 movaps XMMWORD PTR temp1$[rbp], xmm0
|
||||
|
||||
; 46 :
|
||||
; 47 : _mm_storeu_ps(&ans->m[0][0], temp0);
|
||||
|
||||
000a2 b8 08 00 00 00 mov eax, 8
|
||||
000a7 48 6b c0 00 imul rax, rax, 0
|
||||
000ab 48 8b 8d 50 01
|
||||
00 00 mov rcx, QWORD PTR ans$[rbp]
|
||||
000b2 48 03 c8 add rcx, rax
|
||||
000b5 48 8b c1 mov rax, rcx
|
||||
000b8 b9 04 00 00 00 mov ecx, 4
|
||||
000bd 48 6b c9 00 imul rcx, rcx, 0
|
||||
000c1 48 03 c1 add rax, rcx
|
||||
000c4 0f 28 45 10 movaps xmm0, XMMWORD PTR temp0$[rbp]
|
||||
000c8 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 48 : _mm_storeu_ps(&ans->m[0][1], temp0);
|
||||
|
||||
000cb b8 08 00 00 00 mov eax, 8
|
||||
000d0 48 6b c0 00 imul rax, rax, 0
|
||||
000d4 48 8b 8d 50 01
|
||||
00 00 mov rcx, QWORD PTR ans$[rbp]
|
||||
000db 48 03 c8 add rcx, rax
|
||||
000de 48 8b c1 mov rax, rcx
|
||||
000e1 b9 04 00 00 00 mov ecx, 4
|
||||
000e6 48 6b c9 01 imul rcx, rcx, 1
|
||||
000ea 48 03 c1 add rax, rcx
|
||||
000ed 0f 28 45 10 movaps xmm0, XMMWORD PTR temp0$[rbp]
|
||||
000f1 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 49 : }
|
||||
|
||||
000f4 48 8d a5 28 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+296]
|
||||
000fb 5f pop rdi
|
||||
000fc 5d pop rbp
|
||||
000fd c3 ret 0
|
||||
addmatrix2_sse ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"version": "2.1.0",
|
||||
"$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json",
|
||||
"runs": [
|
||||
{
|
||||
"results": [],
|
||||
"tool": {
|
||||
"driver": {
|
||||
"name": "PREfast",
|
||||
"fullName": "PREfast Code Analysis",
|
||||
"version": "14.39.33523.0",
|
||||
"informationUri": "https://aka.ms/cpp/ca"
|
||||
}
|
||||
},
|
||||
"invocations": [
|
||||
{
|
||||
"executionSuccessful": true
|
||||
}
|
||||
],
|
||||
"artifacts": [
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/mat2.c"
|
||||
},
|
||||
"roles": [
|
||||
"analysisTarget"
|
||||
],
|
||||
"hashes": {
|
||||
"sha-256": "ef359aeba66abe5a161203c02317f5027512f7ea8ec5002f18ae66f721242b91"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stgsharpc.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "46efce7e03c053a63fbaec27d92f7ef754e5c368b9bf3dde60683b99f109903e"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/ssgc_framework.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "fc75606e68c89d5e890316fa9798fa5f209e9f7f1596cac315f24f5016d20652"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/ssgc_internal.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "f9a595a71140053e0ff25ce143983b905d9b3ad9c672d8752845364a8a2c7807"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/gl.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "0d4da36d20ceb98804584beb77fdde6923c48c83e032fa453d459af2ff5dd1dc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/khrplatform.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "7b1e01aaa7ad8f6fc34b5c7bdf79ebf5189bb09e2c4d2e79fc5d350623d11e83"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/wgl.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "f2c2c934cc6135662cf9bbbfab774fc4609a7fbd827b1a688455d813854f514b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/glfw3.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "a1ac46397841f26f8bc290ea1496d1009b65862ded7944567cd7830015d4b376"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stb_image.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "3249df7a8c1996a53cff688577b835d0f3fcd05a599fdcbfa36d1fc30b76b7ea"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,878 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.41.34120.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
_DATA SEGMENT
|
||||
COMM infolog:BYTE:0200H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
__E55737E3_ssc_framework@h DB 01H
|
||||
__7583A0D2_mmintrin@h DB 01H
|
||||
__DDA0A690_concurrencysal@h DB 01H
|
||||
__9ECC08BE_sal@h DB 01H
|
||||
__E05D733A_vadefs@h DB 01H
|
||||
__6A355E0E_vcruntime@h DB 01H
|
||||
__1B0272D9_corecrt@h DB 01H
|
||||
__45DED006_corecrt_malloc@h DB 01H
|
||||
__FA77ED4C_malloc@h DB 01H
|
||||
__EAE0325A_xmmintrin@h DB 01H
|
||||
__0ED14FEE_winpackagefamily@h DB 01H
|
||||
__F92EF742_winapifamily@h DB 01H
|
||||
__22E515EB_sdkddkver@h DB 01H
|
||||
__A09A3A7D_excpt@h DB 01H
|
||||
__AC8FA393_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
|
||||
__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
|
||||
__890838BD_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
|
||||
__A9371419_ssc_internal@h DB 01H
|
||||
__44420885_corecrt_stdio_config@h DB 01H
|
||||
__AB601D8D_corecrt_wstdio@h DB 01H
|
||||
__C1EC35D3_stdio@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__FD6DBD68_corecrt_search@h DB 01H
|
||||
__E2E33A61_corecrt_wstdlib@h DB 01H
|
||||
__26263363_limits@h DB 01H
|
||||
__6E5ACABA_stdlib@h DB 01H
|
||||
__C8BE8E53_stb_image@h DB 01H
|
||||
__98501D5C_stdint@h DB 01H
|
||||
__0A6C9B88_khrplatform@h DB 01H
|
||||
__6327F2D5_gl@h DB 01H
|
||||
__D76F496D_wgl@h DB 01H
|
||||
__06782E22_glfw3@h DB 01H
|
||||
__8F82BB96_emmintrin@h DB 01H
|
||||
__5023D31F_pmmintrin@h DB 01H
|
||||
__E0FAA09D_tmmintrin@h DB 01H
|
||||
__C9C1B51E_smmintrin@h DB 01H
|
||||
__ACA33CD2_nmmintrin@h DB 01H
|
||||
__7918C69C_wmmintrin@h DB 01H
|
||||
__B28C8B9B_zmmintrin@h DB 01H
|
||||
__85982951_immintrin@h DB 01H
|
||||
__19139D6C_assert@h DB 01H
|
||||
__54E1226D_StgSharpC@h DB 01H
|
||||
__C7934478_ssc_intrinsic@h DB 01H
|
||||
__ED1231C3_mat3@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC transpose32
|
||||
PUBLIC transpose33
|
||||
PUBLIC transpose34
|
||||
PUBLIC det_mat3
|
||||
PUBLIC det_mat3_internal
|
||||
PUBLIC __JustMyCode_Default
|
||||
EXTRN _RTC_CheckStackVars:PROC
|
||||
EXTRN _RTC_InitBase:PROC
|
||||
EXTRN _RTC_Shutdown:PROC
|
||||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||||
EXTRN _fltused:DWORD
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$transpose32 DD imagerel $LN3
|
||||
DD imagerel $LN3+205
|
||||
DD imagerel $unwind$transpose32
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$transpose33 DD imagerel $LN3
|
||||
DD imagerel $LN3+340
|
||||
DD imagerel $unwind$transpose33
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$transpose34 DD imagerel $LN3
|
||||
DD imagerel $LN3+372
|
||||
DD imagerel $unwind$transpose34
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$det_mat3 DD imagerel $LN3
|
||||
DD imagerel $LN3+154
|
||||
DD imagerel $unwind$det_mat3
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$det_mat3_internal DD imagerel $LN3
|
||||
DD imagerel $LN3+371
|
||||
DD imagerel $unwind$det_mat3_internal
|
||||
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$det_mat3_internal DD 035053601H
|
||||
DD 0118331dH
|
||||
DD 070110049H
|
||||
DD 05010H
|
||||
xdata ENDS
|
||||
; COMDAT CONST
|
||||
CONST SEGMENT
|
||||
det_mat3_internal$rtcName$0 DB 072H
|
||||
DB 065H
|
||||
DB 074H
|
||||
DB 00H
|
||||
ORG $+12
|
||||
det_mat3_internal$rtcVarDesc DD 0160H
|
||||
DD 010H
|
||||
DQ FLAT:det_mat3_internal$rtcName$0
|
||||
ORG $+48
|
||||
det_mat3_internal$rtcFrameData DD 01H
|
||||
DD 00H
|
||||
DQ FLAT:det_mat3_internal$rtcVarDesc
|
||||
CONST ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$det_mat3 DD 035051801H
|
||||
DD 01133318H
|
||||
DD 0700c0031H
|
||||
DD 0500bH
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$transpose34 DD 025051801H
|
||||
DD 01132318H
|
||||
DD 0700c0035H
|
||||
DD 0500bH
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$transpose33 DD 025051801H
|
||||
DD 01132318H
|
||||
DD 0700c0035H
|
||||
DD 0500bH
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$transpose32 DD 025051801H
|
||||
DD 01132318H
|
||||
DD 0700c0029H
|
||||
DD 0500bH
|
||||
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\mat3.c
|
||||
; COMDAT det_mat3_internal
|
||||
_TEXT SEGMENT
|
||||
addc1$ = 16
|
||||
addc2$ = 64
|
||||
subc1$ = 112
|
||||
subc2$ = 160
|
||||
cache$ = 208
|
||||
sub$ = 256
|
||||
ret$ = 304
|
||||
c0$ = 560
|
||||
c1$ = 568
|
||||
c2$ = 576
|
||||
det_mat3_internal PROC ; COMDAT
|
||||
|
||||
; 60 : {
|
||||
|
||||
$LN3:
|
||||
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
||||
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
||||
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
0000f 55 push rbp
|
||||
00010 57 push rdi
|
||||
00011 48 81 ec 48 02
|
||||
00 00 sub rsp, 584 ; 00000248H
|
||||
00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
||||
0001d 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
|
||||
00022 b9 56 00 00 00 mov ecx, 86 ; 00000056H
|
||||
00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
||||
0002c f3 ab rep stosd
|
||||
0002e 48 8b 8c 24 68
|
||||
02 00 00 mov rcx, QWORD PTR [rsp+616]
|
||||
00036 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__ED1231C3_mat3@c
|
||||
0003d e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00042 90 npad 1
|
||||
|
||||
; 61 : //let adding row aligned
|
||||
; 62 : __m128 addc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 0, 2, 1));
|
||||
|
||||
00043 48 8b 85 38 02
|
||||
00 00 mov rax, QWORD PTR c1$[rbp]
|
||||
0004a 48 8b 8d 38 02
|
||||
00 00 mov rcx, QWORD PTR c1$[rbp]
|
||||
00051 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00054 0f c6 01 c9 shufps xmm0, XMMWORD PTR [rcx], 201 ; 000000c9H
|
||||
00058 0f 29 45 10 movaps XMMWORD PTR addc1$[rbp], xmm0
|
||||
|
||||
; 63 : __m128 addc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 1, 0, 2));
|
||||
|
||||
0005c 48 8b 85 40 02
|
||||
00 00 mov rax, QWORD PTR c2$[rbp]
|
||||
00063 48 8b 8d 40 02
|
||||
00 00 mov rcx, QWORD PTR c2$[rbp]
|
||||
0006a 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0006d 0f c6 01 d2 shufps xmm0, XMMWORD PTR [rcx], 210 ; 000000d2H
|
||||
00071 0f 29 45 40 movaps XMMWORD PTR addc2$[rbp], xmm0
|
||||
|
||||
; 64 :
|
||||
; 65 : //let sub row aligned
|
||||
; 66 : __m128 subc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 1, 0, 2));
|
||||
|
||||
00075 48 8b 85 38 02
|
||||
00 00 mov rax, QWORD PTR c1$[rbp]
|
||||
0007c 48 8b 8d 38 02
|
||||
00 00 mov rcx, QWORD PTR c1$[rbp]
|
||||
00083 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00086 0f c6 01 d2 shufps xmm0, XMMWORD PTR [rcx], 210 ; 000000d2H
|
||||
0008a 0f 29 45 70 movaps XMMWORD PTR subc1$[rbp], xmm0
|
||||
|
||||
; 67 : __m128 subc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 0, 2, 1));
|
||||
|
||||
0008e 48 8b 85 40 02
|
||||
00 00 mov rax, QWORD PTR c2$[rbp]
|
||||
00095 48 8b 8d 40 02
|
||||
00 00 mov rcx, QWORD PTR c2$[rbp]
|
||||
0009c 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0009f 0f c6 01 c9 shufps xmm0, XMMWORD PTR [rcx], 201 ; 000000c9H
|
||||
000a3 0f 29 85 a0 00
|
||||
00 00 movaps XMMWORD PTR subc2$[rbp], xmm0
|
||||
|
||||
; 68 :
|
||||
; 69 : //multple all add row
|
||||
; 70 : __m128 cache = _mm_mul_ps(c0, addc1);
|
||||
|
||||
000aa 48 8b 85 30 02
|
||||
00 00 mov rax, QWORD PTR c0$[rbp]
|
||||
000b1 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
000b4 0f 59 45 10 mulps xmm0, XMMWORD PTR addc1$[rbp]
|
||||
000b8 0f 29 85 d0 00
|
||||
00 00 movaps XMMWORD PTR cache$[rbp], xmm0
|
||||
|
||||
; 71 : cache = _mm_mul_ps(cache, addc2);
|
||||
|
||||
000bf 0f 28 85 d0 00
|
||||
00 00 movaps xmm0, XMMWORD PTR cache$[rbp]
|
||||
000c6 0f 59 45 40 mulps xmm0, XMMWORD PTR addc2$[rbp]
|
||||
000ca 0f 29 85 d0 00
|
||||
00 00 movaps XMMWORD PTR cache$[rbp], xmm0
|
||||
|
||||
; 72 :
|
||||
; 73 : //multiple all sub row
|
||||
; 74 : __m128 sub = _mm_mul_ps(c0, subc1);
|
||||
|
||||
000d1 48 8b 85 30 02
|
||||
00 00 mov rax, QWORD PTR c0$[rbp]
|
||||
000d8 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
000db 0f 59 45 70 mulps xmm0, XMMWORD PTR subc1$[rbp]
|
||||
000df 0f 29 85 00 01
|
||||
00 00 movaps XMMWORD PTR sub$[rbp], xmm0
|
||||
|
||||
; 75 : sub = _mm_mul_ps(sub, subc2);
|
||||
|
||||
000e6 0f 28 85 00 01
|
||||
00 00 movaps xmm0, XMMWORD PTR sub$[rbp]
|
||||
000ed 0f 59 85 a0 00
|
||||
00 00 mulps xmm0, XMMWORD PTR subc2$[rbp]
|
||||
000f4 0f 29 85 00 01
|
||||
00 00 movaps XMMWORD PTR sub$[rbp], xmm0
|
||||
|
||||
; 76 :
|
||||
; 77 : //main-corner sub sub-corner
|
||||
; 78 : cache = _mm_sub_ps(cache, sub);
|
||||
|
||||
000fb 0f 28 85 d0 00
|
||||
00 00 movaps xmm0, XMMWORD PTR cache$[rbp]
|
||||
00102 0f 5c 85 00 01
|
||||
00 00 subps xmm0, XMMWORD PTR sub$[rbp]
|
||||
00109 0f 29 85 d0 00
|
||||
00 00 movaps XMMWORD PTR cache$[rbp], xmm0
|
||||
|
||||
; 79 :
|
||||
; 80 : __m128 ret = _mm_hadd_ps(cache, cache); //element 1 add element 2
|
||||
|
||||
00110 0f 28 85 d0 00
|
||||
00 00 movaps xmm0, XMMWORD PTR cache$[rbp]
|
||||
00117 f2 0f 7c 85 d0
|
||||
00 00 00 haddps xmm0, XMMWORD PTR cache$[rbp]
|
||||
0011f 0f 29 85 30 01
|
||||
00 00 movaps XMMWORD PTR ret$[rbp], xmm0
|
||||
|
||||
; 81 : ret = _mm_add_ps(ret, cache); //(e1 add e2) add element 3
|
||||
|
||||
00126 0f 28 85 30 01
|
||||
00 00 movaps xmm0, XMMWORD PTR ret$[rbp]
|
||||
0012d 0f 58 85 d0 00
|
||||
00 00 addps xmm0, XMMWORD PTR cache$[rbp]
|
||||
00134 0f 29 85 30 01
|
||||
00 00 movaps XMMWORD PTR ret$[rbp], xmm0
|
||||
|
||||
; 82 :
|
||||
; 83 : return ret.m128_f32[2];
|
||||
|
||||
0013b b8 04 00 00 00 mov eax, 4
|
||||
00140 48 6b c0 02 imul rax, rax, 2
|
||||
00144 f3 0f 10 84 05
|
||||
30 01 00 00 movss xmm0, DWORD PTR ret$[rbp+rax]
|
||||
|
||||
; 84 : }
|
||||
|
||||
0014d f3 0f 7f 44 24
|
||||
20 movdqu XMMWORD PTR [rsp+32], xmm0
|
||||
00153 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
|
||||
00157 48 8d 15 00 00
|
||||
00 00 lea rdx, OFFSET FLAT:det_mat3_internal$rtcFrameData
|
||||
0015e e8 00 00 00 00 call _RTC_CheckStackVars
|
||||
00163 f3 0f 6f 44 24
|
||||
20 movdqu xmm0, XMMWORD PTR [rsp+32]
|
||||
00169 48 8d a5 18 02
|
||||
00 00 lea rsp, QWORD PTR [rbp+536]
|
||||
00170 5f pop rdi
|
||||
00171 5d pop rbp
|
||||
00172 c3 ret 0
|
||||
det_mat3_internal ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharpC\mat3.c
|
||||
; COMDAT det_mat3
|
||||
_TEXT SEGMENT
|
||||
$T1 = 208
|
||||
$T2 = 256
|
||||
$T3 = 304
|
||||
source$ = 368
|
||||
transpose$ = 376
|
||||
det_mat3 PROC ; COMDAT
|
||||
|
||||
; 88 : {
|
||||
|
||||
$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 88 01
|
||||
00 00 sub rsp, 392 ; 00000188H
|
||||
00013 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__ED1231C3_mat3@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00024 90 npad 1
|
||||
|
||||
; 89 : return det_mat3_internal(source->column[0], source->column[1],
|
||||
|
||||
00025 b8 10 00 00 00 mov eax, 16
|
||||
0002a 48 6b c0 02 imul rax, rax, 2
|
||||
0002e 48 8b 8d 70 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00035 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax]
|
||||
00039 0f 11 85 30 01
|
||||
00 00 movups XMMWORD PTR $T3[rbp], xmm0
|
||||
00040 b8 10 00 00 00 mov eax, 16
|
||||
00045 48 6b c0 01 imul rax, rax, 1
|
||||
00049 48 8b 8d 70 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00050 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax]
|
||||
00054 0f 11 85 00 01
|
||||
00 00 movups XMMWORD PTR $T2[rbp], xmm0
|
||||
0005b b8 10 00 00 00 mov eax, 16
|
||||
00060 48 6b c0 00 imul rax, rax, 0
|
||||
00064 48 8b 8d 70 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0006b 0f 10 04 01 movups xmm0, XMMWORD PTR [rcx+rax]
|
||||
0006f 0f 11 85 d0 00
|
||||
00 00 movups XMMWORD PTR $T1[rbp], xmm0
|
||||
00076 4c 8d 85 30 01
|
||||
00 00 lea r8, QWORD PTR $T3[rbp]
|
||||
0007d 48 8d 95 00 01
|
||||
00 00 lea rdx, QWORD PTR $T2[rbp]
|
||||
00084 48 8d 8d d0 00
|
||||
00 00 lea rcx, QWORD PTR $T1[rbp]
|
||||
0008b e8 00 00 00 00 call det_mat3_internal
|
||||
|
||||
; 90 : source->column[2]);
|
||||
; 91 : }
|
||||
|
||||
00090 48 8d a5 58 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+344]
|
||||
00097 5f pop rdi
|
||||
00098 5d pop rbp
|
||||
00099 c3 ret 0
|
||||
det_mat3 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharpC\mat3.c
|
||||
; COMDAT transpose34
|
||||
_TEXT SEGMENT
|
||||
t0$ = 16
|
||||
t1$ = 64
|
||||
t2$ = 112
|
||||
t3$ = 160
|
||||
source$ = 416
|
||||
target$ = 424
|
||||
transpose34 PROC ; COMDAT
|
||||
|
||||
; 39 : {
|
||||
|
||||
$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 a8 01
|
||||
00 00 sub rsp, 424 ; 000001a8H
|
||||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__ED1231C3_mat3@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00024 90 npad 1
|
||||
|
||||
; 40 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00025 b8 10 00 00 00 mov eax, 16
|
||||
0002a 48 6b c0 01 imul rax, rax, 1
|
||||
0002e 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00035 48 03 c8 add rcx, rax
|
||||
00038 48 8b c1 mov rax, rcx
|
||||
0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0003e b8 10 00 00 00 mov eax, 16
|
||||
00043 48 6b c0 00 imul rax, rax, 0
|
||||
00047 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0004e 48 03 c8 add rcx, rax
|
||||
00051 48 8b c1 mov rax, rcx
|
||||
00054 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
0005b 0f 28 c1 movaps xmm0, xmm1
|
||||
0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
|
||||
; 41 : ALIGN(source->column[1]),
|
||||
; 42 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 43 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00062 b8 10 00 00 00 mov eax, 16
|
||||
00067 48 6b c0 01 imul rax, rax, 1
|
||||
0006b 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00072 48 03 c8 add rcx, rax
|
||||
00075 48 8b c1 mov rax, rcx
|
||||
00078 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0007b b8 10 00 00 00 mov eax, 16
|
||||
00080 48 6b c0 00 imul rax, rax, 0
|
||||
00084 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0008b 48 03 c8 add rcx, rax
|
||||
0008e 48 8b c1 mov rax, rcx
|
||||
00091 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
00098 0f 28 c1 movaps xmm0, xmm1
|
||||
0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
|
||||
|
||||
; 44 : ALIGN(source->column[1]),
|
||||
; 45 : _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 46 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
|
||||
0009f 0f 57 c0 xorps xmm0, xmm0
|
||||
000a2 b8 10 00 00 00 mov eax, 16
|
||||
000a7 48 6b c0 02 imul rax, rax, 2
|
||||
000ab 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000b2 48 03 c8 add rcx, rax
|
||||
000b5 48 8b c1 mov rax, rcx
|
||||
000b8 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
000bb 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
000bf 0f 28 c1 movaps xmm0, xmm1
|
||||
000c2 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0
|
||||
|
||||
; 47 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 48 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
|
||||
000c6 0f 57 c0 xorps xmm0, xmm0
|
||||
000c9 b8 10 00 00 00 mov eax, 16
|
||||
000ce 48 6b c0 02 imul rax, rax, 2
|
||||
000d2 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000d9 48 03 c8 add rcx, rax
|
||||
000dc 48 8b c1 mov rax, rcx
|
||||
000df 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
000e2 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
000e6 0f 28 c1 movaps xmm0, xmm1
|
||||
000e9 0f 29 85 a0 00
|
||||
00 00 movaps XMMWORD PTR t3$[rbp], xmm0
|
||||
|
||||
; 49 : _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 50 :
|
||||
; 51 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
000f0 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
000f4 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
|
||||
000f9 b8 10 00 00 00 mov eax, 16
|
||||
000fe 48 6b c0 00 imul rax, rax, 0
|
||||
00102 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00109 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 52 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
0010d 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
00111 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
|
||||
00116 b8 10 00 00 00 mov eax, 16
|
||||
0011b 48 6b c0 01 imul rax, rax, 1
|
||||
0011f 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00126 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 53 : target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
0012a 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
0012e 0f c6 85 a0 00
|
||||
00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H
|
||||
00136 b8 10 00 00 00 mov eax, 16
|
||||
0013b 48 6b c0 02 imul rax, rax, 2
|
||||
0013f 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00146 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 54 : target->column[3] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
0014a 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
0014e 0f c6 85 a0 00
|
||||
00 00 dd shufps xmm0, XMMWORD PTR t3$[rbp], 221 ; 000000ddH
|
||||
00156 b8 10 00 00 00 mov eax, 16
|
||||
0015b 48 6b c0 03 imul rax, rax, 3
|
||||
0015f 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00166 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 55 : }
|
||||
|
||||
0016a 48 8d a5 88 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+392]
|
||||
00171 5f pop rdi
|
||||
00172 5d pop rbp
|
||||
00173 c3 ret 0
|
||||
transpose34 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharpC\mat3.c
|
||||
; COMDAT transpose33
|
||||
_TEXT SEGMENT
|
||||
t0$ = 16
|
||||
t1$ = 64
|
||||
t2$ = 112
|
||||
t3$ = 160
|
||||
source$ = 416
|
||||
target$ = 424
|
||||
transpose33 PROC ; COMDAT
|
||||
|
||||
; 20 : {
|
||||
|
||||
$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 a8 01
|
||||
00 00 sub rsp, 424 ; 000001a8H
|
||||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__ED1231C3_mat3@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00024 90 npad 1
|
||||
|
||||
; 21 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00025 b8 10 00 00 00 mov eax, 16
|
||||
0002a 48 6b c0 01 imul rax, rax, 1
|
||||
0002e 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00035 48 03 c8 add rcx, rax
|
||||
00038 48 8b c1 mov rax, rcx
|
||||
0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0003e b8 10 00 00 00 mov eax, 16
|
||||
00043 48 6b c0 00 imul rax, rax, 0
|
||||
00047 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0004e 48 03 c8 add rcx, rax
|
||||
00051 48 8b c1 mov rax, rcx
|
||||
00054 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
0005b 0f 28 c1 movaps xmm0, xmm1
|
||||
0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
|
||||
; 22 : ALIGN(source->column[1]),
|
||||
; 23 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 24 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00062 b8 10 00 00 00 mov eax, 16
|
||||
00067 48 6b c0 01 imul rax, rax, 1
|
||||
0006b 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00072 48 03 c8 add rcx, rax
|
||||
00075 48 8b c1 mov rax, rcx
|
||||
00078 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0007b b8 10 00 00 00 mov eax, 16
|
||||
00080 48 6b c0 00 imul rax, rax, 0
|
||||
00084 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0008b 48 03 c8 add rcx, rax
|
||||
0008e 48 8b c1 mov rax, rcx
|
||||
00091 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
00098 0f 28 c1 movaps xmm0, xmm1
|
||||
0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
|
||||
|
||||
; 25 : ALIGN(source->column[1]),
|
||||
; 26 : _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 27 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
|
||||
0009f 0f 57 c0 xorps xmm0, xmm0
|
||||
000a2 b8 10 00 00 00 mov eax, 16
|
||||
000a7 48 6b c0 02 imul rax, rax, 2
|
||||
000ab 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000b2 48 03 c8 add rcx, rax
|
||||
000b5 48 8b c1 mov rax, rcx
|
||||
000b8 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
000bb 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
000bf 0f 28 c1 movaps xmm0, xmm1
|
||||
000c2 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0
|
||||
|
||||
; 28 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 29 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
|
||||
000c6 0f 57 c0 xorps xmm0, xmm0
|
||||
000c9 b8 10 00 00 00 mov eax, 16
|
||||
000ce 48 6b c0 02 imul rax, rax, 2
|
||||
000d2 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000d9 48 03 c8 add rcx, rax
|
||||
000dc 48 8b c1 mov rax, rcx
|
||||
000df 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
000e2 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
000e6 0f 28 c1 movaps xmm0, xmm1
|
||||
000e9 0f 29 85 a0 00
|
||||
00 00 movaps XMMWORD PTR t3$[rbp], xmm0
|
||||
|
||||
; 30 : _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 31 :
|
||||
; 32 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
000f0 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
000f4 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
|
||||
000f9 b8 10 00 00 00 mov eax, 16
|
||||
000fe 48 6b c0 00 imul rax, rax, 0
|
||||
00102 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00109 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 33 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
0010d 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
00111 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
|
||||
00116 b8 10 00 00 00 mov eax, 16
|
||||
0011b 48 6b c0 01 imul rax, rax, 1
|
||||
0011f 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00126 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 34 : target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
0012a 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
0012e 0f c6 85 a0 00
|
||||
00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H
|
||||
00136 b8 10 00 00 00 mov eax, 16
|
||||
0013b 48 6b c0 02 imul rax, rax, 2
|
||||
0013f 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00146 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 35 : }
|
||||
|
||||
0014a 48 8d a5 88 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+392]
|
||||
00151 5f pop rdi
|
||||
00152 5d pop rbp
|
||||
00153 c3 ret 0
|
||||
transpose33 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharpC\mat3.c
|
||||
; COMDAT transpose32
|
||||
_TEXT SEGMENT
|
||||
t0$ = 16
|
||||
t2$ = 64
|
||||
source$ = 320
|
||||
target$ = 328
|
||||
transpose32 PROC ; COMDAT
|
||||
|
||||
; 7 : {
|
||||
|
||||
$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
|
||||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__ED1231C3_mat3@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00024 90 npad 1
|
||||
|
||||
; 8 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00025 b8 10 00 00 00 mov eax, 16
|
||||
0002a 48 6b c0 01 imul rax, rax, 1
|
||||
0002e 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00035 48 03 c8 add rcx, rax
|
||||
00038 48 8b c1 mov rax, rcx
|
||||
0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0003e b8 10 00 00 00 mov eax, 16
|
||||
00043 48 6b c0 00 imul rax, rax, 0
|
||||
00047 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0004e 48 03 c8 add rcx, rax
|
||||
00051 48 8b c1 mov rax, rcx
|
||||
00054 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
0005b 0f 28 c1 movaps xmm0, xmm1
|
||||
0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
|
||||
; 9 : ALIGN(source->column[1]),
|
||||
; 10 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 11 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec,
|
||||
|
||||
00062 0f 57 c0 xorps xmm0, xmm0
|
||||
00065 b8 10 00 00 00 mov eax, 16
|
||||
0006a 48 6b c0 02 imul rax, rax, 2
|
||||
0006e 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00075 48 03 c8 add rcx, rax
|
||||
00078 48 8b c1 mov rax, rcx
|
||||
0007b 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
0007e 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
00082 0f 28 c1 movaps xmm0, xmm1
|
||||
00085 0f 29 45 40 movaps XMMWORD PTR t2$[rbp], xmm0
|
||||
|
||||
; 12 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 13 :
|
||||
; 14 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
00089 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
0008d 0f c6 45 40 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
|
||||
00092 b8 10 00 00 00 mov eax, 16
|
||||
00097 48 6b c0 00 imul rax, rax, 0
|
||||
0009b 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
000a2 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 15 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
000a6 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
000aa 0f c6 45 40 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
|
||||
000af b8 10 00 00 00 mov eax, 16
|
||||
000b4 48 6b c0 01 imul rax, rax, 1
|
||||
000b8 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
000bf 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 16 : }
|
||||
|
||||
000c3 48 8d a5 28 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+296]
|
||||
000ca 5f pop rdi
|
||||
000cb 5d pop rbp
|
||||
000cc c3 ret 0
|
||||
transpose32 ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"version": "2.1.0",
|
||||
"$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json",
|
||||
"runs": [
|
||||
{
|
||||
"results": [],
|
||||
"tool": {
|
||||
"driver": {
|
||||
"name": "PREfast",
|
||||
"fullName": "PREfast Code Analysis",
|
||||
"version": "14.39.33523.0",
|
||||
"informationUri": "https://aka.ms/cpp/ca"
|
||||
}
|
||||
},
|
||||
"invocations": [
|
||||
{
|
||||
"executionSuccessful": true
|
||||
}
|
||||
],
|
||||
"artifacts": [
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/mat3.c"
|
||||
},
|
||||
"roles": [
|
||||
"analysisTarget"
|
||||
],
|
||||
"hashes": {
|
||||
"sha-256": "d4a90feb0ed209a93b7b285f0abf6159ef0a137362f765edd2f9e34196ff5666"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stgsharpc.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "46efce7e03c053a63fbaec27d92f7ef754e5c368b9bf3dde60683b99f109903e"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/ssgc_framework.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "fc75606e68c89d5e890316fa9798fa5f209e9f7f1596cac315f24f5016d20652"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/ssgc_internal.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "f9a595a71140053e0ff25ce143983b905d9b3ad9c672d8752845364a8a2c7807"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/gl.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "0d4da36d20ceb98804584beb77fdde6923c48c83e032fa453d459af2ff5dd1dc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/khrplatform.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "7b1e01aaa7ad8f6fc34b5c7bdf79ebf5189bb09e2c4d2e79fc5d350623d11e83"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/wgl.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "f2c2c934cc6135662cf9bbbfab774fc4609a7fbd827b1a688455d813854f514b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/glfw3.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "a1ac46397841f26f8bc290ea1496d1009b65862ded7944567cd7830015d4b376"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stb_image.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "3249df7a8c1996a53cff688577b835d0f3fcd05a599fdcbfa36d1fc30b76b7ea"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,915 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.41.34120.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
_DATA SEGMENT
|
||||
COMM infolog:BYTE:0200H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
__E55737E3_ssc_framework@h DB 01H
|
||||
__7583A0D2_mmintrin@h DB 01H
|
||||
__DDA0A690_concurrencysal@h DB 01H
|
||||
__9ECC08BE_sal@h DB 01H
|
||||
__E05D733A_vadefs@h DB 01H
|
||||
__6A355E0E_vcruntime@h DB 01H
|
||||
__1B0272D9_corecrt@h DB 01H
|
||||
__45DED006_corecrt_malloc@h DB 01H
|
||||
__FA77ED4C_malloc@h DB 01H
|
||||
__EAE0325A_xmmintrin@h DB 01H
|
||||
__0ED14FEE_winpackagefamily@h DB 01H
|
||||
__F92EF742_winapifamily@h DB 01H
|
||||
__22E515EB_sdkddkver@h DB 01H
|
||||
__A09A3A7D_excpt@h DB 01H
|
||||
__AC8FA393_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
|
||||
__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
|
||||
__890838BD_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
|
||||
__A9371419_ssc_internal@h DB 01H
|
||||
__44420885_corecrt_stdio_config@h DB 01H
|
||||
__AB601D8D_corecrt_wstdio@h DB 01H
|
||||
__C1EC35D3_stdio@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__FD6DBD68_corecrt_search@h DB 01H
|
||||
__E2E33A61_corecrt_wstdlib@h DB 01H
|
||||
__26263363_limits@h DB 01H
|
||||
__6E5ACABA_stdlib@h DB 01H
|
||||
__C8BE8E53_stb_image@h DB 01H
|
||||
__98501D5C_stdint@h DB 01H
|
||||
__0A6C9B88_khrplatform@h DB 01H
|
||||
__6327F2D5_gl@h DB 01H
|
||||
__D76F496D_wgl@h DB 01H
|
||||
__06782E22_glfw3@h DB 01H
|
||||
__8F82BB96_emmintrin@h DB 01H
|
||||
__5023D31F_pmmintrin@h DB 01H
|
||||
__E0FAA09D_tmmintrin@h DB 01H
|
||||
__C9C1B51E_smmintrin@h DB 01H
|
||||
__ACA33CD2_nmmintrin@h DB 01H
|
||||
__7918C69C_wmmintrin@h DB 01H
|
||||
__B28C8B9B_zmmintrin@h DB 01H
|
||||
__85982951_immintrin@h DB 01H
|
||||
__19139D6C_assert@h DB 01H
|
||||
__54E1226D_StgSharpC@h DB 01H
|
||||
__C7934478_ssc_intrinsic@h DB 01H
|
||||
__E85D2746_mat4@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC transpose42
|
||||
PUBLIC transpose43
|
||||
PUBLIC transpose44
|
||||
PUBLIC det_mat4
|
||||
PUBLIC __JustMyCode_Default
|
||||
PUBLIC __xmm@80000000800000008000000080000000
|
||||
EXTRN det_mat3_internal:PROC
|
||||
EXTRN _RTC_CheckStackVars:PROC
|
||||
EXTRN _RTC_InitBase:PROC
|
||||
EXTRN _RTC_Shutdown:PROC
|
||||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||||
EXTRN _fltused:DWORD
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$transpose42 DD imagerel $LN3
|
||||
DD imagerel $LN3+227
|
||||
DD imagerel $unwind$transpose42
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$transpose43 DD imagerel $LN3
|
||||
DD imagerel $LN3+384
|
||||
DD imagerel $unwind$transpose43
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$transpose44 DD imagerel $LN3
|
||||
DD imagerel $LN3+416
|
||||
DD imagerel $unwind$transpose44
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$det_mat4 DD imagerel $LN3
|
||||
DD imagerel $LN3+655
|
||||
DD imagerel $unwind$det_mat4
|
||||
pdata ENDS
|
||||
; COMDAT __xmm@80000000800000008000000080000000
|
||||
CONST SEGMENT
|
||||
__xmm@80000000800000008000000080000000 DB 00H, 00H, 00H, 080H, 00H, 00H, 00H
|
||||
DB 080H, 00H, 00H, 00H, 080H, 00H, 00H, 00H, 080H
|
||||
CONST 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$det_mat4 DD 035053101H
|
||||
DD 01133318H
|
||||
DD 0700c00a3H
|
||||
DD 0500bH
|
||||
xdata ENDS
|
||||
; COMDAT CONST
|
||||
CONST SEGMENT
|
||||
det_mat4$rtcName$0 DB 072H
|
||||
DB 065H
|
||||
DB 074H
|
||||
DB 076H
|
||||
DB 065H
|
||||
DB 063H
|
||||
DB 00H
|
||||
ORG $+9
|
||||
det_mat4$rtcVarDesc DD 0130H
|
||||
DD 010H
|
||||
DQ FLAT:det_mat4$rtcName$0
|
||||
ORG $+48
|
||||
det_mat4$rtcFrameData DD 01H
|
||||
DD 00H
|
||||
DQ FLAT:det_mat4$rtcVarDesc
|
||||
CONST ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$transpose44 DD 025051801H
|
||||
DD 01132318H
|
||||
DD 0700c0035H
|
||||
DD 0500bH
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$transpose43 DD 025051801H
|
||||
DD 01132318H
|
||||
DD 0700c0035H
|
||||
DD 0500bH
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$transpose42 DD 025051801H
|
||||
DD 01132318H
|
||||
DD 0700c0029H
|
||||
DD 0500bH
|
||||
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\mat4.c
|
||||
; COMDAT det_mat4
|
||||
_TEXT SEGMENT
|
||||
mc0$ = 16
|
||||
mc1$ = 64
|
||||
mc2$ = 112
|
||||
mc3$ = 160
|
||||
cogeneration$ = 208
|
||||
retvec$ = 256
|
||||
$T4 = 688
|
||||
$T5 = 736
|
||||
$T6 = 784
|
||||
$T7 = 832
|
||||
$T8 = 880
|
||||
$T9 = 928
|
||||
$T10 = 976
|
||||
$T11 = 1024
|
||||
$T12 = 1072
|
||||
$T13 = 1120
|
||||
$T14 = 1168
|
||||
$T15 = 1216
|
||||
tv89 = 1236
|
||||
tv95 = 1240
|
||||
tv133 = 1244
|
||||
mat_ptr$ = 1280
|
||||
transpose$ = 1288
|
||||
det_mat4 PROC ; COMDAT
|
||||
|
||||
; 62 : {
|
||||
|
||||
$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 18 05
|
||||
00 00 sub rsp, 1304 ; 00000518H
|
||||
00013 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
||||
00018 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
|
||||
0001d b9 da 00 00 00 mov ecx, 218 ; 000000daH
|
||||
00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
||||
00027 f3 ab rep stosd
|
||||
00029 48 8b 8c 24 38
|
||||
05 00 00 mov rcx, QWORD PTR [rsp+1336]
|
||||
00031 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__E85D2746_mat4@c
|
||||
00038 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
0003d 90 npad 1
|
||||
|
||||
; 63 : __m128 mc0 = ALIGN(mat_ptr->column[0]);
|
||||
|
||||
0003e b8 10 00 00 00 mov eax, 16
|
||||
00043 48 6b c0 00 imul rax, rax, 0
|
||||
00047 48 8b 8d 00 05
|
||||
00 00 mov rcx, QWORD PTR mat_ptr$[rbp]
|
||||
0004e 48 03 c8 add rcx, rax
|
||||
00051 48 8b c1 mov rax, rcx
|
||||
00054 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00057 0f 29 45 10 movaps XMMWORD PTR mc0$[rbp], xmm0
|
||||
|
||||
; 64 : __m128 mc1 = ALIGN(mat_ptr->column[1]);
|
||||
|
||||
0005b b8 10 00 00 00 mov eax, 16
|
||||
00060 48 6b c0 01 imul rax, rax, 1
|
||||
00064 48 8b 8d 00 05
|
||||
00 00 mov rcx, QWORD PTR mat_ptr$[rbp]
|
||||
0006b 48 03 c8 add rcx, rax
|
||||
0006e 48 8b c1 mov rax, rcx
|
||||
00071 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00074 0f 29 45 40 movaps XMMWORD PTR mc1$[rbp], xmm0
|
||||
|
||||
; 65 : __m128 mc2 = ALIGN(mat_ptr->column[2]);
|
||||
|
||||
00078 b8 10 00 00 00 mov eax, 16
|
||||
0007d 48 6b c0 02 imul rax, rax, 2
|
||||
00081 48 8b 8d 00 05
|
||||
00 00 mov rcx, QWORD PTR mat_ptr$[rbp]
|
||||
00088 48 03 c8 add rcx, rax
|
||||
0008b 48 8b c1 mov rax, rcx
|
||||
0008e 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00091 0f 29 45 70 movaps XMMWORD PTR mc2$[rbp], xmm0
|
||||
|
||||
; 66 : __m128 mc3 = ALIGN(mat_ptr->column[3]);
|
||||
|
||||
00095 b8 10 00 00 00 mov eax, 16
|
||||
0009a 48 6b c0 03 imul rax, rax, 3
|
||||
0009e 48 8b 8d 00 05
|
||||
00 00 mov rcx, QWORD PTR mat_ptr$[rbp]
|
||||
000a5 48 03 c8 add rcx, rax
|
||||
000a8 48 8b c1 mov rax, rcx
|
||||
000ab 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
000ae 0f 29 85 a0 00
|
||||
00 00 movaps XMMWORD PTR mc3$[rbp], xmm0
|
||||
|
||||
; 67 :
|
||||
; 68 : __m128 cogeneration = _mm_set_ps(det_mat3_internal(mc0, mc1, mc2),
|
||||
|
||||
000b5 0f 28 85 a0 00
|
||||
00 00 movaps xmm0, XMMWORD PTR mc3$[rbp]
|
||||
000bc 0f 29 85 10 03
|
||||
00 00 movaps XMMWORD PTR $T6[rbp], xmm0
|
||||
000c3 0f 28 45 70 movaps xmm0, XMMWORD PTR mc2$[rbp]
|
||||
000c7 0f 29 85 e0 02
|
||||
00 00 movaps XMMWORD PTR $T5[rbp], xmm0
|
||||
000ce 0f 28 45 40 movaps xmm0, XMMWORD PTR mc1$[rbp]
|
||||
000d2 0f 29 85 b0 02
|
||||
00 00 movaps XMMWORD PTR $T4[rbp], xmm0
|
||||
000d9 4c 8d 85 10 03
|
||||
00 00 lea r8, QWORD PTR $T6[rbp]
|
||||
000e0 48 8d 95 e0 02
|
||||
00 00 lea rdx, QWORD PTR $T5[rbp]
|
||||
000e7 48 8d 8d b0 02
|
||||
00 00 lea rcx, QWORD PTR $T4[rbp]
|
||||
000ee e8 00 00 00 00 call det_mat3_internal
|
||||
000f3 f3 0f 2a c0 cvtsi2ss xmm0, eax
|
||||
000f7 f3 0f 11 85 d4
|
||||
04 00 00 movss DWORD PTR tv89[rbp], xmm0
|
||||
000ff 0f 28 8d a0 00
|
||||
00 00 movaps xmm1, XMMWORD PTR mc3$[rbp]
|
||||
00106 0f 29 8d a0 03
|
||||
00 00 movaps XMMWORD PTR $T9[rbp], xmm1
|
||||
0010d 0f 28 4d 70 movaps xmm1, XMMWORD PTR mc2$[rbp]
|
||||
00111 0f 29 8d 70 03
|
||||
00 00 movaps XMMWORD PTR $T8[rbp], xmm1
|
||||
00118 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc0$[rbp]
|
||||
0011c 0f 29 8d 40 03
|
||||
00 00 movaps XMMWORD PTR $T7[rbp], xmm1
|
||||
00123 4c 8d 85 a0 03
|
||||
00 00 lea r8, QWORD PTR $T9[rbp]
|
||||
0012a 48 8d 95 70 03
|
||||
00 00 lea rdx, QWORD PTR $T8[rbp]
|
||||
00131 48 8d 8d 40 03
|
||||
00 00 lea rcx, QWORD PTR $T7[rbp]
|
||||
00138 e8 00 00 00 00 call det_mat3_internal
|
||||
0013d f3 0f 2a c0 cvtsi2ss xmm0, eax
|
||||
00141 f3 0f 11 85 d8
|
||||
04 00 00 movss DWORD PTR tv95[rbp], xmm0
|
||||
00149 0f 28 8d a0 00
|
||||
00 00 movaps xmm1, XMMWORD PTR mc3$[rbp]
|
||||
00150 0f 29 8d 30 04
|
||||
00 00 movaps XMMWORD PTR $T12[rbp], xmm1
|
||||
00157 0f 28 4d 40 movaps xmm1, XMMWORD PTR mc1$[rbp]
|
||||
0015b 0f 29 8d 00 04
|
||||
00 00 movaps XMMWORD PTR $T11[rbp], xmm1
|
||||
00162 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc0$[rbp]
|
||||
00166 0f 29 8d d0 03
|
||||
00 00 movaps XMMWORD PTR $T10[rbp], xmm1
|
||||
0016d 4c 8d 85 30 04
|
||||
00 00 lea r8, QWORD PTR $T12[rbp]
|
||||
00174 48 8d 95 00 04
|
||||
00 00 lea rdx, QWORD PTR $T11[rbp]
|
||||
0017b 48 8d 8d d0 03
|
||||
00 00 lea rcx, QWORD PTR $T10[rbp]
|
||||
00182 e8 00 00 00 00 call det_mat3_internal
|
||||
00187 f3 0f 2a c0 cvtsi2ss xmm0, eax
|
||||
0018b f3 0f 11 85 dc
|
||||
04 00 00 movss DWORD PTR tv133[rbp], xmm0
|
||||
00193 0f 28 4d 70 movaps xmm1, XMMWORD PTR mc2$[rbp]
|
||||
00197 0f 29 8d c0 04
|
||||
00 00 movaps XMMWORD PTR $T15[rbp], xmm1
|
||||
0019e 0f 28 4d 40 movaps xmm1, XMMWORD PTR mc1$[rbp]
|
||||
001a2 0f 29 8d 90 04
|
||||
00 00 movaps XMMWORD PTR $T14[rbp], xmm1
|
||||
001a9 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc0$[rbp]
|
||||
001ad 0f 29 8d 60 04
|
||||
00 00 movaps XMMWORD PTR $T13[rbp], xmm1
|
||||
001b4 4c 8d 85 c0 04
|
||||
00 00 lea r8, QWORD PTR $T15[rbp]
|
||||
001bb 48 8d 95 90 04
|
||||
00 00 lea rdx, QWORD PTR $T14[rbp]
|
||||
001c2 48 8d 8d 60 04
|
||||
00 00 lea rcx, QWORD PTR $T13[rbp]
|
||||
001c9 e8 00 00 00 00 call det_mat3_internal
|
||||
001ce f3 0f 2a c0 cvtsi2ss xmm0, eax
|
||||
001d2 f3 0f 10 8d dc
|
||||
04 00 00 movss xmm1, DWORD PTR tv133[rbp]
|
||||
001da f3 0f 10 95 d8
|
||||
04 00 00 movss xmm2, DWORD PTR tv95[rbp]
|
||||
001e2 f3 0f 10 9d d4
|
||||
04 00 00 movss xmm3, DWORD PTR tv89[rbp]
|
||||
001ea 0f 14 c8 unpcklps xmm1, xmm0
|
||||
001ed 0f 14 da unpcklps xmm3, xmm2
|
||||
001f0 0f 28 c3 movaps xmm0, xmm3
|
||||
001f3 0f 16 c1 movlhps xmm0, xmm1
|
||||
001f6 0f 29 85 d0 00
|
||||
00 00 movaps XMMWORD PTR cogeneration$[rbp], xmm0
|
||||
|
||||
; 69 : det_mat3_internal(mc0, mc1, mc3),
|
||||
; 70 : det_mat3_internal(mc0, mc2, mc3),
|
||||
; 71 : det_mat3_internal(mc1, mc2, mc3));
|
||||
; 72 : __m128 retvec = _mm_mul_ps(ALIGN(transpose->column[3]), cogeneration);
|
||||
|
||||
001fd b8 10 00 00 00 mov eax, 16
|
||||
00202 48 6b c0 03 imul rax, rax, 3
|
||||
00206 48 8b 8d 08 05
|
||||
00 00 mov rcx, QWORD PTR transpose$[rbp]
|
||||
0020d 48 03 c8 add rcx, rax
|
||||
00210 48 8b c1 mov rax, rcx
|
||||
00213 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
00216 0f 59 85 d0 00
|
||||
00 00 mulps xmm0, XMMWORD PTR cogeneration$[rbp]
|
||||
0021d 0f 29 85 00 01
|
||||
00 00 movaps XMMWORD PTR retvec$[rbp], xmm0
|
||||
|
||||
; 73 : retvec = _mm_hsub_ps(retvec, retvec);
|
||||
|
||||
00224 0f 28 85 00 01
|
||||
00 00 movaps xmm0, XMMWORD PTR retvec$[rbp]
|
||||
0022b f2 0f 7d 85 00
|
||||
01 00 00 hsubps xmm0, XMMWORD PTR retvec$[rbp]
|
||||
00233 0f 29 85 00 01
|
||||
00 00 movaps XMMWORD PTR retvec$[rbp], xmm0
|
||||
|
||||
; 74 : retvec = _mm_hadd_ps(retvec, retvec);
|
||||
|
||||
0023a 0f 28 85 00 01
|
||||
00 00 movaps xmm0, XMMWORD PTR retvec$[rbp]
|
||||
00241 f2 0f 7c 85 00
|
||||
01 00 00 haddps xmm0, XMMWORD PTR retvec$[rbp]
|
||||
00249 0f 29 85 00 01
|
||||
00 00 movaps XMMWORD PTR retvec$[rbp], xmm0
|
||||
|
||||
; 75 : return -retvec.m128_f32[0];
|
||||
|
||||
00250 b8 04 00 00 00 mov eax, 4
|
||||
00255 48 6b c0 00 imul rax, rax, 0
|
||||
00259 f3 0f 10 84 05
|
||||
00 01 00 00 movss xmm0, DWORD PTR retvec$[rbp+rax]
|
||||
00262 0f 57 05 00 00
|
||||
00 00 xorps xmm0, DWORD PTR __xmm@80000000800000008000000080000000
|
||||
|
||||
; 76 : }
|
||||
|
||||
00269 f3 0f 7f 44 24
|
||||
20 movdqu XMMWORD PTR [rsp+32], xmm0
|
||||
0026f 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
|
||||
00273 48 8d 15 00 00
|
||||
00 00 lea rdx, OFFSET FLAT:det_mat4$rtcFrameData
|
||||
0027a e8 00 00 00 00 call _RTC_CheckStackVars
|
||||
0027f f3 0f 6f 44 24
|
||||
20 movdqu xmm0, XMMWORD PTR [rsp+32]
|
||||
00285 48 8d a5 e8 04
|
||||
00 00 lea rsp, QWORD PTR [rbp+1256]
|
||||
0028c 5f pop rdi
|
||||
0028d 5d pop rbp
|
||||
0028e c3 ret 0
|
||||
det_mat4 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharpC\mat4.c
|
||||
; COMDAT transpose44
|
||||
_TEXT SEGMENT
|
||||
t0$ = 16
|
||||
t1$ = 64
|
||||
t2$ = 112
|
||||
t3$ = 160
|
||||
source$ = 416
|
||||
target$ = 424
|
||||
transpose44 PROC ; COMDAT
|
||||
|
||||
; 41 : {
|
||||
|
||||
$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 a8 01
|
||||
00 00 sub rsp, 424 ; 000001a8H
|
||||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__E85D2746_mat4@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00024 90 npad 1
|
||||
|
||||
; 42 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00025 b8 10 00 00 00 mov eax, 16
|
||||
0002a 48 6b c0 01 imul rax, rax, 1
|
||||
0002e 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00035 48 03 c8 add rcx, rax
|
||||
00038 48 8b c1 mov rax, rcx
|
||||
0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0003e b8 10 00 00 00 mov eax, 16
|
||||
00043 48 6b c0 00 imul rax, rax, 0
|
||||
00047 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0004e 48 03 c8 add rcx, rax
|
||||
00051 48 8b c1 mov rax, rcx
|
||||
00054 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
0005b 0f 28 c1 movaps xmm0, xmm1
|
||||
0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
|
||||
; 43 : ALIGN(source->column[1]),
|
||||
; 44 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 45 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00062 b8 10 00 00 00 mov eax, 16
|
||||
00067 48 6b c0 01 imul rax, rax, 1
|
||||
0006b 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00072 48 03 c8 add rcx, rax
|
||||
00075 48 8b c1 mov rax, rcx
|
||||
00078 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0007b b8 10 00 00 00 mov eax, 16
|
||||
00080 48 6b c0 00 imul rax, rax, 0
|
||||
00084 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0008b 48 03 c8 add rcx, rax
|
||||
0008e 48 8b c1 mov rax, rcx
|
||||
00091 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
00098 0f 28 c1 movaps xmm0, xmm1
|
||||
0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
|
||||
|
||||
; 46 : ALIGN(source->column[1]),
|
||||
; 47 : _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 48 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]),
|
||||
|
||||
0009f b8 10 00 00 00 mov eax, 16
|
||||
000a4 48 6b c0 03 imul rax, rax, 3
|
||||
000a8 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000af 48 03 c8 add rcx, rax
|
||||
000b2 48 8b c1 mov rax, rcx
|
||||
000b5 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
000b8 b8 10 00 00 00 mov eax, 16
|
||||
000bd 48 6b c0 02 imul rax, rax, 2
|
||||
000c1 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000c8 48 03 c8 add rcx, rax
|
||||
000cb 48 8b c1 mov rax, rcx
|
||||
000ce 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
000d1 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
000d5 0f 28 c1 movaps xmm0, xmm1
|
||||
000d8 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0
|
||||
|
||||
; 49 : ALIGN(source->column[3]),
|
||||
; 50 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 51 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]),
|
||||
|
||||
000dc b8 10 00 00 00 mov eax, 16
|
||||
000e1 48 6b c0 03 imul rax, rax, 3
|
||||
000e5 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000ec 48 03 c8 add rcx, rax
|
||||
000ef 48 8b c1 mov rax, rcx
|
||||
000f2 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
000f5 b8 10 00 00 00 mov eax, 16
|
||||
000fa 48 6b c0 02 imul rax, rax, 2
|
||||
000fe 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00105 48 03 c8 add rcx, rax
|
||||
00108 48 8b c1 mov rax, rcx
|
||||
0010b 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
0010e 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
00112 0f 28 c1 movaps xmm0, xmm1
|
||||
00115 0f 29 85 a0 00
|
||||
00 00 movaps XMMWORD PTR t3$[rbp], xmm0
|
||||
|
||||
; 52 : ALIGN(source->column[3]),
|
||||
; 53 : _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 54 :
|
||||
; 55 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
0011c 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
00120 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
|
||||
00125 b8 10 00 00 00 mov eax, 16
|
||||
0012a 48 6b c0 00 imul rax, rax, 0
|
||||
0012e 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00135 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 56 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
00139 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
0013d 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
|
||||
00142 b8 10 00 00 00 mov eax, 16
|
||||
00147 48 6b c0 01 imul rax, rax, 1
|
||||
0014b 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00152 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 57 : target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
00156 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
0015a 0f c6 85 a0 00
|
||||
00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H
|
||||
00162 b8 10 00 00 00 mov eax, 16
|
||||
00167 48 6b c0 02 imul rax, rax, 2
|
||||
0016b 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00172 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 58 : target->column[3] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
00176 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
0017a 0f c6 85 a0 00
|
||||
00 00 dd shufps xmm0, XMMWORD PTR t3$[rbp], 221 ; 000000ddH
|
||||
00182 b8 10 00 00 00 mov eax, 16
|
||||
00187 48 6b c0 03 imul rax, rax, 3
|
||||
0018b 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00192 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 59 : }
|
||||
|
||||
00196 48 8d a5 88 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+392]
|
||||
0019d 5f pop rdi
|
||||
0019e 5d pop rbp
|
||||
0019f c3 ret 0
|
||||
transpose44 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharpC\mat4.c
|
||||
; COMDAT transpose43
|
||||
_TEXT SEGMENT
|
||||
t0$ = 16
|
||||
t1$ = 64
|
||||
t2$ = 112
|
||||
t3$ = 160
|
||||
source$ = 416
|
||||
target$ = 424
|
||||
transpose43 PROC ; COMDAT
|
||||
|
||||
; 21 : {
|
||||
|
||||
$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 a8 01
|
||||
00 00 sub rsp, 424 ; 000001a8H
|
||||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__E85D2746_mat4@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00024 90 npad 1
|
||||
|
||||
; 22 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00025 b8 10 00 00 00 mov eax, 16
|
||||
0002a 48 6b c0 01 imul rax, rax, 1
|
||||
0002e 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00035 48 03 c8 add rcx, rax
|
||||
00038 48 8b c1 mov rax, rcx
|
||||
0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0003e b8 10 00 00 00 mov eax, 16
|
||||
00043 48 6b c0 00 imul rax, rax, 0
|
||||
00047 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0004e 48 03 c8 add rcx, rax
|
||||
00051 48 8b c1 mov rax, rcx
|
||||
00054 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
0005b 0f 28 c1 movaps xmm0, xmm1
|
||||
0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
|
||||
; 23 : ALIGN(source->column[1]),
|
||||
; 24 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 25 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00062 b8 10 00 00 00 mov eax, 16
|
||||
00067 48 6b c0 01 imul rax, rax, 1
|
||||
0006b 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00072 48 03 c8 add rcx, rax
|
||||
00075 48 8b c1 mov rax, rcx
|
||||
00078 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0007b b8 10 00 00 00 mov eax, 16
|
||||
00080 48 6b c0 00 imul rax, rax, 0
|
||||
00084 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0008b 48 03 c8 add rcx, rax
|
||||
0008e 48 8b c1 mov rax, rcx
|
||||
00091 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00094 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
00098 0f 28 c1 movaps xmm0, xmm1
|
||||
0009b 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0
|
||||
|
||||
; 26 : ALIGN(source->column[1]),
|
||||
; 27 : _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 28 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]),
|
||||
|
||||
0009f b8 10 00 00 00 mov eax, 16
|
||||
000a4 48 6b c0 03 imul rax, rax, 3
|
||||
000a8 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000af 48 03 c8 add rcx, rax
|
||||
000b2 48 8b c1 mov rax, rcx
|
||||
000b5 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
000b8 b8 10 00 00 00 mov eax, 16
|
||||
000bd 48 6b c0 02 imul rax, rax, 2
|
||||
000c1 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000c8 48 03 c8 add rcx, rax
|
||||
000cb 48 8b c1 mov rax, rcx
|
||||
000ce 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
000d1 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
000d5 0f 28 c1 movaps xmm0, xmm1
|
||||
000d8 0f 29 45 70 movaps XMMWORD PTR t2$[rbp], xmm0
|
||||
|
||||
; 29 : ALIGN(source->column[3]),
|
||||
; 30 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 31 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]),
|
||||
|
||||
000dc b8 10 00 00 00 mov eax, 16
|
||||
000e1 48 6b c0 03 imul rax, rax, 3
|
||||
000e5 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
000ec 48 03 c8 add rcx, rax
|
||||
000ef 48 8b c1 mov rax, rcx
|
||||
000f2 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
000f5 b8 10 00 00 00 mov eax, 16
|
||||
000fa 48 6b c0 02 imul rax, rax, 2
|
||||
000fe 48 8b 8d a0 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00105 48 03 c8 add rcx, rax
|
||||
00108 48 8b c1 mov rax, rcx
|
||||
0010b 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
0010e 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
|
||||
00112 0f 28 c1 movaps xmm0, xmm1
|
||||
00115 0f 29 85 a0 00
|
||||
00 00 movaps XMMWORD PTR t3$[rbp], xmm0
|
||||
|
||||
; 32 : ALIGN(source->column[3]),
|
||||
; 33 : _MM_SHUFFLE(3, 2, 3, 2));
|
||||
; 34 :
|
||||
; 35 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
0011c 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
00120 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
|
||||
00125 b8 10 00 00 00 mov eax, 16
|
||||
0012a 48 6b c0 00 imul rax, rax, 0
|
||||
0012e 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00135 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 36 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
00139 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
0013d 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
|
||||
00142 b8 10 00 00 00 mov eax, 16
|
||||
00147 48 6b c0 01 imul rax, rax, 1
|
||||
0014b 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00152 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 37 : target->column[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
00156 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
|
||||
0015a 0f c6 85 a0 00
|
||||
00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H
|
||||
00162 b8 10 00 00 00 mov eax, 16
|
||||
00167 48 6b c0 02 imul rax, rax, 2
|
||||
0016b 48 8b 8d a8 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
00172 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 38 : }
|
||||
|
||||
00176 48 8d a5 88 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+392]
|
||||
0017d 5f pop rdi
|
||||
0017e 5d pop rbp
|
||||
0017f c3 ret 0
|
||||
transpose43 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Odtp /RTCsu /ZI
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\ÄÚºËÔ´´úÂë\StgSharpC\mat4.c
|
||||
; COMDAT transpose42
|
||||
_TEXT SEGMENT
|
||||
t0$ = 16
|
||||
t2$ = 64
|
||||
source$ = 320
|
||||
target$ = 328
|
||||
transpose42 PROC ; COMDAT
|
||||
|
||||
; 8 : {
|
||||
|
||||
$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
|
||||
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00018 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__E85D2746_mat4@c
|
||||
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00024 90 npad 1
|
||||
|
||||
; 9 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]),
|
||||
|
||||
00025 b8 10 00 00 00 mov eax, 16
|
||||
0002a 48 6b c0 01 imul rax, rax, 1
|
||||
0002e 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00035 48 03 c8 add rcx, rax
|
||||
00038 48 8b c1 mov rax, rcx
|
||||
0003b 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0003e b8 10 00 00 00 mov eax, 16
|
||||
00043 48 6b c0 00 imul rax, rax, 0
|
||||
00047 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0004e 48 03 c8 add rcx, rax
|
||||
00051 48 8b c1 mov rax, rcx
|
||||
00054 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00057 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
0005b 0f 28 c1 movaps xmm0, xmm1
|
||||
0005e 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0
|
||||
|
||||
; 10 : ALIGN(source->column[1]),
|
||||
; 11 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 12 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]),
|
||||
|
||||
00062 b8 10 00 00 00 mov eax, 16
|
||||
00067 48 6b c0 03 imul rax, rax, 3
|
||||
0006b 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
00072 48 03 c8 add rcx, rax
|
||||
00075 48 8b c1 mov rax, rcx
|
||||
00078 0f 10 00 movups xmm0, XMMWORD PTR [rax]
|
||||
0007b b8 10 00 00 00 mov eax, 16
|
||||
00080 48 6b c0 02 imul rax, rax, 2
|
||||
00084 48 8b 8d 40 01
|
||||
00 00 mov rcx, QWORD PTR source$[rbp]
|
||||
0008b 48 03 c8 add rcx, rax
|
||||
0008e 48 8b c1 mov rax, rcx
|
||||
00091 0f 10 08 movups xmm1, XMMWORD PTR [rax]
|
||||
00094 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
|
||||
00098 0f 28 c1 movaps xmm0, xmm1
|
||||
0009b 0f 29 45 40 movaps XMMWORD PTR t2$[rbp], xmm0
|
||||
|
||||
; 13 : ALIGN(source->column[3]),
|
||||
; 14 : _MM_SHUFFLE(1, 0, 1, 0));
|
||||
; 15 :
|
||||
; 16 : target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
|
||||
|
||||
0009f 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
000a3 0f c6 45 40 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
|
||||
000a8 b8 10 00 00 00 mov eax, 16
|
||||
000ad 48 6b c0 00 imul rax, rax, 0
|
||||
000b1 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
000b8 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 17 : target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
|
||||
|
||||
000bc 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
|
||||
000c0 0f c6 45 40 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
|
||||
000c5 b8 10 00 00 00 mov eax, 16
|
||||
000ca 48 6b c0 01 imul rax, rax, 1
|
||||
000ce 48 8b 8d 48 01
|
||||
00 00 mov rcx, QWORD PTR target$[rbp]
|
||||
000d5 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
|
||||
|
||||
; 18 : }
|
||||
|
||||
000d9 48 8d a5 28 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+296]
|
||||
000e0 5f pop rdi
|
||||
000e1 5d pop rbp
|
||||
000e2 c3 ret 0
|
||||
transpose42 ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"version": "2.1.0",
|
||||
"$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json",
|
||||
"runs": [
|
||||
{
|
||||
"results": [],
|
||||
"tool": {
|
||||
"driver": {
|
||||
"name": "PREfast",
|
||||
"fullName": "PREfast Code Analysis",
|
||||
"version": "14.39.33523.0",
|
||||
"informationUri": "https://aka.ms/cpp/ca"
|
||||
}
|
||||
},
|
||||
"invocations": [
|
||||
{
|
||||
"executionSuccessful": true
|
||||
}
|
||||
],
|
||||
"artifacts": [
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/mat4.c"
|
||||
},
|
||||
"roles": [
|
||||
"analysisTarget"
|
||||
],
|
||||
"hashes": {
|
||||
"sha-256": "d961704d2c358a7810a70fb91c4488d4076d761c29609d9601bb7acbb6e0b493"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stgsharpc.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "46efce7e03c053a63fbaec27d92f7ef754e5c368b9bf3dde60683b99f109903e"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/ssgc_framework.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "fc75606e68c89d5e890316fa9798fa5f209e9f7f1596cac315f24f5016d20652"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/ssgc_internal.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "f9a595a71140053e0ff25ce143983b905d9b3ad9c672d8752845364a8a2c7807"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/gl.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "0d4da36d20ceb98804584beb77fdde6923c48c83e032fa453d459af2ff5dd1dc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/khrplatform.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "7b1e01aaa7ad8f6fc34b5c7bdf79ebf5189bb09e2c4d2e79fc5d350623d11e83"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/wgl.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "f2c2c934cc6135662cf9bbbfab774fc4609a7fbd827b1a688455d813854f514b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/glfw3.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "a1ac46397841f26f8bc290ea1496d1009b65862ded7944567cd7830015d4b376"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stb_image.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "3249df7a8c1996a53cff688577b835d0f3fcd05a599fdcbfa36d1fc30b76b7ea"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,357 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.41.34120.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
_DATA SEGMENT
|
||||
COMM infolog:BYTE:0200H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
__E55737E3_ssc_framework@h DB 01H
|
||||
__7583A0D2_mmintrin@h DB 01H
|
||||
__DDA0A690_concurrencysal@h DB 01H
|
||||
__9ECC08BE_sal@h DB 01H
|
||||
__E05D733A_vadefs@h DB 01H
|
||||
__6A355E0E_vcruntime@h DB 01H
|
||||
__1B0272D9_corecrt@h DB 01H
|
||||
__45DED006_corecrt_malloc@h DB 01H
|
||||
__FA77ED4C_malloc@h DB 01H
|
||||
__EAE0325A_xmmintrin@h DB 01H
|
||||
__0ED14FEE_winpackagefamily@h DB 01H
|
||||
__F92EF742_winapifamily@h DB 01H
|
||||
__22E515EB_sdkddkver@h DB 01H
|
||||
__A09A3A7D_excpt@h DB 01H
|
||||
__AC8FA393_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
|
||||
__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
|
||||
__890838BD_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
|
||||
__A9371419_ssc_internal@h DB 01H
|
||||
__44420885_corecrt_stdio_config@h DB 01H
|
||||
__AB601D8D_corecrt_wstdio@h DB 01H
|
||||
__C1EC35D3_stdio@h DB 01H
|
||||
__13F5961F_stddef@h DB 01H
|
||||
__FD6DBD68_corecrt_search@h DB 01H
|
||||
__E2E33A61_corecrt_wstdlib@h DB 01H
|
||||
__26263363_limits@h DB 01H
|
||||
__6E5ACABA_stdlib@h DB 01H
|
||||
__C8BE8E53_stb_image@h DB 01H
|
||||
__98501D5C_stdint@h DB 01H
|
||||
__0A6C9B88_khrplatform@h DB 01H
|
||||
__6327F2D5_gl@h DB 01H
|
||||
__D76F496D_wgl@h DB 01H
|
||||
__06782E22_glfw3@h DB 01H
|
||||
__8F82BB96_emmintrin@h DB 01H
|
||||
__5023D31F_pmmintrin@h DB 01H
|
||||
__E0FAA09D_tmmintrin@h DB 01H
|
||||
__C9C1B51E_smmintrin@h DB 01H
|
||||
__ACA33CD2_nmmintrin@h DB 01H
|
||||
__7918C69C_wmmintrin@h DB 01H
|
||||
__B28C8B9B_zmmintrin@h DB 01H
|
||||
__85982951_immintrin@h DB 01H
|
||||
__19139D6C_assert@h DB 01H
|
||||
__54E1226D_StgSharpC@h DB 01H
|
||||
__C7934478_ssc_intrinsic@h DB 01H
|
||||
__49910190_quick_hash@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC quick_string_hash
|
||||
PUBLIC __JustMyCode_Default
|
||||
EXTRN memcpy:PROC
|
||||
EXTRN memset:PROC
|
||||
EXTRN _RTC_CheckStackVars:PROC
|
||||
EXTRN _RTC_InitBase:PROC
|
||||
EXTRN _RTC_Shutdown:PROC
|
||||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||||
EXTRN __GSHandlerCheck:PROC
|
||||
EXTRN __security_check_cookie:PROC
|
||||
EXTRN __security_cookie:QWORD
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$quick_string_hash DD imagerel $LN5
|
||||
DD imagerel $LN5+306
|
||||
DD imagerel $unwind$quick_string_hash
|
||||
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
|
||||
_DATA SEGMENT
|
||||
hash_mask DD 0745fH
|
||||
DD 03c1H
|
||||
DD 01fH
|
||||
DD 01H
|
||||
_DATA ENDS
|
||||
; COMDAT voltbl
|
||||
voltbl SEGMENT
|
||||
_volmd DW 03aH
|
||||
DW 0119H
|
||||
voltbl ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$quick_string_hash DD 025054119H
|
||||
DD 01122317H
|
||||
DD 0700b0033H
|
||||
DD 0500aH
|
||||
DD imagerel __GSHandlerCheck
|
||||
DD 0188H
|
||||
xdata ENDS
|
||||
; COMDAT CONST
|
||||
CONST SEGMENT
|
||||
quick_string_hash$rtcName$0 DB 062H
|
||||
DB 075H
|
||||
DB 066H
|
||||
DB 066H
|
||||
DB 065H
|
||||
DB 072H
|
||||
DB 00H
|
||||
ORG $+9
|
||||
quick_string_hash$rtcVarDesc DD 078H
|
||||
DD 010H
|
||||
DQ FLAT:quick_string_hash$rtcName$0
|
||||
ORG $+48
|
||||
quick_string_hash$rtcFrameData DD 01H
|
||||
DD 00H
|
||||
DQ FLAT:quick_string_hash$rtcVarDesc
|
||||
CONST 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\quick_hash.c
|
||||
; COMDAT quick_string_hash
|
||||
_TEXT SEGMENT
|
||||
source$ = 16
|
||||
source_length$ = 52
|
||||
buffer$4 = 88
|
||||
ret$ = 144
|
||||
__$ArrayPad$ = 360
|
||||
str$ = 400
|
||||
length$ = 408
|
||||
quick_string_hash PROC ; COMDAT
|
||||
|
||||
; 7 : {
|
||||
|
||||
$LN5:
|
||||
00000 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
||||
00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
||||
00009 55 push rbp
|
||||
0000a 57 push rdi
|
||||
0000b 48 81 ec 98 01
|
||||
00 00 sub rsp, 408 ; 00000198H
|
||||
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
||||
00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
|
||||
0001c b9 2e 00 00 00 mov ecx, 46 ; 0000002eH
|
||||
00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
||||
00026 f3 ab rep stosd
|
||||
00028 48 8b 8c 24 b8
|
||||
01 00 00 mov rcx, QWORD PTR [rsp+440]
|
||||
00030 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR __security_cookie
|
||||
00037 48 33 c5 xor rax, rbp
|
||||
0003a 48 89 85 68 01
|
||||
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
||||
00041 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__49910190_quick_hash@c
|
||||
00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
0004d 90 npad 1
|
||||
|
||||
; 8 : __m128i source;
|
||||
; 9 : int source_length = length * 2;
|
||||
|
||||
0004e 8b 85 98 01 00
|
||||
00 mov eax, DWORD PTR length$[rbp]
|
||||
00054 d1 e0 shl eax, 1
|
||||
00056 89 45 34 mov DWORD PTR source_length$[rbp], eax
|
||||
|
||||
; 10 : if (source_length > 15) {
|
||||
|
||||
00059 83 7d 34 0f cmp DWORD PTR source_length$[rbp], 15
|
||||
0005d 7e 12 jle SHORT $LN2@quick_stri
|
||||
|
||||
; 11 : source = _mm_lddqu_si128((__m128i *)str);
|
||||
|
||||
0005f 48 8b 85 90 01
|
||||
00 00 mov rax, QWORD PTR str$[rbp]
|
||||
00066 f2 0f f0 00 lddqu xmm0, XMMWORD PTR [rax]
|
||||
0006a 66 0f 7f 45 10 movdqa XMMWORD PTR source$[rbp], xmm0
|
||||
|
||||
; 12 : } else {
|
||||
|
||||
0006f eb 40 jmp SHORT $LN3@quick_stri
|
||||
$LN2@quick_stri:
|
||||
|
||||
; 13 : byte buffer[16];
|
||||
; 14 : memcpy(buffer, str, source_length);
|
||||
|
||||
00071 48 63 45 34 movsxd rax, DWORD PTR source_length$[rbp]
|
||||
00075 4c 8b c0 mov r8, rax
|
||||
00078 48 8b 95 90 01
|
||||
00 00 mov rdx, QWORD PTR str$[rbp]
|
||||
0007f 48 8d 4d 58 lea rcx, QWORD PTR buffer$4[rbp]
|
||||
00083 e8 00 00 00 00 call memcpy
|
||||
00088 90 npad 1
|
||||
|
||||
; 15 : memset(buffer + source_length - 1, 0, 16 - source_length);
|
||||
|
||||
00089 b8 10 00 00 00 mov eax, 16
|
||||
0008e 2b 45 34 sub eax, DWORD PTR source_length$[rbp]
|
||||
00091 48 98 cdqe
|
||||
00093 48 63 4d 34 movsxd rcx, DWORD PTR source_length$[rbp]
|
||||
00097 48 8d 4c 0d 57 lea rcx, QWORD PTR buffer$4[rbp+rcx-1]
|
||||
0009c 4c 8b c0 mov r8, rax
|
||||
0009f 33 d2 xor edx, edx
|
||||
000a1 e8 00 00 00 00 call memset
|
||||
000a6 90 npad 1
|
||||
|
||||
; 16 : source = _mm_lddqu_si128((__m128i *)buffer);
|
||||
|
||||
000a7 f2 0f f0 45 58 lddqu xmm0, XMMWORD PTR buffer$4[rbp]
|
||||
000ac 66 0f 7f 45 10 movdqa XMMWORD PTR source$[rbp], xmm0
|
||||
$LN3@quick_stri:
|
||||
|
||||
; 17 : }
|
||||
; 18 :
|
||||
; 19 : __m128i ret = _mm_mullo_epi32(source, hash_mask);
|
||||
|
||||
000b1 66 0f 6f 45 10 movdqa xmm0, XMMWORD PTR source$[rbp]
|
||||
000b6 66 0f 38 40 05
|
||||
00 00 00 00 pmulld xmm0, XMMWORD PTR hash_mask
|
||||
000bf 66 0f 7f 85 90
|
||||
00 00 00 movdqa XMMWORD PTR ret$[rbp], xmm0
|
||||
|
||||
; 20 : ret = _mm_hadd_epi32(ret, ret);
|
||||
|
||||
000c7 66 0f 6f 85 90
|
||||
00 00 00 movdqa xmm0, XMMWORD PTR ret$[rbp]
|
||||
000cf 66 0f 38 02 85
|
||||
90 00 00 00 phaddd xmm0, XMMWORD PTR ret$[rbp]
|
||||
000d8 66 0f 7f 85 90
|
||||
00 00 00 movdqa XMMWORD PTR ret$[rbp], xmm0
|
||||
|
||||
; 21 : ret = _mm_hadd_epi32(ret, ret);
|
||||
|
||||
000e0 66 0f 6f 85 90
|
||||
00 00 00 movdqa xmm0, XMMWORD PTR ret$[rbp]
|
||||
000e8 66 0f 38 02 85
|
||||
90 00 00 00 phaddd xmm0, XMMWORD PTR ret$[rbp]
|
||||
000f1 66 0f 7f 85 90
|
||||
00 00 00 movdqa XMMWORD PTR ret$[rbp], xmm0
|
||||
|
||||
; 22 :
|
||||
; 23 : return _mm_cvtsi128_si32(ret);
|
||||
|
||||
000f9 66 0f 6f 85 90
|
||||
00 00 00 movdqa xmm0, XMMWORD PTR ret$[rbp]
|
||||
00101 66 0f 7e c0 movd eax, xmm0
|
||||
|
||||
; 24 : }
|
||||
|
||||
00105 8b f8 mov edi, eax
|
||||
00107 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
||||
0010b 48 8d 15 00 00
|
||||
00 00 lea rdx, OFFSET FLAT:quick_string_hash$rtcFrameData
|
||||
00112 e8 00 00 00 00 call _RTC_CheckStackVars
|
||||
00117 8b c7 mov eax, edi
|
||||
00119 48 8b 8d 68 01
|
||||
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
||||
00120 48 33 cd xor rcx, rbp
|
||||
00123 e8 00 00 00 00 call __security_check_cookie
|
||||
00128 48 8d a5 78 01
|
||||
00 00 lea rsp, QWORD PTR [rbp+376]
|
||||
0012f 5f pop rdi
|
||||
00130 5d pop rbp
|
||||
00131 c3 ret 0
|
||||
quick_string_hash ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,146 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.41.34120.0
|
||||
|
||||
include listing.inc
|
||||
|
||||
INCLUDELIB MSVCRTD
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
_DATA SEGMENT
|
||||
COMM infolog:BYTE:0200H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
__A19B9DB6_ssgc_framework@h DB 01H
|
||||
__7583A0D2_mmintrin@h DB 01H
|
||||
__DDA0A690_concurrencysal@h DB 01H
|
||||
__9ECC08BE_sal@h DB 01H
|
||||
__E05D733A_vadefs@h DB 01H
|
||||
__6A355E0E_vcruntime@h DB 01H
|
||||
__1B0272D9_corecrt@h DB 01H
|
||||
__45DED006_corecrt_malloc@h DB 01H
|
||||
__FA77ED4C_malloc@h DB 01H
|
||||
__EAE0325A_xmmintrin@h DB 01H
|
||||
__0ED14FEE_winpackagefamily@h DB 01H
|
||||
__F92EF742_winapifamily@h DB 01H
|
||||
__22E515EB_sdkddkver@h DB 01H
|
||||
__A09A3A7D_excpt@h DB 01H
|
||||
__AC8FA393_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
|
||||
__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
|
||||
__890838BD_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
|
||||
__61B03275_ssgc_internal@h DB 01H
|
||||
__98501D5C_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
|
||||
__8F82BB96_emmintrin@h DB 01H
|
||||
__5023D31F_pmmintrin@h DB 01H
|
||||
__E0FAA09D_tmmintrin@h DB 01H
|
||||
__C9C1B51E_smmintrin@h DB 01H
|
||||
__ACA33CD2_nmmintrin@h DB 01H
|
||||
__7918C69C_wmmintrin@h DB 01H
|
||||
__B28C8B9B_zmmintrin@h DB 01H
|
||||
__85982951_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
|
||||
__26263363_limits@h DB 01H
|
||||
__6E5ACABA_stdlib@h DB 01H
|
||||
__5274102E_stb_image@h DB 01H
|
||||
__CE2BBC10_StgSharpC@h DB 01H
|
||||
__F582D205_simdIntrinsicPack@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC __JustMyCode_Default
|
||||
; Function compile flags: /Odt
|
||||
; COMDAT __JustMyCode_Default
|
||||
_TEXT SEGMENT
|
||||
__JustMyCode_Default PROC ; COMDAT
|
||||
00000 c2 00 00 ret 0
|
||||
__JustMyCode_Default ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,97 @@
|
||||
{
|
||||
"version": "2.1.0",
|
||||
"$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.5.json",
|
||||
"runs": [
|
||||
{
|
||||
"results": [
|
||||
{
|
||||
"ruleId": "C6262",
|
||||
"message": {
|
||||
"text": "函数使用堆叠的 \"35036\" 字节。请考虑将一些数据移动到堆。"
|
||||
},
|
||||
"locations": [
|
||||
{
|
||||
"physicalLocation": {
|
||||
"artifactLocation": {
|
||||
"uri": "file:///D:/NitloadIndustry/研究项目/1-Flagship/TH2020/ProjectFile/源代码/StgSharpC/stb_image.c"
|
||||
},
|
||||
"region": {
|
||||
"startLine": 6525,
|
||||
"startColumn": 14
|
||||
}
|
||||
},
|
||||
"logicalLocations": [
|
||||
{
|
||||
"fullyQualifiedName": "stbi__load_gif_main",
|
||||
"decoratedName": "stbi__load_gif_main",
|
||||
"kind": "function"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"ruleId": "C6262",
|
||||
"message": {
|
||||
"text": "函数使用堆叠的 \"34980\" 字节。请考虑将一些数据移动到堆。"
|
||||
},
|
||||
"locations": [
|
||||
{
|
||||
"physicalLocation": {
|
||||
"artifactLocation": {
|
||||
"uri": "file:///D:/NitloadIndustry/研究项目/1-Flagship/TH2020/ProjectFile/源代码/StgSharpC/stb_image.c"
|
||||
},
|
||||
"region": {
|
||||
"startLine": 6612,
|
||||
"startColumn": 14
|
||||
}
|
||||
},
|
||||
"logicalLocations": [
|
||||
{
|
||||
"fullyQualifiedName": "stbi__gif_load",
|
||||
"decoratedName": "stbi__gif_load",
|
||||
"kind": "function"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"tool": {
|
||||
"driver": {
|
||||
"name": "PREfast",
|
||||
"fullName": "PREfast Code Analysis",
|
||||
"version": "14.39.33523.0",
|
||||
"informationUri": "https://aka.ms/cpp/ca"
|
||||
}
|
||||
},
|
||||
"invocations": [
|
||||
{
|
||||
"executionSuccessful": true
|
||||
}
|
||||
],
|
||||
"artifacts": [
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///D:/NitloadIndustry/研究项目/1-Flagship/TH2020/ProjectFile/源代码/StgSharpC/stb_image.c"
|
||||
},
|
||||
"roles": [
|
||||
"analysisTarget",
|
||||
"resultFile"
|
||||
],
|
||||
"hashes": {
|
||||
"sha-256": "4fc54859a0df9ecaf5e5bc4c24148eddecce0314a8d8275559204b2b67c9454b"
|
||||
}
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"uri": "file:///d:/nitloadindustry/研究项目/1-flagship/th2020/projectfile/源代码/stgsharpc/stb_image.h"
|
||||
},
|
||||
"hashes": {
|
||||
"sha-256": "3249df7a8c1996a53cff688577b835d0f3fcd05a599fdcbfa36d1fc30b76b7ea"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
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