daily update on 2024.03.18 by itload youmu
This commit is contained in:
@@ -1,4 +1,34 @@
|
||||
using StgSharp.Math;
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
// file="glApiManager.cs"
|
||||
// Project: StgSharp
|
||||
// AuthorGroup: Nitload Space
|
||||
// Copyright (c) Nitload Space. All rights reserved.
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
using StgSharp.Math;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -11,6 +41,7 @@ namespace StgSharp.Graphics
|
||||
{
|
||||
public static partial class glManager
|
||||
{
|
||||
|
||||
private const int glExtension = 0x1f03;
|
||||
private const int glVersion = 0x1f02;
|
||||
|
||||
@@ -63,7 +94,7 @@ namespace StgSharp.Graphics
|
||||
{
|
||||
if (coreVersion.Contains(branch))
|
||||
{
|
||||
coreVersion.Replace(branch, "");
|
||||
coreVersion.Replace(branch, string.Empty);
|
||||
}
|
||||
}
|
||||
string[] versionSep = coreVersion.Split('.');
|
||||
@@ -99,7 +130,10 @@ namespace StgSharp.Graphics
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (ex.Message != "Final Version") throw;
|
||||
if (ex.Message != "Final Version")
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
IntPtr strPtr = context->glGetString(glExtension);
|
||||
@@ -763,27 +797,178 @@ namespace StgSharp.Graphics
|
||||
|
||||
internal static void CheckCoreVersion(int majorVersion, int minorVersion)
|
||||
{
|
||||
if ((majorVersion >= 1) || (majorVersion == 1 && minorVersion == 0)) core10 = true; else goto log;
|
||||
if ((majorVersion >= 1) || (majorVersion == 1 && minorVersion == 1)) core11 = true; else goto log;
|
||||
if ((majorVersion >= 1) || (majorVersion == 1 && minorVersion == 2)) core12 = true; else goto log;
|
||||
if ((majorVersion >= 1) || (majorVersion == 1 && minorVersion == 3)) core13 = true; else goto log;
|
||||
if ((majorVersion >= 1) || (majorVersion == 1 && minorVersion == 4)) core14 = true; else goto log;
|
||||
if ((majorVersion >= 1) || (majorVersion == 1 && minorVersion == 5)) core15 = true; else goto log;
|
||||
if ((majorVersion >= 2) || (majorVersion == 2 && minorVersion == 0)) core20 = true; else goto log;
|
||||
if ((majorVersion >= 2) || (majorVersion == 2 && minorVersion == 1)) core21 = true; else goto log;
|
||||
if ((majorVersion >= 3) || (majorVersion == 3 && minorVersion == 0)) core30 = true; else goto log;
|
||||
if ((majorVersion >= 3) || (majorVersion == 3 && minorVersion == 1)) core31 = true; else goto log;
|
||||
if ((majorVersion >= 3) || (majorVersion == 3 && minorVersion == 2)) core32 = true; else goto log;
|
||||
if ((majorVersion >= 3) || (majorVersion == 3 && minorVersion == 3)) core33 = true; else goto log;
|
||||
if ((majorVersion >= 4) || (majorVersion == 4 && minorVersion == 0)) core40 = true; else goto log;
|
||||
if ((majorVersion >= 4) || (majorVersion == 4 && minorVersion == 1)) core41 = true; else goto log;
|
||||
if ((majorVersion >= 4) || (majorVersion == 4 && minorVersion == 2)) core42 = true; else goto log;
|
||||
if ((majorVersion >= 4) || (majorVersion == 4 && minorVersion == 3)) core43 = true; else goto log;
|
||||
if ((majorVersion >= 4) || (majorVersion == 4 && minorVersion == 4)) core44 = true; else goto log;
|
||||
if ((majorVersion >= 4) || (majorVersion == 4 && minorVersion == 5)) core45 = true; else goto log;
|
||||
if ((majorVersion >= 4) || (majorVersion == 4 && minorVersion == 6)) core46 = true; else goto log;
|
||||
if ((majorVersion >= 1) || ((majorVersion == 1) && (minorVersion == 0)))
|
||||
{
|
||||
core10 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
log:
|
||||
if ((majorVersion >= 1) || ((majorVersion == 1) && (minorVersion == 1)))
|
||||
{
|
||||
core11 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 1) || ((majorVersion == 1) && (minorVersion == 2)))
|
||||
{
|
||||
core12 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 1) || ((majorVersion == 1) && (minorVersion == 3)))
|
||||
{
|
||||
core13 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 1) || ((majorVersion == 1) && (minorVersion == 4)))
|
||||
{
|
||||
core14 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 1) || ((majorVersion == 1) && (minorVersion == 5)))
|
||||
{
|
||||
core15 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 2) || ((majorVersion == 2) && (minorVersion == 0)))
|
||||
{
|
||||
core20 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 2) || ((majorVersion == 2) && (minorVersion == 1)))
|
||||
{
|
||||
core21 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 3) || ((majorVersion == 3) && (minorVersion == 0)))
|
||||
{
|
||||
core30 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 3) || ((majorVersion == 3) && (minorVersion == 1)))
|
||||
{
|
||||
core31 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 3) || ((majorVersion == 3) && (minorVersion == 2)))
|
||||
{
|
||||
core32 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 3) || ((majorVersion == 3) && (minorVersion == 3)))
|
||||
{
|
||||
core33 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 4) || ((majorVersion == 4) && (minorVersion == 0)))
|
||||
{
|
||||
core40 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 4) || ((majorVersion == 4) && (minorVersion == 1)))
|
||||
{
|
||||
core41 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 4) || ((majorVersion == 4) && (minorVersion == 2)))
|
||||
{
|
||||
core42 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 4) || ((majorVersion == 4) && (minorVersion == 3)))
|
||||
{
|
||||
core43 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 4) || ((majorVersion == 4) && (minorVersion == 4)))
|
||||
{
|
||||
core44 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 4) || ((majorVersion == 4) && (minorVersion == 5)))
|
||||
{
|
||||
core45 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
if ((majorVersion >= 4) || ((majorVersion == 4) && (minorVersion == 6)))
|
||||
{
|
||||
core46 = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
goto log;
|
||||
}
|
||||
|
||||
log:
|
||||
{
|
||||
InternalIO.InternalWriteLog("Find core OpenGL version.", LogType.Info);
|
||||
return;
|
||||
@@ -794,7 +979,7 @@ namespace StgSharp.Graphics
|
||||
{
|
||||
if (context.glGetString == null)
|
||||
{
|
||||
return "";
|
||||
return string.Empty;
|
||||
}
|
||||
return Marshal.PtrToStringAnsi(
|
||||
context.glGetString(glExtension));
|
||||
@@ -812,7 +997,7 @@ namespace StgSharp.Graphics
|
||||
catch (Exception ex)
|
||||
{
|
||||
InternalIO.InternalWriteLog(
|
||||
$"Failed to convert the api {typeof(T).Name}.\n" + ex.Message, LogType.Warning);
|
||||
$"{($"Failed to convert the api {typeof(T).Name}.\n")}{ex.Message}", LogType.Warning);
|
||||
return default;
|
||||
}
|
||||
}
|
||||
@@ -1781,5 +1966,6 @@ namespace StgSharp.Graphics
|
||||
|
||||
InternalIO.InternalAppendLog("Successfully load all OpenGL 4.6 APIs");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user