From e8bb895c584217a74b4d71608d4117be1635b85a Mon Sep 17 00:00:00 2001
From: Pixelflinger
Date: Tue, 22 Sep 2020 14:42:14 -0700
Subject: [PATCH 01/44] refactor SSAO shader a bit
the main change here is that we now have ssaoUtils which contains
utilities that will soon be shared with other "ambiant" effects.
---
filament/CMakeLists.txt | 6 +++++
filament/src/materials/ssao/sao.mat | 33 ++++++++++--------------
filament/src/materials/ssao/ssaoUtils.fs | 17 ++++++++++++
3 files changed, 36 insertions(+), 20 deletions(-)
create mode 100644 filament/src/materials/ssao/ssaoUtils.fs
diff --git a/filament/CMakeLists.txt b/filament/CMakeLists.txt
index e3c7a3fd895..5e54c978a5c 100644
--- a/filament/CMakeLists.txt
+++ b/filament/CMakeLists.txt
@@ -290,6 +290,12 @@ add_custom_command(
APPEND
)
+add_custom_command(
+ OUTPUT "${MATERIAL_DIR}/sao.filamat"
+ DEPENDS src/materials/ssao/ssaoUtils.fs
+ APPEND
+)
+
add_custom_command(
OUTPUT ${RESGEN_OUTPUTS}
COMMAND resgen ${RESGEN_FLAGS} ${MATERIAL_BINS}
diff --git a/filament/src/materials/ssao/sao.mat b/filament/src/materials/ssao/sao.mat
index 4e8c8c81b6a..0d67d6438d1 100644
--- a/filament/src/materials/ssao/sao.mat
+++ b/filament/src/materials/ssao/sao.mat
@@ -85,6 +85,8 @@ vertex {
}
fragment {
+ #include "ssaoUtils.fs"
+
const float kLog2LodRate = 3.0;
const float kEdgeDistance = 0.0625; // this shouldn't be hardcoded
@@ -107,18 +109,6 @@ fragment {
return fract(m.z * fract(dot(w, m.xy)));
}
- highp float linearizeDepth(highp float depth) {
- // Our far plane is at infinity, which causes a division by zero below, which in turn
- // causes some issues on some GPU. We workaround it by replacing "infinity" by the closest
- // value representable in a 24 bit depth buffer.
- const float preventDiv0 = 1.0 / 16777216.0;
- return materialParams.depthParams / max(depth, preventDiv0);
- }
-
- highp float sampleDepthLinear(const vec2 uv, float lod) {
- return linearizeDepth(textureLod(materialParams_depth, uv, lod).r);
- }
-
highp vec3 computeViewSpacePositionFromDepth(highp vec2 uv, highp float linearDepth) {
return vec3((0.5 - uv) * materialParams.positionParams.xy * linearDepth, linearDepth);
}
@@ -142,8 +132,10 @@ fragment {
highp vec3 computeViewSpaceNormal(const highp vec3 position, const highp vec2 uv) {
highp vec2 uvdx = uv + vec2(materialParams.resolution.z, 0.0);
highp vec2 uvdy = uv + vec2(0.0, materialParams.resolution.w);
- highp vec3 px = computeViewSpacePositionFromDepth(uvdx, sampleDepthLinear(uvdx, 0.0));
- highp vec3 py = computeViewSpacePositionFromDepth(uvdy, sampleDepthLinear(uvdy, 0.0));
+ highp vec3 px = computeViewSpacePositionFromDepth(uvdx,
+ sampleDepthLinear(materialParams_depth, uvdx, 0.0, materialParams.depthParams));
+ highp vec3 py = computeViewSpacePositionFromDepth(uvdy,
+ sampleDepthLinear(materialParams_depth, uvdy, 0.0, materialParams.depthParams));
highp vec3 dpdx = px - position;
highp vec3 dpdy = py - position;
return faceNormal(dpdx, dpdy);
@@ -187,7 +179,7 @@ fragment {
vec2 uvSamplePos = uv + vec2(ssRadius * tap.xy) * materialParams.resolution.zw;
float level = clamp(floor(log2(ssRadius)) - kLog2LodRate, 0.0, float(materialParams.maxLevel));
- highp float occlusionDepth = sampleDepthLinear(uvSamplePos, level);
+ highp float occlusionDepth = sampleDepthLinear(materialParams_depth, uvSamplePos, level, materialParams.depthParams);
highp vec3 p = computeViewSpacePositionFromDepth(uvSamplePos, occlusionDepth);
// now we have the sample, compute AO
@@ -212,7 +204,7 @@ fragment {
void postProcess(inout PostProcessInputs postProcess) {
highp vec2 uv = variable_vertex.xy; // interpolated to pixel center
- highp float depth = sampleDepthLinear(uv, 0.0);
+ highp float depth = sampleDepthLinear(materialParams_depth, uv, 0.0, materialParams.depthParams);
highp vec3 origin = computeViewSpacePositionFromDepth(uv, depth);
vec3 normal = computeViewSpaceNormal(origin, uv);
@@ -229,15 +221,16 @@ fragment {
computeAmbientOcclusionSAO(occlusion, i, ssDiskRadius, uv, origin, normal, tapPosition, noise);
tapPosition = angleStep * tapPosition;
}
+ occlusion = sqrt(occlusion * materialParams.intensity);
- float ao = max(0.0, 1.0 - sqrt(occlusion * materialParams.intensity));
- ao = pow(ao, materialParams.power);
+ // occlusion to visibility
+ float aoVisibility = pow(saturate(1.0 - occlusion), materialParams.power);
#if defined(TARGET_MOBILE)
// this line is needed to workaround what seems to be a bug on qualcomm hardware
- ao += gl_FragCoord.x * MEDIUMP_FLT_MIN;
+ aoVisibility += gl_FragCoord.x * MEDIUMP_FLT_MIN;
#endif
- postProcess.color.rgb = vec3(ao, pack(origin.z));
+ postProcess.color.rgb = vec3(aoVisibility, pack(origin.z));
}
}
diff --git a/filament/src/materials/ssao/ssaoUtils.fs b/filament/src/materials/ssao/ssaoUtils.fs
new file mode 100644
index 00000000000..e7a2c1828e2
--- /dev/null
+++ b/filament/src/materials/ssao/ssaoUtils.fs
@@ -0,0 +1,17 @@
+#ifndef MATERIALS_SSAO_UTILS
+#define MATERIALS_SSAO_UTILS
+
+highp float linearizeDepth(highp float depth, highp float depthParams) {
+ // Our far plane is at infinity, which causes a division by zero below, which in turn
+ // causes some issues on some GPU. We workaround it by replacing "infinity" by the closest
+ // value representable in a 24 bit depth buffer.
+ const float preventDiv0 = 1.0 / 16777216.0;
+ return depthParams / max(depth, preventDiv0);
+}
+
+highp float sampleDepthLinear(const sampler2D depthTexture, const vec2 uv, float lod, highp float depthParams) {
+ return linearizeDepth(textureLod(depthTexture, uv, lod).r, depthParams);
+}
+
+#endif // MATERIALS_SSAO_UTILS
+
From 0f2993aec7de6e38ac3ac7be37fcf22af7ab92d4 Mon Sep 17 00:00:00 2001
From: Pixelflinger
Date: Thu, 24 Sep 2020 17:21:04 -0700
Subject: [PATCH 02/44] Decouple SSAO bilateral filter from quality setting
---
.../filament-android/src/main/cpp/View.cpp | 3 +-
.../com/google/android/filament/View.java | 12 ++++-
filament/include/filament/View.h | 3 +-
filament/src/PostProcessManager.cpp | 53 +++++++++++--------
libs/gltfio/include/gltfio/SimpleViewer.h | 3 ++
samples/material_sandbox.cpp | 3 ++
6 files changed, 52 insertions(+), 25 deletions(-)
diff --git a/android/filament-android/src/main/cpp/View.cpp b/android/filament-android/src/main/cpp/View.cpp
index 40a4aa9592a..0da71584476 100644
--- a/android/filament-android/src/main/cpp/View.cpp
+++ b/android/filament-android/src/main/cpp/View.cpp
@@ -196,7 +196,7 @@ Java_com_google_android_filament_View_nGetAmbientOcclusion(JNIEnv*, jclass, jlon
extern "C" JNIEXPORT void JNICALL
Java_com_google_android_filament_View_nSetAmbientOcclusionOptions(JNIEnv*, jclass,
jlong nativeView, jfloat radius, jfloat bias, jfloat power, jfloat resolution, jfloat intensity,
- jint quality, jint upsampling, jboolean enabled, jfloat minHorizonAngleRad) {
+ jint quality, jint lowPassFilter, jint upsampling, jboolean enabled, jfloat minHorizonAngleRad) {
View* view = (View*) nativeView;
View::AmbientOcclusionOptions options = {
.radius = radius,
@@ -205,6 +205,7 @@ Java_com_google_android_filament_View_nSetAmbientOcclusionOptions(JNIEnv*, jclas
.resolution = resolution,
.intensity = intensity,
.quality = (View::QualityLevel)quality,
+ .lowPassFilter = (View::QualityLevel)lowPassFilter,
.upsampling = (View::QualityLevel)upsampling,
.enabled = (bool)enabled,
.minHorizonAngleRad = minHorizonAngleRad
diff --git a/android/filament-android/src/main/java/com/google/android/filament/View.java b/android/filament-android/src/main/java/com/google/android/filament/View.java
index 92bdf76a54d..4937a5ee31a 100644
--- a/android/filament-android/src/main/java/com/google/android/filament/View.java
+++ b/android/filament-android/src/main/java/com/google/android/filament/View.java
@@ -176,6 +176,14 @@ public static class AmbientOcclusionOptions {
@NonNull
public QualityLevel quality = QualityLevel.LOW;
+ /**
+ * The lowPassFilter setting controls the quality of the low pass filter applied to
+ * AO estimation. The default is QualityLevel.MEDIUM which is sufficient for most mobile
+ * applications. QualityLevel.LOW disables the filter entirely.
+ */
+ @NonNull
+ public QualityLevel lowPassFilter = QualityLevel.MEDIUM;
+
/**
* The upsampling setting controls the quality of the ambient occlusion buffer upsampling.
* The default is QualityLevel.LOW and uses bilinear filtering, a value of
@@ -1109,7 +1117,7 @@ public AmbientOcclusion getAmbientOcclusion() {
public void setAmbientOcclusionOptions(@NonNull AmbientOcclusionOptions options) {
mAmbientOcclusionOptions = options;
nSetAmbientOcclusionOptions(getNativeObject(), options.radius, options.bias, options.power,
- options.resolution, options.intensity, options.quality.ordinal(), options.upsampling.ordinal(),
+ options.resolution, options.intensity, options.quality.ordinal(), options.lowPassFilter.ordinal(), options.upsampling.ordinal(),
options.enabled, options.minHorizonAngleRad);
}
@@ -1274,7 +1282,7 @@ void clearNativeObject() {
private static native boolean nIsFrontFaceWindingInverted(long nativeView);
private static native void nSetAmbientOcclusion(long nativeView, int ordinal);
private static native int nGetAmbientOcclusion(long nativeView);
- private static native void nSetAmbientOcclusionOptions(long nativeView, float radius, float bias, float power, float resolution, float intensity, int quality, int upsampling, boolean enabled, float minHorizonAngleRad);
+ private static native void nSetAmbientOcclusionOptions(long nativeView, float radius, float bias, float power, float resolution, float intensity, int quality, int lowPassFilter, int upsampling, boolean enabled, float minHorizonAngleRad);
private static native void nSetBloomOptions(long nativeView, long dirtNativeObject, float dirtStrength, float strength, int resolution, float anamorphism, int levels, int blendMode, boolean threshold, boolean enabled, float highlight);
private static native void nSetFogOptions(long nativeView, float distance, float maximumOpacity, float height, float heightFalloff, float v, float v1, float v2, float density, float inScatteringStart, float inScatteringSize, boolean fogColorFromIbl, boolean enabled);
private static native void nSetBlendMode(long nativeView, int blendMode);
diff --git a/filament/include/filament/View.h b/filament/include/filament/View.h
index ff884266b4f..6754d6964cb 100644
--- a/filament/include/filament/View.h
+++ b/filament/include/filament/View.h
@@ -221,7 +221,8 @@ class UTILS_PUBLIC View : public FilamentAPI {
float resolution = 0.5f;//!< How each dimension of the AO buffer is scaled. Must be either 0.5 or 1.0.
float intensity = 1.0f; //!< Strength of the Ambient Occlusion effect.
QualityLevel quality = QualityLevel::LOW; //!< affects # of samples used for AO.
- QualityLevel upsampling = QualityLevel::LOW; //!< affects AO buffer upsampling quality.
+ QualityLevel lowPassFilter = QualityLevel::MEDIUM; //!< affects AO smoothness
+ QualityLevel upsampling = QualityLevel::LOW; //!< affects AO buffer upsampling quality
bool enabled = false; //!< enables or disables screen-space ambient occlusion
float minHorizonAngleRad = 0.0f; //!< min angle in radian to consider
};
diff --git a/filament/src/PostProcessManager.cpp b/filament/src/PostProcessManager.cpp
index cdaaaaa6d97..244a1137e04 100644
--- a/filament/src/PostProcessManager.cpp
+++ b/filament/src/PostProcessManager.cpp
@@ -391,35 +391,44 @@ FrameGraphId PostProcessManager::screenSpaceAmbientOcclusion(
switch (options.quality) {
default:
case View::QualityLevel::LOW:
- config.kernelSize = 11;
- config.standardDeviation = 4.0f;
- config.scale = 2.0f;
sampleCount = 7.0f;
spiralTurns = 5.0f;
break;
case View::QualityLevel::MEDIUM:
- config.kernelSize = 11;
- config.standardDeviation = 4.0f;
- config.scale = 2.0f;
sampleCount = 11.0f;
spiralTurns = 9.0f;
break;
case View::QualityLevel::HIGH:
- config.kernelSize = 23;
- config.standardDeviation = 8.0f;
- config.scale = 1.0f;
sampleCount = 16.0f;
spiralTurns = 10.0f;
break;
case View::QualityLevel::ULTRA:
- config.kernelSize = 23;
- config.standardDeviation = 8.0;
- config.scale = 1.0f;
sampleCount = 32.0f;
spiralTurns = 14.0f;
break;
}
+ switch (options.lowPassFilter) {
+ default:
+ case View::QualityLevel::LOW:
+ // no filtering, values don't matter
+ config.kernelSize = 1;
+ config.standardDeviation = 1.0f;
+ config.scale = 1.0f;
+ break;
+ case View::QualityLevel::MEDIUM:
+ config.kernelSize = 11;
+ config.standardDeviation = 4.0f;
+ config.scale = 2.0f;
+ break;
+ case View::QualityLevel::HIGH:
+ case View::QualityLevel::ULTRA:
+ config.kernelSize = 23;
+ config.standardDeviation = 8.0f;
+ config.scale = 1.0f;
+ break;
+ }
+
/*
* Our main SSAO pass
*/
@@ -438,7 +447,7 @@ FrameGraphId PostProcessManager::screenSpaceAmbientOcclusion(
data.ssao = builder.createTexture("SSAO Buffer", {
.width = desc.width,
.height = desc.height,
- .format = TextureFormat::RGB8
+ .format = (options.lowPassFilter == View::QualityLevel::LOW) ? TextureFormat::R8 : TextureFormat::RGB8
});
// Here we use the depth test to skip pixels at infinity (i.e. the skybox)
@@ -514,16 +523,18 @@ FrameGraphId PostProcessManager::screenSpaceAmbientOcclusion(
* Final separable bilateral blur pass
*/
- const bool highQualitySampling =
- options.upsampling >= View::QualityLevel::HIGH && options.resolution < 1.0f;
+ if (options.lowPassFilter != View::QualityLevel::LOW) {
+ const bool highQualitySampling =
+ options.upsampling >= View::QualityLevel::HIGH && options.resolution < 1.0f;
- ssao = bilateralBlurPass(fg, ssao, { config.scale, 0 }, cameraInfo.zf,
- TextureFormat::RGB8,
- config);
+ ssao = bilateralBlurPass(fg, ssao, { config.scale, 0 }, cameraInfo.zf,
+ TextureFormat::RGB8,
+ config);
- ssao = bilateralBlurPass(fg, ssao, { 0, config.scale }, cameraInfo.zf,
- highQualitySampling ? TextureFormat::RGB8 : TextureFormat::R8,
- config);
+ ssao = bilateralBlurPass(fg, ssao, { 0, config.scale }, cameraInfo.zf,
+ highQualitySampling ? TextureFormat::RGB8 : TextureFormat::R8,
+ config);
+ }
fg.getBlackboard().put("ssao", ssao);
return ssao;
diff --git a/libs/gltfio/include/gltfio/SimpleViewer.h b/libs/gltfio/include/gltfio/SimpleViewer.h
index ae512177f9d..978fd573a65 100644
--- a/libs/gltfio/include/gltfio/SimpleViewer.h
+++ b/libs/gltfio/include/gltfio/SimpleViewer.h
@@ -475,12 +475,15 @@ void SimpleViewer::updateUserInterface() {
ImGui::Checkbox("Bloom", &mBloomOptions.enabled);
if (ImGui::CollapsingHeader("SSAO Options")) {
int quality = (int) mSSAOOptions.quality;
+ int lowpass = (int) mSSAOOptions.lowPassFilter;
bool upsampling = mSSAOOptions.upsampling != View::QualityLevel::LOW;
ImGui::SliderInt("Quality", &quality, 0, 3);
+ ImGui::SliderInt("Low Pass", &lowpass, 0, 2);
ImGui::Checkbox("High quality upsampling", &upsampling);
ImGui::SliderFloat("Min Horizon angle", &mSSAOOptions.minHorizonAngleRad, 0.0f, (float)M_PI_4);
mSSAOOptions.upsampling = upsampling ? View::QualityLevel::HIGH : View::QualityLevel::LOW;
mSSAOOptions.quality = (View::QualityLevel) quality;
+ mSSAOOptions.lowPassFilter = (View::QualityLevel) lowpass;
}
ImGui::Unindent();
}
diff --git a/samples/material_sandbox.cpp b/samples/material_sandbox.cpp
index c8a622edc77..5652a4c6a99 100644
--- a/samples/material_sandbox.cpp
+++ b/samples/material_sandbox.cpp
@@ -603,6 +603,7 @@ static void gui(filament::Engine* engine, filament::View*) {
ImGui::SliderAngle("Rotation", ¶ms.iblRotation);
if (ImGui::CollapsingHeader("SSAO")) {
int quality = (int)params.ssaoOptions.quality;
+ int lowpass = (int)params.ssaoOptions.lowPassFilter;
bool upsampling = params.ssaoOptions.upsampling != View::QualityLevel::LOW;
DebugRegistry& debug = engine->getDebugRegistry();
ImGui::Checkbox("Enabled##ssao", ¶ms.ssaoOptions.enabled);
@@ -612,9 +613,11 @@ static void gui(filament::Engine* engine, filament::View*) {
ImGui::SliderFloat("Intensity", ¶ms.ssaoOptions.intensity, 0.0f, 4.0f);
ImGui::SliderFloat("Power", ¶ms.ssaoOptions.power, 0.0f, 4.0f);
ImGui::SliderInt("Quality", &quality, 0, 3);
+ ImGui::SliderInt("Low Pass", &lowpass, 0, 2);
ImGui::Checkbox("High quality upsampling", &upsampling);
params.ssaoOptions.upsampling = upsampling ? View::QualityLevel::HIGH : View::QualityLevel::LOW;
params.ssaoOptions.quality = (View::QualityLevel)quality;
+ params.ssaoOptions.lowPassFilter = (View::QualityLevel)lowpass;
}
ImGui::Unindent();
}
From bfd1de809a3249066f1afd23fe28e1f8856647ce Mon Sep 17 00:00:00 2001
From: Pixelflinger
Date: Tue, 22 Sep 2020 15:58:02 -0700
Subject: [PATCH 03/44] Implement screen space cone tracing (SSCT)
This is a technique from Naughty Dog used in TLOU2, where we compute
the "ambient" shadowing of a dominant light in screen-space.
This is currently integrated to the SSAO pass.
---
filament/CMakeLists.txt | 6 +
filament/include/filament/View.h | 20 +++-
filament/src/PostProcessManager.cpp | 41 ++++++-
filament/src/details/View.h | 15 ++-
.../materials/ssao/dominantLightShadowing.fs | 110 ++++++++++++++++++
filament/src/materials/ssao/sao.mat | 77 ++++++++++--
libs/gltfio/include/gltfio/SimpleViewer.h | 14 +++
libs/math/include/math/scalar.h | 2 +
samples/material_sandbox.cpp | 14 +++
9 files changed, 280 insertions(+), 19 deletions(-)
create mode 100644 filament/src/materials/ssao/dominantLightShadowing.fs
diff --git a/filament/CMakeLists.txt b/filament/CMakeLists.txt
index 5e54c978a5c..f33fa9a5a4f 100644
--- a/filament/CMakeLists.txt
+++ b/filament/CMakeLists.txt
@@ -296,6 +296,12 @@ add_custom_command(
APPEND
)
+add_custom_command(
+ OUTPUT "${MATERIAL_DIR}/sao.filamat"
+ DEPENDS src/materials/ssao/dominantLightShadowing.fs
+ APPEND
+)
+
add_custom_command(
OUTPUT ${RESGEN_OUTPUTS}
COMMAND resgen ${RESGEN_FLAGS} ${MATERIAL_BINS}
diff --git a/filament/include/filament/View.h b/filament/include/filament/View.h
index 6754d6964cb..82cd5c860db 100644
--- a/filament/include/filament/View.h
+++ b/filament/include/filament/View.h
@@ -211,8 +211,8 @@ class UTILS_PUBLIC View : public FilamentAPI {
};
/**
- * Options for screen space Ambient Occlusion (SSAO)
- * @see setAmbientOcclusion()
+ * Options for screen space Ambient Occlusion (SSAO) and Screen Space Cone Tracing (SSCT)
+ * @see setAmbientOcclusionOptions()
*/
struct AmbientOcclusionOptions {
float radius = 0.3f; //!< Ambient Occlusion radius in meters, between 0 and ~10.
@@ -225,6 +225,22 @@ class UTILS_PUBLIC View : public FilamentAPI {
QualityLevel upsampling = QualityLevel::LOW; //!< affects AO buffer upsampling quality
bool enabled = false; //!< enables or disables screen-space ambient occlusion
float minHorizonAngleRad = 0.0f; //!< min angle in radian to consider
+ /**
+ * Screen Space Cone Tracing (SSCT) options
+ * Ambient shadows from dominant light
+ */
+ struct {
+ float lightConeRad = 1.0f; //!< full cone angle in radian, between 0 and pi/2
+ float startTraceDistance = 0.01f; //!< distance where tracing starts
+ float contactDistanceMax = 1.0f; //!< max distance shadows are cast
+ float intensity = 0.8f; //!< intensity
+ math::float3 lightDirection{ 0, -1, 0 }; //!< light direction
+ float depthBias = 0.1f; //!< depth bias in world units (mitigate self shadowing)
+ float depthSlopeBias = 0.1f; //!< depth slope bias (mitigate self shadowing)
+ float scale = 1.0f; //!< cast shadows scaling
+ uint8_t sampleCount = 4; //!< tracing sample count, between 1 and 255
+ bool enabled = false; //!< enables or disables SSCT
+ } ssct;
};
/**
diff --git a/filament/src/PostProcessManager.cpp b/filament/src/PostProcessManager.cpp
index 244a1137e04..3902fe6c0d8 100644
--- a/filament/src/PostProcessManager.cpp
+++ b/filament/src/PostProcessManager.cpp
@@ -483,17 +483,29 @@ FrameGraphId PostProcessManager::screenSpaceAmbientOcclusion(
const auto invProjection = inverse(cameraInfo.projection);
const float inc = (1.0f / (sampleCount - 0.5f)) * spiralTurns * f::TAU;
+ constexpr mat4 screenFromClipMatrix {
+ 0.5, 0.0, 0.0, 0.0,
+ 0.0, 0.5, 0.0, 0.0,
+ 0.0, 0.0, 0.5, 0.0,
+ 0.5, 0.5, 0.5, 1.0
+ };
+
auto& material = getPostProcessMaterial("sao");
FMaterialInstance* const mi = material.getMaterialInstance();
mi->setParameter("depth", depth, {
- .filterMin = SamplerMinFilter::NEAREST_MIPMAP_NEAREST
- });
+ .filterMin = SamplerMinFilter::NEAREST_MIPMAP_NEAREST });
+ mi->setParameter("screenFromViewMatrix",
+ mat4f(screenFromClipMatrix * cameraInfo.projection));
mi->setParameter("resolution",
float4{ desc.width, desc.height, 1.0f / desc.width, 1.0f / desc.height });
- mi->setParameter("invRadiusSquared", 1.0f / (options.radius * options.radius));
- mi->setParameter("minHorizonAngleSineSquared", std::pow(std::sin(options.minHorizonAngleRad), 2.0f));
- mi->setParameter("projectionScaleRadius", projectionScale * options.radius);
- mi->setParameter("depthParams", cameraInfo.projection[3][2] * 0.5f);
+ mi->setParameter("invRadiusSquared",
+ 1.0f / (options.radius * options.radius));
+ mi->setParameter("minHorizonAngleSineSquared",
+ std::pow(std::sin(options.minHorizonAngleRad), 2.0f));
+ mi->setParameter("projectionScaleRadius",
+ projectionScale * options.radius);
+ mi->setParameter("depthParams",
+ cameraInfo.projection[3][2] * 0.5f);
mi->setParameter("positionParams", float2{
invProjection[0][0], invProjection[1][1] } * 2.0f);
@@ -506,6 +518,23 @@ FrameGraphId PostProcessManager::screenSpaceAmbientOcclusion(
mi->setParameter("spiralTurns", spiralTurns);
mi->setParameter("angleIncCosSin", float2{ std::cos(inc), std::sin(inc) });
mi->setParameter("invFarPlane", 1.0f / -cameraInfo.zf);
+
+ mi->setParameter("ssctConeTraceParams", float4{
+ options.ssct.enabled ? std::tan(options.ssct.lightConeRad * 0.5f) : 0.0f,
+ std::sin(options.ssct.lightConeRad * 0.5f),
+ options.ssct.startTraceDistance,
+ 1.0f / options.ssct.contactDistanceMax
+ });
+
+ mi->setParameter("ssctIntensity",
+ options.ssct.intensity);
+ mi->setParameter("ssctVsLightDirection",
+ -(cameraInfo.view * options.ssct.lightDirection).xyz);
+ mi->setParameter("ssctDepthBias",
+ float2{ options.ssct.depthBias, options.ssct.depthSlopeBias });
+ mi->setParameter("ssctInvZoom", options.ssct.scale);
+ mi->setParameter("ssctSampleCount", uint32_t(options.ssct.sampleCount));
+
mi->commit(driver);
mi->use(driver);
diff --git a/filament/src/details/View.h b/filament/src/details/View.h
index af07f789974..9ee29624acf 100644
--- a/filament/src/details/View.h
+++ b/filament/src/details/View.h
@@ -288,13 +288,22 @@ class FView : public View {
void setAmbientOcclusionOptions(AmbientOcclusionOptions options) noexcept {
options.radius = math::max(0.0f, options.radius);
- options.bias = math::clamp(0.0f, 0.1f, options.bias);
+ options.bias = math::clamp(options.bias, 0.0f, 0.1f);
options.power = std::max(0.0f, options.power);
// snap to the closer of 0.5 or 1.0
options.resolution = std::floor(
- math::clamp(1.0f, 2.0f, options.resolution * 2.0f) + 0.5f) * 0.5f;
+ math::clamp(options.resolution * 2.0f, 1.0f, 2.0f) + 0.5f) * 0.5f;
options.intensity = std::max(0.0f, options.intensity);
- options.minHorizonAngleRad = math::clamp(0.0f, math::f::PI_2, options.minHorizonAngleRad);
+ options.minHorizonAngleRad = math::clamp(options.minHorizonAngleRad, 0.0f, math::f::PI_2);
+ options.ssct.lightConeRad = math::clamp(options.ssct.lightConeRad, 0.0f, math::f::PI_2);
+ options.ssct.startTraceDistance = std::max(0.0f, options.ssct.startTraceDistance);
+ options.ssct.contactDistanceMax = std::max(0.0f, options.ssct.contactDistanceMax);
+ options.ssct.intensity = std::max(0.0f, options.ssct.intensity);
+ options.ssct.lightDirection = normalize(options.ssct.lightDirection);
+ options.ssct.depthBias = std::max(0.0f, options.ssct.depthBias);
+ options.ssct.depthSlopeBias = std::max(0.0f, options.ssct.depthSlopeBias);
+ options.ssct.scale = std::max(0.0f, options.ssct.scale);
+ options.ssct.sampleCount = math::clamp((unsigned)options.ssct.sampleCount, 1u, 255u);
mAmbientOcclusionOptions = options;
}
diff --git a/filament/src/materials/ssao/dominantLightShadowing.fs b/filament/src/materials/ssao/dominantLightShadowing.fs
new file mode 100644
index 00000000000..c437b489084
--- /dev/null
+++ b/filament/src/materials/ssao/dominantLightShadowing.fs
@@ -0,0 +1,110 @@
+/*
+ * Largely based on "Dominant Light Shadowing"
+ * "Lighting Technology of The Last of Us Part II" by Hawar Doghramachi, Naughty Dog, LLC
+ */
+
+#include "ssaoUtils.fs"
+
+struct ConeTraceSetup {
+ // runtime parameters
+ highp vec2 ssStartPos;
+ highp vec3 vsStartPos;
+ vec3 vsNormal;
+ highp mat4 screenFromViewMatrix;
+ vec2 jitterOffset; // (x = direction offset, y = step offset)
+ highp float depthParams;
+ vec3 vsConeDirection;
+
+ // artistic/quality parameters
+ vec4 coneTraceParams; // { tan(angle), sin(angle), start trace distance, inverse max contact distance }
+ float intensity;
+ float invZoom;
+ float depthBias;
+ float slopeScaledDepthBias;
+ uint sampleCount;
+};
+
+float coneTraceOcclusion(in ConeTraceSetup setup, const sampler2D depthTexture) {
+ // skip fragments that are back-facing trace direction
+ // (avoid overshadowing of translucent surfaces)
+ float NoL = dot(setup.vsNormal, setup.vsConeDirection);
+ if (NoL < 0.0) {
+ return 0.0;
+ }
+
+ // start position of cone trace
+ highp vec2 ssStartPos = setup.ssStartPos;
+ highp vec3 vsStartPos = setup.vsStartPos;
+ highp float ssStartInvW = 1.0 / (setup.screenFromViewMatrix * vec4(vsStartPos, 1.0)).w;
+
+ // end position of cone trace
+ highp vec3 vsEndPos = setup.vsConeDirection + vsStartPos;
+ highp vec4 ssEndPos = setup.screenFromViewMatrix * vec4(vsEndPos, 1.0);
+ highp float ssEndInvW = 1.0 / ssEndPos.w;
+ ssEndPos.xy *= ssEndInvW;
+
+ // cone trace direction in screen-space
+ float ssConeLength = length(ssEndPos.xy - ssStartPos);
+ float ssInvConeLength = 1.0 / ssConeLength;
+ vec2 ssConeDirection = (ssEndPos.xy - ssStartPos) * ssInvConeLength;
+
+ // direction perpendicular to cone trace direction
+ vec2 perpConeDir = vec2(ssConeDirection.y, -ssConeDirection.x);
+
+ // avoid self-occlusion and reduce banding artifacts by normal variation
+ vec3 vsViewVector = normalize(vsStartPos);
+ float minTraceDistance = (1.0 - abs(dot(setup.vsNormal, vsViewVector))) * 0.005;
+
+ // init trace distance and sample radius
+ highp float invLinearDepth = 1.0 / -setup.vsStartPos.z;
+ float ssTracedDistance = max(setup.coneTraceParams.z, minTraceDistance) * invLinearDepth;
+
+ float ssSampleRadius = setup.coneTraceParams.y * ssTracedDistance;
+ float ssEndRadius = setup.coneTraceParams.y * ssConeLength;
+ float vsEndRadius = ssEndRadius * setup.invZoom * invLinearDepth * ssEndPos.w;
+
+ // calculate depth bias
+ float vsDepthBias = saturate(1.0 - NoL) * setup.slopeScaledDepthBias + setup.depthBias;
+
+ float occlusion = 0.0;
+ for (uint i = 0u; i < setup.sampleCount; i++) {
+ // step along cone in screen space
+ float ssNextSampleRadius = ssSampleRadius * (ssSampleRadius + ssTracedDistance) / (ssTracedDistance - ssSampleRadius);
+ float ssStepDistance = ssSampleRadius + ssNextSampleRadius;
+ ssSampleRadius = ssNextSampleRadius;
+
+ // apply jitter offset
+ float ssJitterStepDistance = ssStepDistance * setup.jitterOffset.y;
+ float ssJitteredTracedDistance = ssTracedDistance + ssJitterStepDistance;
+ float ssJitteredSampleRadius = setup.jitterOffset.x * setup.coneTraceParams.x * ssJitteredTracedDistance;
+ ssTracedDistance += ssStepDistance;
+
+ // sample depth buffer
+ highp vec2 ssSamplePos = perpConeDir * ssJitteredSampleRadius + ssConeDirection * ssJitteredTracedDistance + ssStartPos;
+ highp float vsSampleDepthLinear = -sampleDepthLinear(depthTexture, ssSamplePos, 0.0, setup.depthParams);
+
+ // calculate depth of cone center
+ float ratio = ssJitteredTracedDistance * ssInvConeLength;
+ highp float vsConeAxisDepth = 1.0 / mix(ssStartInvW, ssEndInvW, ratio);
+
+ // calculate depth range of cone slice
+ float vsConeRadius = (ratio * vsEndRadius) * vsConeAxisDepth;
+ float vsJitteredSampleRadius = vsConeRadius * setup.jitterOffset.x;
+ float vsSliceHalfRange = sqrt(vsConeRadius * vsConeRadius - vsJitteredSampleRadius * vsJitteredSampleRadius);
+ float vsSampleDepthMax = vsConeAxisDepth + vsSliceHalfRange;
+
+ // calculate overlap of depth buffer height-field with trace cone
+ float vsDepthDifference = vsSampleDepthMax - vsSampleDepthLinear;
+ float overlap = saturate((vsDepthDifference - vsDepthBias) / (vsSliceHalfRange * 2.0));
+
+ // attenuate by distance to avoid false occlusion
+ float attenuation = saturate(1.0 - (vsDepthDifference * setup.coneTraceParams.w));
+ occlusion = max(occlusion, overlap * attenuation);
+
+ if (occlusion >= 1.0) { // note: this can't get > 1.0 by construction
+ // fully occluded, early exit
+ break;
+ }
+ }
+ return occlusion * setup.intensity;
+}
diff --git a/filament/src/materials/ssao/sao.mat b/filament/src/materials/ssao/sao.mat
index 0d67d6438d1..1cae4242634 100644
--- a/filament/src/materials/ssao/sao.mat
+++ b/filament/src/materials/ssao/sao.mat
@@ -6,6 +6,10 @@ material {
name : depth,
precision: high
},
+ {
+ type : mat4,
+ name : screenFromViewMatrix
+ },
{
type : float4,
name : resolution,
@@ -68,6 +72,30 @@ material {
{
type : int,
name : maxLevel
+ },
+ {
+ type : float4,
+ name : ssctConeTraceParams
+ },
+ {
+ type : float3,
+ name : ssctVsLightDirection
+ },
+ {
+ type : float,
+ name : ssctIntensity
+ },
+ {
+ type : float2,
+ name : ssctDepthBias
+ },
+ {
+ type : float,
+ name : ssctInvZoom
+ },
+ {
+ type : uint,
+ name : ssctSampleCount
}
],
variables : [
@@ -86,6 +114,7 @@ vertex {
fragment {
#include "ssaoUtils.fs"
+ #include "dominantLightShadowing.fs"
const float kLog2LodRate = 3.0;
const float kEdgeDistance = 0.0625; // this shouldn't be hardcoded
@@ -201,13 +230,7 @@ fragment {
occlusion += w * max(0.0, vn + origin.z * materialParams.bias) / (vv + materialParams.peak2);
}
- void postProcess(inout PostProcessInputs postProcess) {
- highp vec2 uv = variable_vertex.xy; // interpolated to pixel center
-
- highp float depth = sampleDepthLinear(materialParams_depth, uv, 0.0, materialParams.depthParams);
- highp vec3 origin = computeViewSpacePositionFromDepth(uv, depth);
-
- vec3 normal = computeViewSpaceNormal(origin, uv);
+ float scalableAmbientObscurance(highp vec2 uv, highp vec3 origin, vec3 normal) {
float noise = random(gl_FragCoord.xy);
highp vec2 tapPosition = startPosition(noise);
highp mat2 angleStep = tapAngleStep();
@@ -221,7 +244,45 @@ fragment {
computeAmbientOcclusionSAO(occlusion, i, ssDiskRadius, uv, origin, normal, tapPosition, noise);
tapPosition = angleStep * tapPosition;
}
- occlusion = sqrt(occlusion * materialParams.intensity);
+ return sqrt(occlusion * materialParams.intensity);
+ }
+
+ float dominantLightShadowing(highp vec2 uv, highp vec3 origin, vec3 normal) {
+ ConeTraceSetup cone;
+ cone.ssStartPos = uv;
+ cone.vsStartPos = origin;
+ cone.vsNormal = normal;
+ cone.screenFromViewMatrix = materialParams.screenFromViewMatrix;
+ cone.depthParams = materialParams.depthParams;
+ cone.vsConeDirection = materialParams.ssctVsLightDirection;
+ cone.coneTraceParams = materialParams.ssctConeTraceParams;
+ cone.intensity = materialParams.ssctIntensity;
+ cone.invZoom = materialParams.ssctInvZoom;
+ cone.depthBias = materialParams.ssctDepthBias.x;
+ cone.slopeScaledDepthBias = materialParams.ssctDepthBias.y;
+ cone.sampleCount = materialParams.ssctSampleCount;
+ cone.jitterOffset.x = random(gl_FragCoord.xy) * 2.0 - 1.0; // direction
+ cone.jitterOffset.y = random(gl_FragCoord.xy * vec2(11, 3)); // step
+ float occlusion = coneTraceOcclusion(cone, materialParams_depth);
+ return occlusion;
+ }
+
+ void postProcess(inout PostProcessInputs postProcess) {
+ highp vec2 uv = variable_vertex.xy; // interpolated to pixel center
+
+ highp float depth = sampleDepthLinear(materialParams_depth, uv, 0.0, materialParams.depthParams);
+ highp vec3 origin = computeViewSpacePositionFromDepth(uv, depth);
+ vec3 normal = computeViewSpaceNormal(origin, uv);
+
+ float occlusion = 0.0;
+
+ if (materialParams.intensity > 0.0) {
+ occlusion = scalableAmbientObscurance(uv, origin, normal);
+ }
+
+ if (materialParams.ssctConeTraceParams.x > 0.0) {
+ occlusion = max(occlusion, dominantLightShadowing(uv, origin, normal));
+ }
// occlusion to visibility
float aoVisibility = pow(saturate(1.0 - occlusion), materialParams.power);
diff --git a/libs/gltfio/include/gltfio/SimpleViewer.h b/libs/gltfio/include/gltfio/SimpleViewer.h
index 978fd573a65..d4b9dcb3b8b 100644
--- a/libs/gltfio/include/gltfio/SimpleViewer.h
+++ b/libs/gltfio/include/gltfio/SimpleViewer.h
@@ -484,6 +484,20 @@ void SimpleViewer::updateUserInterface() {
mSSAOOptions.upsampling = upsampling ? View::QualityLevel::HIGH : View::QualityLevel::LOW;
mSSAOOptions.quality = (View::QualityLevel) quality;
mSSAOOptions.lowPassFilter = (View::QualityLevel) lowpass;
+ if (ImGui::CollapsingHeader("Dominant Light Shadows (experimental)")) {
+ int sampleCount = mSSAOOptions.ssct.sampleCount;
+ ImGui::Checkbox("Enabled##dls", &mSSAOOptions.ssct.enabled);
+ ImGui::SliderFloat("Cone angle", &mSSAOOptions.ssct.lightConeRad, 0.0f, (float)M_PI_2);
+ ImGui::SliderFloat("Start dist", &mSSAOOptions.ssct.startTraceDistance, 0.0f, 1.0f);
+ ImGui::SliderFloat("Contact dist max", &mSSAOOptions.ssct.contactDistanceMax, 0.0f, 100.0f);
+ ImGui::SliderFloat("Intensity##dls", &mSSAOOptions.ssct.intensity, 0.0f, 10.0f);
+ ImGui::SliderFloat("Depth bias", &mSSAOOptions.ssct.depthBias, 0.0f, 1.0f);
+ ImGui::SliderFloat("Depth slope bias", &mSSAOOptions.ssct.depthSlopeBias, 0.0f, 1.0f);
+ ImGui::SliderFloat("Scale", &mSSAOOptions.ssct.scale, 0.0f, 10.0f);
+ ImGui::SliderInt("Sample Count", &sampleCount, 1, 32);
+ ImGuiExt::DirectionWidget("Direction##dls", mSSAOOptions.ssct.lightDirection.v);
+ mSSAOOptions.ssct.sampleCount = sampleCount;
+ }
}
ImGui::Unindent();
}
diff --git a/libs/math/include/math/scalar.h b/libs/math/include/math/scalar.h
index 27174cf9cf8..1de77d24c60 100644
--- a/libs/math/include/math/scalar.h
+++ b/libs/math/include/math/scalar.h
@@ -18,6 +18,7 @@
#define TNT_MATH_SCALAR_H
#include
*/
public float maxShadowDistance = 0.3f;
+
+ /*
+ * Options prefixed with 'vsm' are available when the View's ShadowType is set to VSM.
+ *
+ * @see View#setShadowType
+ */
+
+ /**
+ * The number of MSAA samples to use when rendering VSM shadow maps.
+ * Must be a power-of-two and greater than or equal to 1. A value of 1 effectively turns
+ * off MSAA.
+ * Higher values may not be available depending on the underlying hardware.
+ *
+ *
+ * Warning: This API is still experimental and subject to change.
+ *
+ */
+ @IntRange(from = 1)
+ public int vsmMsaaSamples = 1;
}
public static class ShadowCascades {
@@ -433,7 +452,7 @@ public Builder shadowOptions(@NonNull ShadowOptions options) {
options.mapSize, options.shadowCascades, options.cascadeSplitPositions,
options.constantBias, options.normalBias, options.shadowFar, options.shadowNearHint,
options.shadowFarHint, options.stable, options.screenSpaceContactShadows,
- options.stepCount, options.maxShadowDistance);
+ options.stepCount, options.maxShadowDistance, options.vsmMsaaSamples);
return this;
}
@@ -1059,7 +1078,7 @@ public long getNativeObject() {
private static native void nDestroyBuilder(long nativeBuilder);
private static native boolean nBuilderBuild(long nativeBuilder, long nativeEngine, int entity);
private static native void nBuilderCastShadows(long nativeBuilder, boolean enable);
- private static native void nBuilderShadowOptions(long nativeBuilder, int mapSize, int cascades, float[] splitPositions, float constantBias, float normalBias, float shadowFar, float shadowNearHint, float shadowFarhint, boolean stable, boolean screenSpaceContactShadows, int stepCount, float maxShadowDistance);
+ private static native void nBuilderShadowOptions(long nativeBuilder, int mapSize, int cascades, float[] splitPositions, float constantBias, float normalBias, float shadowFar, float shadowNearHint, float shadowFarhint, boolean stable, boolean screenSpaceContactShadows, int stepCount, float maxShadowDistance, int vsmMsaaSamples);
private static native void nBuilderCastLight(long nativeBuilder, boolean enabled);
private static native void nBuilderPosition(long nativeBuilder, float x, float y, float z);
private static native void nBuilderDirection(long nativeBuilder, float x, float y, float z);
From 094e7169ccae81eb31286c41b61bfeb3710b2fde Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Tue, 29 Sep 2020 16:10:21 -0700
Subject: [PATCH 24/44] Introduce a configurable test case generator.
This lets us generate long lists of settings permutations by writing a
simple JSON spec. For example, the following spec would generate six
`Settings` objects, all of which have SSAO enabled. See the unit test
for a larger example.
```
{
"name": "viewopts",
"base": { "view.ssao.enabled": true }
"permute": {
"view.dithering": ["NONE", "TEMPORAL"],
"view.sampleCount": [1, 4, 8]
}
}
```
---
libs/viewer/CMakeLists.txt | 6 +-
libs/viewer/include/viewer/Automation.h | 48 +++++
libs/viewer/include/viewer/Settings.h | 1 -
libs/viewer/include/viewer/SimpleViewer.h | 2 +-
libs/viewer/src/Automation.cpp | 232 ++++++++++++++++++++++
libs/viewer/src/Settings.cpp | 16 +-
libs/viewer/src/parse.h | 33 +++
libs/viewer/tests/test_settings.cpp | 39 +++-
8 files changed, 361 insertions(+), 16 deletions(-)
create mode 100644 libs/viewer/include/viewer/Automation.h
create mode 100644 libs/viewer/src/Automation.cpp
create mode 100644 libs/viewer/src/parse.h
diff --git a/libs/viewer/CMakeLists.txt b/libs/viewer/CMakeLists.txt
index 13869b4f89e..223652848be 100644
--- a/libs/viewer/CMakeLists.txt
+++ b/libs/viewer/CMakeLists.txt
@@ -8,13 +8,15 @@ set(PUBLIC_HDR_DIR include)
# Sources and headers
# ==================================================================================================
set(PUBLIC_HDRS
- include/viewer/SimpleViewer.h
+ include/viewer/Automation.h
include/viewer/Settings.h
+ include/viewer/SimpleViewer.h
)
set(SRCS
- src/SimpleViewer.cpp
+ src/Automation.cpp
src/Settings.cpp
+ src/SimpleViewer.cpp
)
# ==================================================================================================
diff --git a/libs/viewer/include/viewer/Automation.h b/libs/viewer/include/viewer/Automation.h
new file mode 100644
index 00000000000..5eff6e5c09a
--- /dev/null
+++ b/libs/viewer/include/viewer/Automation.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by mIcable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef VIEWER_AUTOMATION_H
+#define VIEWER_AUTOMATION_H
+
+#include
+#include
+
+#include
+
+namespace filament {
+namespace viewer {
+
+// Named list of settings permutations.
+struct AutomationSpec {
+ std::string name;
+ std::vector cases;
+};
+
+// Consumes a JSON string and produces a list of automation specs using a counting algorithm.
+//
+// Each top-level item in the JSON is an object with "name", "base" and "permute".
+// The "base" object specifies a single set of changes to apply to default settings.
+// The optional "permute" object specifies a cross product of changes to apply to the base.
+// See the unit test for an example.
+//
+// - Returns true if successful.
+// - This function writes warnings and error messages into the utils log.
+bool generate(const char* jsonChunk, size_t size, std::vector* out);
+
+} // namespace viewer
+} // namespace filament
+
+#endif // VIEWER_AUTOMATION_H
diff --git a/libs/viewer/include/viewer/Settings.h b/libs/viewer/include/viewer/Settings.h
index fddb29e7d7c..20f16a4fb4a 100644
--- a/libs/viewer/include/viewer/Settings.h
+++ b/libs/viewer/include/viewer/Settings.h
@@ -46,7 +46,6 @@ using ToneMapping = filament::ColorGrading::ToneMapping;
using VignetteOptions = filament::View::VignetteOptions;
// Reads the given JSON blob and updates the corresponding fields in the given Settings object.
-//
// - The given JSON blob need not specify all settings.
// - Returns true if successful.
// - This function writes warnings and error messages into the utils log.
diff --git a/libs/viewer/include/viewer/SimpleViewer.h b/libs/viewer/include/viewer/SimpleViewer.h
index 4d4601f379e..8ca43b2f057 100644
--- a/libs/viewer/include/viewer/SimpleViewer.h
+++ b/libs/viewer/include/viewer/SimpleViewer.h
@@ -37,7 +37,7 @@ namespace filament {
namespace viewer {
/**
- * \class SimpleViewer SimpleViewer.h gltfio/SimpleViewer.h
+ * \class SimpleViewer SimpleViewer.h viewer/SimpleViewer.h
* \brief Manages the state for a simple glTF viewer with imgui controls and a tree view.
*
* This is a utility that can be used across multiple platforms, including web.
diff --git a/libs/viewer/src/Automation.cpp b/libs/viewer/src/Automation.cpp
new file mode 100644
index 00000000000..5129b70b5b3
--- /dev/null
+++ b/libs/viewer/src/Automation.cpp
@@ -0,0 +1,232 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by mIcable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define JSMN_HEADER
+
+#include
+
+#include "parse.h"
+
+#include
+
+#include
+
+#include
+
+using namespace utils;
+
+using std::vector;
+
+static const bool VERBOSE = false;
+
+namespace filament {
+namespace viewer {
+
+static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, std::string* val) {
+ CHECK_TOKTYPE(tokens[i], JSMN_STRING);
+ *val = STR(tokens[i], jsonChunk);
+ return i + 1;
+}
+
+static int parseBaseSettings(jsmntok_t const* tokens, int i, const char* jsonChunk, Settings* out) {
+ CHECK_TOKTYPE(tokens[i], JSMN_OBJECT);
+ int size = tokens[i++].size;
+ for (int j = 0; j < size; ++j, i += 2) {
+ std::stringstream dk(STR(tokens[i], jsonChunk));
+ std::string token;
+ std::string prefix;
+ int depth = 0;
+
+ // Expand "foo.bar.baz" into "foo: { bar: { baz: "
+ while (getline(dk, token, '.')) {
+ prefix += "{ \"" + token + "\": ";
+ depth++;
+ }
+ std::string json = prefix + STR(tokens[i + 1], jsonChunk);
+ for (int d = 0; d < depth; d++) { json += " } "; }
+ if (VERBOSE) {
+ slog.i << " Base: " << json.c_str() << io::endl;
+ }
+
+ // Now that we have a complete JSON string, apply this property change.
+ readJson(json.c_str(), json.size(), out);
+ }
+ return i;
+}
+
+static int parsePermutationsSpec(jsmntok_t const* tokens, int i, const char* jsonChunk,
+ vector>* out) {
+ CHECK_TOKTYPE(tokens[i], JSMN_OBJECT);
+ int size = tokens[i++].size;
+ out->resize(size);
+ for (int j = 0; j < size; ++j) {
+ std::stringstream dk(STR(tokens[i], jsonChunk));
+ std::string token;
+ std::string prefix;
+ int depth = 0;
+
+ // Expand "foo.bar.baz" into "foo: { bar: { baz: "
+ while (getline(dk, token, '.')) {
+ prefix += "{ \"" + token + "\": ";
+ depth++;
+ }
+ ++i;
+
+ // Build a complete JSON string for each requested property value.
+ const jsmntok_t valueArray = tokens[i++];
+ CHECK_TOKTYPE(valueArray, JSMN_ARRAY);
+ vector& spec = (*out)[j];
+ spec.resize(valueArray.size);
+ for (int k = 0; k < valueArray.size; k++, i++) {
+ std::string json = prefix + STR(tokens[i], jsonChunk);
+ for (int d = 0; d < depth; d++) { json += " } "; }
+ spec[k] = json;
+ }
+ }
+ return i;
+}
+
+static int parseAutomationSpec(jsmntok_t const* tokens, int i, const char* jsonChunk,
+ AutomationSpec* out) {
+ CHECK_TOKTYPE(tokens[i], JSMN_OBJECT);
+ int size = tokens[i++].size;
+ Settings base;
+ vector> permute;
+ for (int j = 0; j < size; ++j) {
+ const jsmntok_t tok = tokens[i];
+ CHECK_KEY(tok);
+ if (0 == compare(tok, jsonChunk, "name")) {
+ i = parse(tokens, i + 1, jsonChunk, &out->name);
+ if (VERBOSE) {
+ slog.i << "Building spec [" << out->name << "]" << io::endl;
+ }
+ } else if (0 == compare(tok, jsonChunk, "base")) {
+ i = parseBaseSettings(tokens, i + 1, jsonChunk, &base);
+ } else if (0 == compare(tok, jsonChunk, "permute")) {
+ i = parsePermutationsSpec(tokens, i + 1, jsonChunk, &permute);
+ } else {
+ slog.w << "Invalid automation key: '" << STR(tok, jsonChunk) << "'" << io::endl;
+ i = parse(tokens, i + 1);
+ }
+ if (i < 0) {
+ slog.e << "Invalid automation value: '" << STR(tok, jsonChunk) << "'" << io::endl;
+ return i;
+ }
+ }
+
+ // Determine the number of permutations.
+ size_t caseCount = 1;
+ size_t propIndex = 0;
+ vector::const_iterator> iters(permute.size());
+ for (const auto& prop : permute) {
+ caseCount *= prop.size();
+ if (VERBOSE) {
+ for (const auto& s : prop) {
+ slog.i << " Perm: " << s.c_str() << io::endl;
+ }
+ }
+ iters[propIndex++] = prop.begin();
+ }
+ out->cases.resize(caseCount);
+
+ if (VERBOSE) {
+ slog.i << " Case count: " << caseCount << io::endl;
+ }
+
+ size_t caseIndex = 0;
+ while (true) {
+
+ // Append a copy of the current Settings object to the case list.
+ if (VERBOSE) {
+ slog.i << " Appending case " << caseIndex << io::endl;
+ }
+ out->cases[caseIndex++] = base;
+
+ // Leave early if there are no permutations.
+ if (iters.empty()) {
+ return i;
+ }
+
+ // Use a basic counting algorithm to generate the next test case.
+ // Bump the first digit, if it rolls back to 0 then bump the next digit, etc.
+ // In this case, the "digit" is an iterator into a vector of JSON strings.
+ propIndex = 0;
+ for (auto& iter : iters) {
+ const auto& prop = permute[propIndex++];
+ if (++iter != prop.end()) {
+ break;
+ }
+ iter = prop.begin();
+
+ // Check if all permutations have been generated.
+ if (propIndex == permute.size()) {
+ assert(caseIndex == out->cases.size());
+ return i;
+ }
+ }
+
+ // Apply changes to the settings object.
+ for (const auto& iter : iters) {
+ const std::string& jsonString = *iter;
+ if (VERBOSE) {
+ slog.i << " Applying " << jsonString.c_str() << io::endl;
+ }
+ if (!readJson(jsonString.c_str(), jsonString.size(), &base)) {
+ return -1;
+ }
+ }
+ }
+
+ return i;
+}
+
+static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk,
+ vector* out) {
+ CHECK_TOKTYPE(tokens[i], JSMN_ARRAY);
+ int size = tokens[i++].size;
+ out->resize(size);
+ for (int j = 0; j < size && i >= 0; ++j) {
+ i = parseAutomationSpec(tokens, i, jsonChunk, &out->at(j));
+ }
+ return i;
+}
+
+bool generate(const char* jsonChunk, size_t size, vector* out) {
+ jsmn_parser parser = { 0, 0, 0 };
+
+ int tokenCount = jsmn_parse(&parser, jsonChunk, size, nullptr, 0);
+ if (tokenCount <= 0) {
+ return false;
+ }
+
+ jsmntok_t* tokens = (jsmntok_t*) malloc(sizeof(jsmntok_t) * tokenCount);
+ assert(tokens);
+
+ jsmn_init(&parser);
+ tokenCount = jsmn_parse(&parser, jsonChunk, size, tokens, tokenCount);
+
+ if (tokenCount <= 0) {
+ free(tokens);
+ return false;
+ }
+
+ int i = parse(tokens, 0, jsonChunk, out);
+ free(tokens);
+ return i >= 0;
+}
+
+} // namespace viewer
+} // namespace filament
diff --git a/libs/viewer/src/Settings.cpp b/libs/viewer/src/Settings.cpp
index e22e4b4d6e9..d688b5ea435 100644
--- a/libs/viewer/src/Settings.cpp
+++ b/libs/viewer/src/Settings.cpp
@@ -18,16 +18,12 @@
#include
-#include
-#include
+#include "parse.h"
#include
-#include
-
-#define CHECK_TOKTYPE(tok_, type_) if ((tok_).type != (type_)) { return -1; }
-#define CHECK_KEY(tok_) if ((tok_).type != JSMN_STRING || (tok_).size == 0) { return -1; }
-#define STR(tok, jsonChunk) std::string(jsonChunk + tok.start, tok.end - tok.start)
+#include
+#include
using namespace utils;
@@ -35,14 +31,14 @@ namespace filament {
namespace viewer {
// Compares a JSON string token against a C string.
-static int compare(jsmntok_t tok, const char* jsonChunk, const char* str) {
+int compare(jsmntok_t tok, const char* jsonChunk, const char* str) {
size_t slen = strlen(str);
size_t tlen = tok.end - tok.start;
return (slen == tlen) ? strncmp(jsonChunk + tok.start, str, slen) : 128;
}
// Skips over an unused token.
-static int parse(jsmntok_t const* tokens, int i) {
+int parse(jsmntok_t const* tokens, int i) {
int end = i + 1;
while (i < end) {
switch (tokens[i].type) {
@@ -573,7 +569,7 @@ static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, ViewSett
return i;
}
-static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, Settings* out) {
+int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, Settings* out) {
CHECK_TOKTYPE(tokens[i], JSMN_OBJECT);
int size = tokens[i++].size;
for (int j = 0; j < size; ++j) {
diff --git a/libs/viewer/src/parse.h b/libs/viewer/src/parse.h
new file mode 100644
index 00000000000..0b294cce9b8
--- /dev/null
+++ b/libs/viewer/src/parse.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by mIcable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include
+
+namespace filament {
+namespace viewer {
+
+#define CHECK_TOKTYPE(tok_, type_) if ((tok_).type != (type_)) { return -1; }
+#define CHECK_KEY(tok_) if ((tok_).type != JSMN_STRING || (tok_).size == 0) { return -1; }
+#define STR(tok, jsonChunk) std::string(jsonChunk + tok.start, tok.end - tok.start)
+
+struct Settings;
+
+int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, Settings* out);
+int parse(jsmntok_t const* tokens, int i);
+int compare(jsmntok_t tok, const char* jsonChunk, const char* str);
+
+} // namespace viewer
+} // namespace filament
diff --git a/libs/viewer/tests/test_settings.cpp b/libs/viewer/tests/test_settings.cpp
index 53db43346b2..d5cee3696ea 100644
--- a/libs/viewer/tests/test_settings.cpp
+++ b/libs/viewer/tests/test_settings.cpp
@@ -14,12 +14,15 @@
* limitations under the License.
*/
+#include
#include
#include
using namespace filament::viewer;
+using std::vector;
+
class ViewSettingsTest : public testing::Test {};
static const char* JSON_TEST_DEFAULTS = R"TXT(
@@ -127,6 +130,30 @@ static const char* JSON_TEST_DEFAULTS = R"TXT(
}
)TXT";
+static const char* JSON_AUTOMATION_TEST = R"TXT([
+ {
+ "name": "ppoff",
+ "base": {
+ "view.postProcessingEnabled": false
+ }
+ },
+ {
+ "name": "viewopts",
+ "base": {
+ "view.postProcessingEnabled": true
+ }
+ "permute": {
+ "view.dithering": ["NONE", "TEMPORAL"],
+ "view.sampleCount": [1, 4],
+ "view.taa.enabled": [false, true],
+ "view.antiAliasing": ["FXAA", "NONE"],
+ "view.ssao.enabled": [false, true],
+ "view.bloom.enabled": [false, true]
+ }
+ }
+]
+)TXT";
+
TEST_F(ViewSettingsTest, JsonTestDefaults) {
Settings settings1 = {0};
ASSERT_TRUE(readJson(JSON_TEST_DEFAULTS, strlen(JSON_TEST_DEFAULTS), &settings1));
@@ -135,10 +162,18 @@ TEST_F(ViewSettingsTest, JsonTestDefaults) {
Settings settings2;
ASSERT_TRUE(readJson("{}", strlen("{}"), &settings2));
- ASSERT_EQ(writeJson(settings1), writeJson(settings2));
+ ASSERT_FALSE(readJson("{ badly_formed }", strlen("{ badly_formed }"), &settings2));
Settings settings3;
- ASSERT_EQ(writeJson(settings1), writeJson(settings3));
+ ASSERT_EQ(writeJson(settings2), writeJson(settings3));
+}
+
+TEST_F(ViewSettingsTest, AutomationSpec) {
+ vector specs;
+ ASSERT_TRUE(generate(JSON_AUTOMATION_TEST, strlen(JSON_AUTOMATION_TEST), &specs));
+ ASSERT_EQ(specs.size(), 2);
+ ASSERT_EQ(specs[0].cases.size(), 1);
+ ASSERT_EQ(specs[1].cases.size(), 1 << 6);
}
int main(int argc, char** argv) {
From a736b8b018548204fec7cb8e9c72ac9e52626511 Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Wed, 30 Sep 2020 08:48:09 -0700
Subject: [PATCH 25/44] Rename parse.h to jsonParseUtils.
---
libs/viewer/CMakeLists.txt | 1 +
libs/viewer/src/Automation.cpp | 2 +-
libs/viewer/src/Settings.cpp | 2 +-
libs/viewer/src/{parse.h => jsonParseUtils.h} | 5 +++++
4 files changed, 8 insertions(+), 2 deletions(-)
rename libs/viewer/src/{parse.h => jsonParseUtils.h} (91%)
diff --git a/libs/viewer/CMakeLists.txt b/libs/viewer/CMakeLists.txt
index 223652848be..c5ceb1059bc 100644
--- a/libs/viewer/CMakeLists.txt
+++ b/libs/viewer/CMakeLists.txt
@@ -14,6 +14,7 @@ set(PUBLIC_HDRS
)
set(SRCS
+ src/jsonParseUtils.h
src/Automation.cpp
src/Settings.cpp
src/SimpleViewer.cpp
diff --git a/libs/viewer/src/Automation.cpp b/libs/viewer/src/Automation.cpp
index 5129b70b5b3..e4446601124 100644
--- a/libs/viewer/src/Automation.cpp
+++ b/libs/viewer/src/Automation.cpp
@@ -18,7 +18,7 @@
#include
-#include "parse.h"
+#include "jsonParseUtils.h"
#include
diff --git a/libs/viewer/src/Settings.cpp b/libs/viewer/src/Settings.cpp
index d688b5ea435..c04d7a5f93c 100644
--- a/libs/viewer/src/Settings.cpp
+++ b/libs/viewer/src/Settings.cpp
@@ -18,7 +18,7 @@
#include
-#include "parse.h"
+#include "jsonParseUtils.h"
#include
diff --git a/libs/viewer/src/parse.h b/libs/viewer/src/jsonParseUtils.h
similarity index 91%
rename from libs/viewer/src/parse.h
rename to libs/viewer/src/jsonParseUtils.h
index 0b294cce9b8..e8bb53dac26 100644
--- a/libs/viewer/src/parse.h
+++ b/libs/viewer/src/jsonParseUtils.h
@@ -14,6 +14,9 @@
* limitations under the License.
*/
+#ifndef VIEWER_JSON_PARSE_UTILS_H
+#define VIEWER_JSON_PARSE_UTILS_H
+
#include
namespace filament {
@@ -31,3 +34,5 @@ int compare(jsmntok_t tok, const char* jsonChunk, const char* str);
} // namespace viewer
} // namespace filament
+
+#endif // VIEWER_JSON_PARSE_UTILS_H
From 08f7973d0cc2b30f1cadd2ecee0386c9f47713b9 Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Wed, 30 Sep 2020 09:31:25 -0700
Subject: [PATCH 26/44] Refactor Automation API.
---
libs/viewer/include/viewer/Automation.h | 38 ++++++++++++++------
libs/viewer/src/Automation.cpp | 46 ++++++++++++++++++++-----
libs/viewer/tests/test_settings.cpp | 14 ++++----
3 files changed, 72 insertions(+), 26 deletions(-)
diff --git a/libs/viewer/include/viewer/Automation.h b/libs/viewer/include/viewer/Automation.h
index 5eff6e5c09a..9aeeb1836d0 100644
--- a/libs/viewer/include/viewer/Automation.h
+++ b/libs/viewer/include/viewer/Automation.h
@@ -17,30 +17,46 @@
#ifndef VIEWER_AUTOMATION_H
#define VIEWER_AUTOMATION_H
-#include
-#include
-
#include
namespace filament {
namespace viewer {
-// Named list of settings permutations.
+// Immutable list of settings permutations that are created and owned by AutomationList.
struct AutomationSpec {
- std::string name;
- std::vector cases;
+ char const* name;
+ size_t count;
+ Settings const* settings;
};
-// Consumes a JSON string and produces a list of automation specs using a counting algorithm.
+// List of automation specs constructed from a JSON string.
//
// Each top-level item in the JSON is an object with "name", "base" and "permute".
// The "base" object specifies a single set of changes to apply to default settings.
// The optional "permute" object specifies a cross product of changes to apply to the base.
// See the unit test for an example.
-//
-// - Returns true if successful.
-// - This function writes warnings and error messages into the utils log.
-bool generate(const char* jsonChunk, size_t size, std::vector* out);
+class AutomationList {
+public:
+
+ // Parses a JSON spec, then generates a set of Settings lists.
+ // Returns null on failure (see utils log for warnings and errors).
+ // Clients should release memory using "delete".
+ static AutomationList* generate(const char* jsonChunk, size_t size);
+
+ // Returns the number of generated Settings lists.
+ size_t size() const;
+
+ // Returns a view onto a generated Settings list.
+ AutomationSpec get(size_t index) const;
+
+ // Frees all Settings objects and name strings.
+ ~AutomationList();
+
+private:
+ struct Impl;
+ AutomationList(Impl*);
+ Impl* mImpl;
+};
} // namespace viewer
} // namespace filament
diff --git a/libs/viewer/src/Automation.cpp b/libs/viewer/src/Automation.cpp
index e4446601124..5c001230cdf 100644
--- a/libs/viewer/src/Automation.cpp
+++ b/libs/viewer/src/Automation.cpp
@@ -23,6 +23,8 @@
#include
#include
+#include
+#include
#include
@@ -35,6 +37,15 @@ static const bool VERBOSE = false;
namespace filament {
namespace viewer {
+struct SpecImpl {
+ std::string name;
+ std::vector cases;
+};
+
+struct AutomationList::Impl {
+ std::vector specs;
+};
+
static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, std::string* val) {
CHECK_TOKTYPE(tokens[i], JSMN_STRING);
*val = STR(tokens[i], jsonChunk);
@@ -100,7 +111,7 @@ static int parsePermutationsSpec(jsmntok_t const* tokens, int i, const char* jso
}
static int parseAutomationSpec(jsmntok_t const* tokens, int i, const char* jsonChunk,
- AutomationSpec* out) {
+ SpecImpl* out) {
CHECK_TOKTYPE(tokens[i], JSMN_OBJECT);
int size = tokens[i++].size;
Settings base;
@@ -193,8 +204,7 @@ static int parseAutomationSpec(jsmntok_t const* tokens, int i, const char* jsonC
return i;
}
-static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk,
- vector* out) {
+static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, vector* out) {
CHECK_TOKTYPE(tokens[i], JSMN_ARRAY);
int size = tokens[i++].size;
out->resize(size);
@@ -204,12 +214,12 @@ static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk,
return i;
}
-bool generate(const char* jsonChunk, size_t size, vector* out) {
+AutomationList* AutomationList::generate(const char* jsonChunk, size_t size) {
jsmn_parser parser = { 0, 0, 0 };
int tokenCount = jsmn_parse(&parser, jsonChunk, size, nullptr, 0);
if (tokenCount <= 0) {
- return false;
+ return nullptr;
}
jsmntok_t* tokens = (jsmntok_t*) malloc(sizeof(jsmntok_t) * tokenCount);
@@ -220,13 +230,33 @@ bool generate(const char* jsonChunk, size_t size, vector* out) {
if (tokenCount <= 0) {
free(tokens);
- return false;
+ return nullptr;
}
- int i = parse(tokens, 0, jsonChunk, out);
+ AutomationList::Impl* impl = new AutomationList::Impl();
+ int i = parse(tokens, 0, jsonChunk, &impl->specs);
free(tokens);
- return i >= 0;
+
+ if (i < 0) {
+ delete impl;
+ return nullptr;
+ }
+
+ return new AutomationList(impl);
+}
+
+AutomationSpec AutomationList::get(size_t index) const {
+ const SpecImpl& spec = mImpl->specs[index];
+ return {
+ .name = spec.name.c_str(),
+ .count = spec.cases.size(),
+ .settings = spec.cases.data()
+ };
}
+size_t AutomationList::size() const { return mImpl->specs.size(); }
+AutomationList::AutomationList(Impl* impl) : mImpl(impl) {}
+AutomationList::~AutomationList() { delete mImpl; }
+
} // namespace viewer
} // namespace filament
diff --git a/libs/viewer/tests/test_settings.cpp b/libs/viewer/tests/test_settings.cpp
index d5cee3696ea..e8f3df42396 100644
--- a/libs/viewer/tests/test_settings.cpp
+++ b/libs/viewer/tests/test_settings.cpp
@@ -21,8 +21,6 @@
using namespace filament::viewer;
-using std::vector;
-
class ViewSettingsTest : public testing::Test {};
static const char* JSON_TEST_DEFAULTS = R"TXT(
@@ -169,11 +167,13 @@ TEST_F(ViewSettingsTest, JsonTestDefaults) {
}
TEST_F(ViewSettingsTest, AutomationSpec) {
- vector specs;
- ASSERT_TRUE(generate(JSON_AUTOMATION_TEST, strlen(JSON_AUTOMATION_TEST), &specs));
- ASSERT_EQ(specs.size(), 2);
- ASSERT_EQ(specs[0].cases.size(), 1);
- ASSERT_EQ(specs[1].cases.size(), 1 << 6);
+ AutomationList* specs = AutomationList::generate(JSON_AUTOMATION_TEST,
+ strlen(JSON_AUTOMATION_TEST));
+ ASSERT_TRUE(specs);
+ ASSERT_EQ(specs->size(), 2);
+ ASSERT_EQ(specs->get(0).count, 1);
+ ASSERT_EQ(specs->get(1).count, 1 << 6);
+ delete specs;
}
int main(int argc, char** argv) {
From 902eb32e3c592de770519061dd7c3e8f2616f4e2 Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Wed, 30 Sep 2020 12:06:39 -0700
Subject: [PATCH 27/44] Fix typo in copyright headers.
---
libs/viewer/include/viewer/Automation.h | 2 +-
libs/viewer/include/viewer/Settings.h | 2 +-
libs/viewer/include/viewer/SimpleViewer.h | 2 +-
libs/viewer/src/Automation.cpp | 2 +-
libs/viewer/src/Settings.cpp | 2 +-
libs/viewer/src/SimpleViewer.cpp | 2 +-
libs/viewer/src/jsonParseUtils.h | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/libs/viewer/include/viewer/Automation.h b/libs/viewer/include/viewer/Automation.h
index 9aeeb1836d0..da9be92ade6 100644
--- a/libs/viewer/include/viewer/Automation.h
+++ b/libs/viewer/include/viewer/Automation.h
@@ -7,7 +7,7 @@
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by mIcable law or agreed to in writing, software
+ * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
diff --git a/libs/viewer/include/viewer/Settings.h b/libs/viewer/include/viewer/Settings.h
index 20f16a4fb4a..aaefb074020 100644
--- a/libs/viewer/include/viewer/Settings.h
+++ b/libs/viewer/include/viewer/Settings.h
@@ -7,7 +7,7 @@
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by mIcable law or agreed to in writing, software
+ * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
diff --git a/libs/viewer/include/viewer/SimpleViewer.h b/libs/viewer/include/viewer/SimpleViewer.h
index 8ca43b2f057..68b3e5e36ac 100644
--- a/libs/viewer/include/viewer/SimpleViewer.h
+++ b/libs/viewer/include/viewer/SimpleViewer.h
@@ -7,7 +7,7 @@
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by mIcable law or agreed to in writing, software
+ * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
diff --git a/libs/viewer/src/Automation.cpp b/libs/viewer/src/Automation.cpp
index 5c001230cdf..61485b5d538 100644
--- a/libs/viewer/src/Automation.cpp
+++ b/libs/viewer/src/Automation.cpp
@@ -7,7 +7,7 @@
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by mIcable law or agreed to in writing, software
+ * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
diff --git a/libs/viewer/src/Settings.cpp b/libs/viewer/src/Settings.cpp
index c04d7a5f93c..015498e8d4b 100644
--- a/libs/viewer/src/Settings.cpp
+++ b/libs/viewer/src/Settings.cpp
@@ -7,7 +7,7 @@
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by mIcable law or agreed to in writing, software
+ * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
diff --git a/libs/viewer/src/SimpleViewer.cpp b/libs/viewer/src/SimpleViewer.cpp
index b96ec2dcd5e..26ed8a11689 100644
--- a/libs/viewer/src/SimpleViewer.cpp
+++ b/libs/viewer/src/SimpleViewer.cpp
@@ -7,7 +7,7 @@
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by mIcable law or agreed to in writing, software
+ * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
diff --git a/libs/viewer/src/jsonParseUtils.h b/libs/viewer/src/jsonParseUtils.h
index e8bb53dac26..73f967b8d8f 100644
--- a/libs/viewer/src/jsonParseUtils.h
+++ b/libs/viewer/src/jsonParseUtils.h
@@ -7,7 +7,7 @@
*
* http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by mIcable law or agreed to in writing, software
+ * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
From 43cc5f99062f4c82d9114fcaf5d97b85d9d94558 Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Wed, 30 Sep 2020 12:46:20 -0700
Subject: [PATCH 28/44] Automation: add a built-in default spec.
---
libs/viewer/include/viewer/Automation.h | 6 +++++
libs/viewer/src/Automation.cpp | 36 +++++++++++++++++++++++++
libs/viewer/tests/test_settings.cpp | 28 ++-----------------
3 files changed, 44 insertions(+), 26 deletions(-)
diff --git a/libs/viewer/include/viewer/Automation.h b/libs/viewer/include/viewer/Automation.h
index da9be92ade6..51559ca651a 100644
--- a/libs/viewer/include/viewer/Automation.h
+++ b/libs/viewer/include/viewer/Automation.h
@@ -43,12 +43,18 @@ class AutomationList {
// Clients should release memory using "delete".
static AutomationList* generate(const char* jsonChunk, size_t size);
+ // Generates a default list of cases using an embedded JSON spec.
+ static AutomationList* generateDefault();
+
// Returns the number of generated Settings lists.
size_t size() const;
// Returns a view onto a generated Settings list.
AutomationSpec get(size_t index) const;
+ // Returns the total number of Settings objects.
+ size_t totalCount() const;
+
// Frees all Settings objects and name strings.
~AutomationList();
diff --git a/libs/viewer/src/Automation.cpp b/libs/viewer/src/Automation.cpp
index 61485b5d538..145eeca8cf3 100644
--- a/libs/viewer/src/Automation.cpp
+++ b/libs/viewer/src/Automation.cpp
@@ -37,6 +37,30 @@ static const bool VERBOSE = false;
namespace filament {
namespace viewer {
+static const char* DEFAULT_AUTOMATION = R"TXT([
+ {
+ "name": "ppoff",
+ "base": {
+ "view.postProcessingEnabled": false
+ }
+ },
+ {
+ "name": "viewopts",
+ "base": {
+ "view.postProcessingEnabled": true
+ }
+ "permute": {
+ "view.dithering": ["NONE", "TEMPORAL"],
+ "view.sampleCount": [1, 4],
+ "view.taa.enabled": [false, true],
+ "view.antiAliasing": ["FXAA", "NONE"],
+ "view.ssao.enabled": [false, true],
+ "view.bloom.enabled": [false, true]
+ }
+ }
+]
+)TXT";
+
struct SpecImpl {
std::string name;
std::vector cases;
@@ -245,6 +269,10 @@ AutomationList* AutomationList::generate(const char* jsonChunk, size_t size) {
return new AutomationList(impl);
}
+AutomationList* AutomationList::generateDefault() {
+ return generate(DEFAULT_AUTOMATION, strlen(DEFAULT_AUTOMATION));
+}
+
AutomationSpec AutomationList::get(size_t index) const {
const SpecImpl& spec = mImpl->specs[index];
return {
@@ -254,6 +282,14 @@ AutomationSpec AutomationList::get(size_t index) const {
};
}
+size_t AutomationList::totalCount() const {
+ size_t count = 0;
+ for (const auto& spec : mImpl->specs) {
+ count += spec.cases.size();
+ }
+ return count;
+}
+
size_t AutomationList::size() const { return mImpl->specs.size(); }
AutomationList::AutomationList(Impl* impl) : mImpl(impl) {}
AutomationList::~AutomationList() { delete mImpl; }
diff --git a/libs/viewer/tests/test_settings.cpp b/libs/viewer/tests/test_settings.cpp
index e8f3df42396..d415d20444a 100644
--- a/libs/viewer/tests/test_settings.cpp
+++ b/libs/viewer/tests/test_settings.cpp
@@ -128,30 +128,6 @@ static const char* JSON_TEST_DEFAULTS = R"TXT(
}
)TXT";
-static const char* JSON_AUTOMATION_TEST = R"TXT([
- {
- "name": "ppoff",
- "base": {
- "view.postProcessingEnabled": false
- }
- },
- {
- "name": "viewopts",
- "base": {
- "view.postProcessingEnabled": true
- }
- "permute": {
- "view.dithering": ["NONE", "TEMPORAL"],
- "view.sampleCount": [1, 4],
- "view.taa.enabled": [false, true],
- "view.antiAliasing": ["FXAA", "NONE"],
- "view.ssao.enabled": [false, true],
- "view.bloom.enabled": [false, true]
- }
- }
-]
-)TXT";
-
TEST_F(ViewSettingsTest, JsonTestDefaults) {
Settings settings1 = {0};
ASSERT_TRUE(readJson(JSON_TEST_DEFAULTS, strlen(JSON_TEST_DEFAULTS), &settings1));
@@ -167,12 +143,12 @@ TEST_F(ViewSettingsTest, JsonTestDefaults) {
}
TEST_F(ViewSettingsTest, AutomationSpec) {
- AutomationList* specs = AutomationList::generate(JSON_AUTOMATION_TEST,
- strlen(JSON_AUTOMATION_TEST));
+ AutomationList* specs = AutomationList::generateDefault();
ASSERT_TRUE(specs);
ASSERT_EQ(specs->size(), 2);
ASSERT_EQ(specs->get(0).count, 1);
ASSERT_EQ(specs->get(1).count, 1 << 6);
+ ASSERT_EQ(specs->totalCount(), 1 + (1 << 6));
delete specs;
}
From 5fae33bde5c057abfcd33a3e2a3e0b0f20a7f2cf Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Wed, 30 Sep 2020 13:06:57 -0700
Subject: [PATCH 29/44] Automation: simplify API by flattening the test cases.
---
libs/viewer/include/viewer/Automation.h | 30 +++---
libs/viewer/src/Automation.cpp | 130 ++++++++++++++----------
libs/viewer/tests/test_settings.cpp | 21 +++-
3 files changed, 107 insertions(+), 74 deletions(-)
diff --git a/libs/viewer/include/viewer/Automation.h b/libs/viewer/include/viewer/Automation.h
index 51559ca651a..c765e646c6d 100644
--- a/libs/viewer/include/viewer/Automation.h
+++ b/libs/viewer/include/viewer/Automation.h
@@ -22,38 +22,32 @@
namespace filament {
namespace viewer {
-// Immutable list of settings permutations that are created and owned by AutomationList.
-struct AutomationSpec {
- char const* name;
- size_t count;
- Settings const* settings;
-};
-
-// List of automation specs constructed from a JSON string.
+// Immutable list of Settings objects generated from a JSON spec.
//
-// Each top-level item in the JSON is an object with "name", "base" and "permute".
+// Each top-level item in the JSON spec is an object with "name", "base" and "permute".
// The "base" object specifies a single set of changes to apply to default settings.
// The optional "permute" object specifies a cross product of changes to apply to the base.
// See the unit test for an example.
class AutomationList {
public:
- // Parses a JSON spec, then generates a set of Settings lists.
+ // Parses a JSON spec, then generates a list of Settings objects.
// Returns null on failure (see utils log for warnings and errors).
// Clients should release memory using "delete".
- static AutomationList* generate(const char* jsonChunk, size_t size);
+ static AutomationList* generate(const char* jsonSpec, size_t size);
- // Generates a default list of cases using an embedded JSON spec.
- static AutomationList* generateDefault();
+ // Generates a list of Settings objects using an embedded JSON spec.
+ static AutomationList* generateDefaultTestCases();
- // Returns the number of generated Settings lists.
+ // Returns the number of generated Settings objects.
size_t size() const;
- // Returns a view onto a generated Settings list.
- AutomationSpec get(size_t index) const;
+ // Gets a generated Settings object and copies it out.
+ // Returns false if the given index is out of bounds.
+ bool get(size_t index, Settings* out) const;
- // Returns the total number of Settings objects.
- size_t totalCount() const;
+ // Returns the name of the JSON group for a given Settings object.
+ char const* getName(size_t index) const;
// Frees all Settings objects and name strings.
~AutomationList();
diff --git a/libs/viewer/src/Automation.cpp b/libs/viewer/src/Automation.cpp
index 145eeca8cf3..c16adcf8a01 100644
--- a/libs/viewer/src/Automation.cpp
+++ b/libs/viewer/src/Automation.cpp
@@ -46,9 +46,6 @@ static const char* DEFAULT_AUTOMATION = R"TXT([
},
{
"name": "viewopts",
- "base": {
- "view.postProcessingEnabled": true
- }
"permute": {
"view.dithering": ["NONE", "TEMPORAL"],
"view.sampleCount": [1, 4],
@@ -61,13 +58,19 @@ static const char* DEFAULT_AUTOMATION = R"TXT([
]
)TXT";
-struct SpecImpl {
+struct Case {
+ Settings settings;
+ char const* name;
+};
+
+struct CaseGroup {
std::string name;
std::vector cases;
};
struct AutomationList::Impl {
- std::vector specs;
+ std::vector cases;
+ std::vector names;
};
static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, std::string* val) {
@@ -135,7 +138,7 @@ static int parsePermutationsSpec(jsmntok_t const* tokens, int i, const char* jso
}
static int parseAutomationSpec(jsmntok_t const* tokens, int i, const char* jsonChunk,
- SpecImpl* out) {
+ CaseGroup* out) {
CHECK_TOKTYPE(tokens[i], JSMN_OBJECT);
int size = tokens[i++].size;
Settings base;
@@ -162,6 +165,13 @@ static int parseAutomationSpec(jsmntok_t const* tokens, int i, const char* jsonC
}
}
+ // Leave early if there are no permutations.
+ if (permute.empty()) {
+ out->cases.resize(1);
+ out->cases[0] = base;
+ return i;
+ }
+
// Determine the number of permutations.
size_t caseCount = 1;
size_t propIndex = 0;
@@ -176,50 +186,45 @@ static int parseAutomationSpec(jsmntok_t const* tokens, int i, const char* jsonC
iters[propIndex++] = prop.begin();
}
out->cases.resize(caseCount);
-
if (VERBOSE) {
slog.i << " Case count: " << caseCount << io::endl;
}
size_t caseIndex = 0;
while (true) {
-
- // Append a copy of the current Settings object to the case list.
if (VERBOSE) {
- slog.i << " Appending case " << caseIndex << io::endl;
- }
- out->cases[caseIndex++] = base;
-
- // Leave early if there are no permutations.
- if (iters.empty()) {
- return i;
+ slog.i << " Generating test case " << caseIndex << io::endl;
}
- // Use a basic counting algorithm to generate the next test case.
+ // Use a basic counting algorithm to select the next combination of property values.
// Bump the first digit, if it rolls back to 0 then bump the next digit, etc.
- // In this case, the "digit" is an iterator into a vector of JSON strings.
- propIndex = 0;
- for (auto& iter : iters) {
- const auto& prop = permute[propIndex++];
- if (++iter != prop.end()) {
- break;
- }
- iter = prop.begin();
-
- // Check if all permutations have been generated.
- if (propIndex == permute.size()) {
- assert(caseIndex == out->cases.size());
- return i;
+ // In this case, each "digit" is an iterator into a vector of JSON strings.
+ if (caseIndex > 0) {
+ propIndex = 0;
+ for (auto& iter : iters) {
+ const auto& prop = permute[propIndex++];
+ if (++iter != prop.end()) {
+ break;
+ }
+ iter = prop.begin();
+
+ // Check if all permutations have been generated.
+ if (propIndex == permute.size()) {
+ assert(caseIndex == caseCount);
+ return i;
+ }
}
}
- // Apply changes to the settings object.
+ // Copy the base settings object, then apply changes.
+ Settings& testCase = out->cases[caseIndex++];
+ testCase = base;
for (const auto& iter : iters) {
const std::string& jsonString = *iter;
if (VERBOSE) {
- slog.i << " Applying " << jsonString.c_str() << io::endl;
+ slog.i << " Applying " << jsonString.c_str() << io::endl;
}
- if (!readJson(jsonString.c_str(), jsonString.size(), &base)) {
+ if (!readJson(jsonString.c_str(), jsonString.size(), &testCase)) {
return -1;
}
}
@@ -228,7 +233,7 @@ static int parseAutomationSpec(jsmntok_t const* tokens, int i, const char* jsonC
return i;
}
-static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, vector* out) {
+static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, vector* out) {
CHECK_TOKTYPE(tokens[i], JSMN_ARRAY);
int size = tokens[i++].size;
out->resize(size);
@@ -257,40 +262,63 @@ AutomationList* AutomationList::generate(const char* jsonChunk, size_t size) {
return nullptr;
}
- AutomationList::Impl* impl = new AutomationList::Impl();
- int i = parse(tokens, 0, jsonChunk, &impl->specs);
+ vector groups;
+ int i = parse(tokens, 0, jsonChunk, &groups);
free(tokens);
if (i < 0) {
- delete impl;
return nullptr;
}
+ AutomationList::Impl* impl = new AutomationList::Impl();
+
+ // Compute the flattened number of Settings objects.
+ size_t total = 0;
+ for (const auto& group : groups) {
+ total += group.cases.size();
+ }
+
+ impl->names.resize(groups.size());
+ impl->cases.resize(total);
+
+ // Flatten the groups.
+ size_t caseIndex = 0, groupIndex = 0;
+ for (const auto& group : groups) {
+ impl->names[groupIndex] = group.name;
+ for (const auto& settings : group.cases) {
+ impl->cases[caseIndex].name = impl->names[groupIndex].c_str();
+ impl->cases[caseIndex].settings = settings;
+ ++caseIndex;
+ }
+ ++groupIndex;
+ }
+
return new AutomationList(impl);
}
-AutomationList* AutomationList::generateDefault() {
+AutomationList* AutomationList::generateDefaultTestCases() {
return generate(DEFAULT_AUTOMATION, strlen(DEFAULT_AUTOMATION));
}
-AutomationSpec AutomationList::get(size_t index) const {
- const SpecImpl& spec = mImpl->specs[index];
- return {
- .name = spec.name.c_str(),
- .count = spec.cases.size(),
- .settings = spec.cases.data()
- };
+bool AutomationList::get(size_t index, Settings* out) const {
+ if (index >= mImpl->cases.size()) {
+ return false;
+ }
+ if (out == nullptr) {
+ return true;
+ }
+ *out = mImpl->cases.at(index).settings;
+ return true;
}
-size_t AutomationList::totalCount() const {
- size_t count = 0;
- for (const auto& spec : mImpl->specs) {
- count += spec.cases.size();
+char const* AutomationList::getName(size_t index) const {
+ if (index >= mImpl->cases.size()) {
+ return nullptr;
}
- return count;
+ return mImpl->cases.at(index).name;
}
-size_t AutomationList::size() const { return mImpl->specs.size(); }
+size_t AutomationList::size() const { return mImpl->cases.size(); }
AutomationList::AutomationList(Impl* impl) : mImpl(impl) {}
AutomationList::~AutomationList() { delete mImpl; }
diff --git a/libs/viewer/tests/test_settings.cpp b/libs/viewer/tests/test_settings.cpp
index d415d20444a..70d3babde09 100644
--- a/libs/viewer/tests/test_settings.cpp
+++ b/libs/viewer/tests/test_settings.cpp
@@ -143,12 +143,23 @@ TEST_F(ViewSettingsTest, JsonTestDefaults) {
}
TEST_F(ViewSettingsTest, AutomationSpec) {
- AutomationList* specs = AutomationList::generateDefault();
+ AutomationList* specs = AutomationList::generateDefaultTestCases();
ASSERT_TRUE(specs);
- ASSERT_EQ(specs->size(), 2);
- ASSERT_EQ(specs->get(0).count, 1);
- ASSERT_EQ(specs->get(1).count, 1 << 6);
- ASSERT_EQ(specs->totalCount(), 1 + (1 << 6));
+ ASSERT_EQ(specs->size(), 65);
+
+ Settings settings;
+
+ ASSERT_TRUE(specs->get(0, &settings));
+ ASSERT_FALSE(settings.view.postProcessingEnabled);
+ ASSERT_EQ(settings.view.dithering, Dithering::TEMPORAL);
+
+ ASSERT_TRUE(specs->get(1, &settings));
+ ASSERT_TRUE(settings.view.postProcessingEnabled);
+ ASSERT_EQ(settings.view.dithering, Dithering::NONE);
+
+ ASSERT_TRUE(specs->get(64, &settings));
+ ASSERT_FALSE(specs->get(65, &settings));
+
delete specs;
}
From 8b3caeffb9f1f16c62eb8b71baee4644a6a32333 Mon Sep 17 00:00:00 2001
From: Pixelflinger
Date: Wed, 30 Sep 2020 18:18:35 -0700
Subject: [PATCH 30/44] ssct: decouple shadow distance from sample count
---
.../filament-android/src/main/cpp/View.cpp | 2 +-
filament/include/filament/View.h | 4 +-
filament/src/PostProcessManager.cpp | 13 +--
filament/src/details/View.h | 2 +-
filament/src/materials/ssao/sao.mat | 29 ++++--
filament/src/materials/ssao/ssct.fs | 91 +++++++++----------
libs/viewer/src/Settings.cpp | 6 +-
libs/viewer/src/SimpleViewer.cpp | 2 +-
libs/viewer/tests/test_settings.cpp | 2 +-
samples/material_sandbox.cpp | 2 +-
shaders/src/shadowing.fs | 6 +-
11 files changed, 82 insertions(+), 77 deletions(-)
diff --git a/android/filament-android/src/main/cpp/View.cpp b/android/filament-android/src/main/cpp/View.cpp
index a2ed9d2f6df..a68ccd61f9f 100644
--- a/android/filament-android/src/main/cpp/View.cpp
+++ b/android/filament-android/src/main/cpp/View.cpp
@@ -228,7 +228,7 @@ Java_com_google_android_filament_View_nSetSSCTOptions(JNIEnv *, jclass, jlong na
View* view = (View*) nativeView;
View::AmbientOcclusionOptions options = view->getAmbientOcclusionOptions();
options.ssct.lightConeRad = ssctLightConeRad;
- options.ssct.startTraceDistance = ssctStartTraceDistance;
+ options.ssct.shadowDistance = ssctStartTraceDistance;
options.ssct.contactDistanceMax = ssctContactDistanceMax;
options.ssct.intensity = ssctIntensity;
options.ssct.lightDirection = math::float3{ ssctLightDirX, ssctLightDirY, ssctLightDirZ };
diff --git a/filament/include/filament/View.h b/filament/include/filament/View.h
index 6bbf1be3ea3..2331766dccf 100644
--- a/filament/include/filament/View.h
+++ b/filament/include/filament/View.h
@@ -231,8 +231,8 @@ class UTILS_PUBLIC View : public FilamentAPI {
*/
struct Ssct {
float lightConeRad = 1.0f; //!< full cone angle in radian, between 0 and pi/2
- float startTraceDistance = 0.01f; //!< distance where tracing starts
- float contactDistanceMax = 1.0f; //!< max distance shadows are cast
+ float shadowDistance = 0.3f; //!< how far shadows can be cast
+ float contactDistanceMax = 1.0f; //!< max distance for contact
float intensity = 0.8f; //!< intensity
math::float3 lightDirection{ 0, -1, 0 }; //!< light direction
float depthBias = 0.01f; //!< depth bias in world units (mitigate self shadowing)
diff --git a/filament/src/PostProcessManager.cpp b/filament/src/PostProcessManager.cpp
index ddd0d512112..c6ed7576843 100644
--- a/filament/src/PostProcessManager.cpp
+++ b/filament/src/PostProcessManager.cpp
@@ -519,13 +519,9 @@ FrameGraphId PostProcessManager::screenSpaceAmbientOcclusion(
mi->setParameter("angleIncCosSin", float2{ std::cos(inc), std::sin(inc) });
mi->setParameter("invFarPlane", 1.0f / -cameraInfo.zf);
- mi->setParameter("ssctConeTraceParams", float4{
- options.ssct.enabled ? std::tan(options.ssct.lightConeRad * 0.5f) : 0.0f,
- std::sin(options.ssct.lightConeRad * 0.5f),
- options.ssct.startTraceDistance * projectionScale,
- 1.0f / options.ssct.contactDistanceMax
- });
-
+ mi->setParameter("ssctShadowDistance", options.ssct.shadowDistance);
+ mi->setParameter("ssctConeAngleTangeant", std::tan(options.ssct.lightConeRad * 0.5f));
+ mi->setParameter("ssctContactDistanceMaxInv", 1.0f / options.ssct.contactDistanceMax);
// light direction in view space
// (note: this is actually equivalent to using the camera view matrix -- before the
// world matrix is accounted for)
@@ -533,9 +529,8 @@ FrameGraphId PostProcessManager::screenSpaceAmbientOcclusion(
const float3 l = normalize(
mat3f::getTransformForNormals(m.upperLeft())
* options.ssct.lightDirection);
-
mi->setParameter("ssctIntensity",
- options.ssct.intensity);
+ options.ssct.enabled ? options.ssct.intensity : 0.0f);
mi->setParameter("ssctVsLightDirection", -l);
mi->setParameter("ssctDepthBias",
float2{ options.ssct.depthBias, options.ssct.depthSlopeBias });
diff --git a/filament/src/details/View.h b/filament/src/details/View.h
index 8bde00d7aaa..c9b3b98cc04 100644
--- a/filament/src/details/View.h
+++ b/filament/src/details/View.h
@@ -296,7 +296,7 @@ class FView : public View {
options.intensity = std::max(0.0f, options.intensity);
options.minHorizonAngleRad = math::clamp(options.minHorizonAngleRad, 0.0f, math::f::PI_2);
options.ssct.lightConeRad = math::clamp(options.ssct.lightConeRad, 0.0f, math::f::PI_2);
- options.ssct.startTraceDistance = std::max(0.0f, options.ssct.startTraceDistance);
+ options.ssct.shadowDistance = std::max(0.0f, options.ssct.shadowDistance);
options.ssct.contactDistanceMax = std::max(0.0f, options.ssct.contactDistanceMax);
options.ssct.intensity = std::max(0.0f, options.ssct.intensity);
options.ssct.lightDirection = normalize(options.ssct.lightDirection);
diff --git a/filament/src/materials/ssao/sao.mat b/filament/src/materials/ssao/sao.mat
index 5a0a83145bf..9fedcb8f79c 100644
--- a/filament/src/materials/ssao/sao.mat
+++ b/filament/src/materials/ssao/sao.mat
@@ -82,8 +82,16 @@ material {
name : reserved
},
{
- type : float4,
- name : ssctConeTraceParams
+ type : float,
+ name : ssctShadowDistance
+ },
+ {
+ type : float,
+ name : ssctConeAngleTangeant
+ },
+ {
+ type : float,
+ name : ssctContactDistanceMaxInv
},
{
type : float3,
@@ -256,24 +264,31 @@ fragment {
float dominantLightShadowing(highp vec2 uv, highp vec3 origin, vec3 normal) {
ConeTraceSetup cone;
+
cone.ssStartPos = uv * materialParams.resolution.xy;
cone.vsStartPos = origin;
cone.vsNormal = normal;
+
+ cone.vsConeDirection = materialParams.ssctVsLightDirection;
+ cone.shadowDistance = materialParams.ssctShadowDistance;
+ cone.coneAngleTangeant = materialParams.ssctConeAngleTangeant;
+ cone.contactDistanceMaxInv = materialParams.ssctContactDistanceMaxInv;
+
cone.screenFromViewMatrix = materialParams.screenFromViewMatrix;
cone.depthParams = materialParams.depthParams;
- cone.vsConeDirection = materialParams.ssctVsLightDirection;
cone.projectionScale = materialParams.projectionScale;
cone.resolution = materialParams.resolution;
- cone.coneTraceParams = materialParams.ssctConeTraceParams;
+ cone.maxLevel = float(materialParams.maxLevel);
+
cone.intensity = materialParams.ssctIntensity;
cone.depthBias = materialParams.ssctDepthBias.x;
cone.slopeScaledDepthBias = materialParams.ssctDepthBias.y;
cone.sampleCount = materialParams.ssctSampleCount;
- cone.maxLevel = float(materialParams.maxLevel);
+
float occlusion = 0.0;
for (float i = 1.0; i <= materialParams.ssctRayCount.x; i += 1.0) {
cone.jitterOffset.x = random(gl_FragCoord.xy * i) * 2.0 - 1.0; // direction
- cone.jitterOffset.y = random(gl_FragCoord.xy * i * vec2(11, 3)); // step
+ cone.jitterOffset.y = random(gl_FragCoord.xy * i * vec2(3, 11)); // step
occlusion += coneTraceOcclusion(cone, materialParams_depth);
}
return occlusion * materialParams.ssctRayCount.y;
@@ -292,7 +307,7 @@ fragment {
occlusion = scalableAmbientObscurance(uv, origin, normal);
}
- if (materialParams.ssctConeTraceParams.x > 0.0) {
+ if (materialParams.ssctIntensity > 0.0) {
occlusion = max(occlusion, dominantLightShadowing(uv, origin, normal));
}
diff --git a/filament/src/materials/ssao/ssct.fs b/filament/src/materials/ssao/ssct.fs
index 944af1ec90c..7756fb61be1 100644
--- a/filament/src/materials/ssao/ssct.fs
+++ b/filament/src/materials/ssao/ssct.fs
@@ -5,7 +5,7 @@
#include "ssaoUtils.fs"
-const float kSSCTLog2LodRate = 4.0;
+const float kSSCTLog2LodRate = 3.0;
struct ConeTraceSetup {
// fragment info
@@ -15,7 +15,9 @@ struct ConeTraceSetup {
// light (cone) info
vec3 vsConeDirection;
- vec4 coneTraceParams; // { tan(angle), sin(angle), start trace distance, inverse max contact distance }
+ float shadowDistance;
+ float coneAngleTangeant;
+ float contactDistanceMaxInv;
vec2 jitterOffset; // (x = direction offset, y = step offset)
// scene infos
@@ -33,9 +35,18 @@ struct ConeTraceSetup {
};
highp float getWFromProjectionMatrix(const mat4 p, const vec3 v) {
- // this assumes a projection matrix perspective or ortho
- // returns (p * v).w
- return p[2][3] * v.z + p[3][3];
+ // this essentially returns (p * vec4(v, 1.0)).w, but we make some assumptions
+ // this assumes a perspective projection
+ return -v.z;
+ // this assumes a perspective or ortho projection
+ //return p[2][3] * v.z + p[3][3];
+}
+
+highp float getViewSpaceZFromW(const mat4 p, const float w) {
+ // this assumes a perspective projection
+ return -w;
+ // this assumes a perspective or ortho projection
+ return (w - p[3][3]) / p[2][3];
}
float coneTraceOcclusion(in ConeTraceSetup setup, const sampler2D depthTexture) {
@@ -49,63 +60,48 @@ float coneTraceOcclusion(in ConeTraceSetup setup, const sampler2D depthTexture)
// start position of cone trace
highp vec2 ssStartPos = setup.ssStartPos;
highp vec3 vsStartPos = setup.vsStartPos;
- highp float ssStartPosInvW = 1.0 / getWFromProjectionMatrix(setup.screenFromViewMatrix, vsStartPos);
+ highp float ssStartPosW = getWFromProjectionMatrix(setup.screenFromViewMatrix, vsStartPos);
+ highp float ssStartPosWInv = 1.0 / ssStartPosW;
// end position of cone trace
- highp vec3 vsEndPos = setup.vsConeDirection + vsStartPos;
+ highp vec3 vsEndPos = setup.vsConeDirection * setup.shadowDistance + vsStartPos;
highp float ssEndPosW = getWFromProjectionMatrix(setup.screenFromViewMatrix, vsEndPos);
- highp float ssEndPosInvW = 1.0 / ssEndPosW;
- highp vec2 ssEndPos = (setup.screenFromViewMatrix * vec4(vsEndPos, 1.0)).xy * ssEndPosInvW;
+ highp float ssEndPosWInv = 1.0 / ssEndPosW;
+ highp vec2 ssEndPos = (setup.screenFromViewMatrix * vec4(vsEndPos, 1.0)).xy * ssEndPosWInv;
// cone trace direction in screen-space
- float ssConeLength = length(ssEndPos - ssStartPos);
- float ssInvConeLength = 1.0 / ssConeLength;
- vec2 ssConeDirection = (ssEndPos - ssStartPos) * ssInvConeLength;
+ float ssConeLength = length(ssEndPos - ssStartPos); // do the math in highp
+ vec2 ssConeVector = ssEndPos - ssStartPos;
// direction perpendicular to cone trace direction
- vec2 perpConeDir = vec2(ssConeDirection.y, -ssConeDirection.x);
+ vec2 perpConeDir = normalize(vec2(ssConeVector.y, -ssConeVector.x));
+ float vsEndRadius = setup.coneAngleTangeant * setup.shadowDistance;
- // avoid self-occlusion and reduce banding artifacts by normal variation
- vec3 vsViewVector = normalize(vsStartPos);
- float minTraceDistance = (1.0 - abs(dot(setup.vsNormal, vsViewVector))) * setup.projectionScale * 0.005;
+ // normalized step
+ highp float dt = 1.0 / float(setup.sampleCount);
- // init trace distance and sample radius
- highp float invLinearDepth = 1.0 / -setup.vsStartPos.z;
- highp float ssTracedDistance = max(setup.coneTraceParams.z, minTraceDistance) * invLinearDepth;
-
- float ssSampleRadius = setup.coneTraceParams.y * ssTracedDistance;
- float ssEndRadius = setup.coneTraceParams.y * ssConeLength;
- float vsEndRadius = ssEndRadius * (1.0 / setup.projectionScale) * invLinearDepth * ssEndPosW;
+ // normalized (0 to 1) screen-space postion on the ray
+ highp float t = dt * setup.jitterOffset.y;
// calculate depth bias
float vsDepthBias = saturate(1.0 - NoL) * setup.slopeScaledDepthBias + setup.depthBias;
float occlusion = 0.0;
- for (uint i = 0u; i < setup.sampleCount; i++) {
- // step along cone in screen space
- float ssNextSampleRadius = ssSampleRadius * (ssSampleRadius + ssTracedDistance) / (ssTracedDistance - ssSampleRadius);
- float ssStepDistance = ssSampleRadius + ssNextSampleRadius;
- ssSampleRadius = ssNextSampleRadius;
-
- // apply jitter offset
- float ssJitterStepDistance = ssStepDistance * setup.jitterOffset.y;
- float ssJitteredTracedDistance = ssTracedDistance + ssJitterStepDistance;
- float ssJitteredSampleRadius = setup.jitterOffset.x * setup.coneTraceParams.x * ssJitteredTracedDistance;
- ssTracedDistance += ssStepDistance;
-
- // sample depth buffer, using lower LOD as the radius (i.e. distance from origin) grows
- highp vec2 ssSamplePos = perpConeDir * ssJitteredSampleRadius + ssConeDirection * ssJitteredTracedDistance + ssStartPos;
- float level = clamp(floor(log2(ssJitteredTracedDistance)) - kSSCTLog2LodRate, 0.0, setup.maxLevel);
- float vsSampleDepthLinear = -sampleDepthLinear(depthTexture, ssSamplePos * setup.resolution.zw, level, setup.depthParams);
+ for (uint i = 0u; i < setup.sampleCount; i++, t += dt) {
+ float ssTracedDistance = ssConeLength * t;
+ float ssSliceRadius = setup.jitterOffset.x * (setup.coneAngleTangeant * ssTracedDistance);
+ highp vec2 ssSamplePos = perpConeDir * ssSliceRadius + ssConeVector * t + ssStartPos;
- // calculate depth of cone center
- float ratio = ssJitteredTracedDistance * ssInvConeLength;
- float vsConeAxisDepth = 1.0 / mix(ssStartPosInvW, ssEndPosInvW, ratio);
+ float level = clamp(floor(log2(ssSliceRadius)) - kSSCTLog2LodRate, 0.0, float(setup.maxLevel));
+ float vsSampleDepthLinear = -sampleDepthLinear(depthTexture, ssSamplePos * setup.resolution.zw, 0.0, setup.depthParams);
// calculate depth range of cone slice
- float vsConeRadius = (ratio * vsEndRadius) * vsConeAxisDepth;
- float vsJitteredSampleRadius = vsConeRadius * setup.jitterOffset.x;
- float vsSliceHalfRange = sqrt(vsConeRadius * vsConeRadius - vsJitteredSampleRadius * vsJitteredSampleRadius);
+ float vsSliceRadius = vsEndRadius * t;
+
+ // calculate depth of cone center
+ float vsConeAxisDepth = -getViewSpaceZFromW(setup.screenFromViewMatrix, 1.0 / mix(ssStartPosWInv, ssEndPosWInv, t));
+ float vsJitteredSampleRadius = vsSliceRadius * setup.jitterOffset.x;
+ float vsSliceHalfRange = sqrt(vsSliceRadius * vsSliceRadius - vsJitteredSampleRadius * vsJitteredSampleRadius);
float vsSampleDepthMax = vsConeAxisDepth + vsSliceHalfRange;
// calculate overlap of depth buffer height-field with trace cone
@@ -113,13 +109,12 @@ float coneTraceOcclusion(in ConeTraceSetup setup, const sampler2D depthTexture)
float overlap = saturate((vsDepthDifference - vsDepthBias) / (vsSliceHalfRange * 2.0));
// attenuate by distance to avoid false occlusion
- float attenuation = saturate(1.0 - (vsDepthDifference * setup.coneTraceParams.w));
+ float attenuation = saturate(1.0 - (vsDepthDifference * setup.contactDistanceMaxInv));
occlusion = max(occlusion, overlap * attenuation);
-
if (occlusion >= 1.0) { // note: this can't get > 1.0 by construction
// fully occluded, early exit
break;
}
}
return occlusion * setup.intensity;
-}
\ No newline at end of file
+}
diff --git a/libs/viewer/src/Settings.cpp b/libs/viewer/src/Settings.cpp
index 015498e8d4b..ed5065671e6 100644
--- a/libs/viewer/src/Settings.cpp
+++ b/libs/viewer/src/Settings.cpp
@@ -289,8 +289,8 @@ static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk,
i = parse(tokens, i + 1, jsonChunk, &out->enabled);
} else if (compare(tok, jsonChunk, "lightConeRad") == 0) {
i = parse(tokens, i + 1, jsonChunk, &out->lightConeRad);
- } else if (compare(tok, jsonChunk, "startTraceDistance") == 0) {
- i = parse(tokens, i + 1, jsonChunk, &out->startTraceDistance);
+ } else if (compare(tok, jsonChunk, "shadowDistance") == 0) {
+ i = parse(tokens, i + 1, jsonChunk, &out->shadowDistance);
} else if (compare(tok, jsonChunk, "contactDistanceMax") == 0) {
i = parse(tokens, i + 1, jsonChunk, &out->contactDistanceMax);
} else if (compare(tok, jsonChunk, "intensity") == 0) {
@@ -758,7 +758,7 @@ std::string writeJson(const AmbientOcclusionOptions::Ssct& in) {
oss << "{\n"
<< "\"enabled\": " << writeJson(in.enabled) << ",\n"
<< "\"lightConeRad\": " << writeJson(in.lightConeRad) << ",\n"
- << "\"startTraceDistance\": " << writeJson(in.startTraceDistance) << ",\n"
+ << "\"shadowDistance\": " << writeJson(in.shadowDistance) << ",\n"
<< "\"contactDistanceMax\": " << writeJson(in.contactDistanceMax) << ",\n"
<< "\"intensity\": " << writeJson(in.intensity) << ",\n"
<< "\"lightDirection\": " << writeJson(in.lightDirection) << ",\n"
diff --git a/libs/viewer/src/SimpleViewer.cpp b/libs/viewer/src/SimpleViewer.cpp
index 26ed8a11689..2cfb7fd1175 100644
--- a/libs/viewer/src/SimpleViewer.cpp
+++ b/libs/viewer/src/SimpleViewer.cpp
@@ -314,7 +314,7 @@ void SimpleViewer::updateUserInterface() {
int sampleCount = ssao.ssct.sampleCount;
ImGui::Checkbox("Enabled##dls", &ssao.ssct.enabled);
ImGui::SliderFloat("Cone angle", &ssao.ssct.lightConeRad, 0.0f, (float)M_PI_2);
- ImGui::SliderFloat("Start dist", &ssao.ssct.startTraceDistance, 0.0f, 1.0f);
+ ImGui::SliderFloat("Shadow Distance", &ssao.ssct.shadowDistance, 0.0f, 10.0f);
ImGui::SliderFloat("Contact dist max", &ssao.ssct.contactDistanceMax, 0.0f, 100.0f);
ImGui::SliderFloat("Intensity##dls", &ssao.ssct.intensity, 0.0f, 10.0f);
ImGui::SliderFloat("Depth bias", &ssao.ssct.depthBias, 0.0f, 1.0f);
diff --git a/libs/viewer/tests/test_settings.cpp b/libs/viewer/tests/test_settings.cpp
index 70d3babde09..a91a502ca5c 100644
--- a/libs/viewer/tests/test_settings.cpp
+++ b/libs/viewer/tests/test_settings.cpp
@@ -70,7 +70,7 @@ static const char* JSON_TEST_DEFAULTS = R"TXT(
"ssct": {
"enabled": false,
"lightConeRad": 1.0,
- "startTraceDistance": 0.01,
+ "shadowDistance": 0.3,
"contactDistanceMax": 1.0,
"intensity": 0.8,
"lightDirection": [0, -1, 0],
diff --git a/samples/material_sandbox.cpp b/samples/material_sandbox.cpp
index e0138c08be2..b92ff405406 100644
--- a/samples/material_sandbox.cpp
+++ b/samples/material_sandbox.cpp
@@ -623,7 +623,7 @@ static void gui(filament::Engine* engine, filament::View*) {
int rayCount = params.ssaoOptions.ssct.rayCount;
ImGui::Checkbox("Enabled##dls", ¶ms.ssaoOptions.ssct.enabled);
ImGui::SliderFloat("Cone angle", ¶ms.ssaoOptions.ssct.lightConeRad, 0.0f, (float)M_PI_2);
- ImGui::SliderFloat("Start dist", ¶ms.ssaoOptions.ssct.startTraceDistance, 0.0f, 1.0f);
+ ImGui::SliderFloat("Shadow Distance", ¶ms.ssaoOptions.ssct.shadowDistance, 0.0f, 10.0f);
ImGui::SliderFloat("Contact dist max", ¶ms.ssaoOptions.ssct.contactDistanceMax, 0.0f, 100.0f);
ImGui::SliderFloat("Intensity##dls", ¶ms.ssaoOptions.ssct.intensity, 0.0f, 10.0f);
ImGui::SliderFloat("Depth bias", ¶ms.ssaoOptions.ssct.depthBias, 0.0f, 1.0f);
diff --git a/shaders/src/shadowing.fs b/shaders/src/shadowing.fs
index 9915fccf9d3..093bf4e2048 100644
--- a/shaders/src/shadowing.fs
+++ b/shaders/src/shadowing.fs
@@ -256,9 +256,9 @@ void initScreenSpaceRay(out ScreenSpaceRay ray, highp vec3 wsRayStart, vec3 wsRa
highp vec4 csViewRayEnd = csRayStart + viewToClip * vec4(0.0, 0.0, wsRayLength, 0.0);
// ray start/end in screen space
- ray.ssRayStart = csRayStart.xyz * 1.0 / csRayStart.w;
- ray.ssRayEnd = csRayEnd.xyz * 1.0 / csRayEnd.w;
- ray.ssViewRayEnd = csViewRayEnd.xyz * 1.0 / csViewRayEnd.w;
+ ray.ssRayStart = csRayStart.xyz * (1.0 / csRayStart.w);
+ ray.ssRayEnd = csRayEnd.xyz * (1.0 / csRayEnd.w);
+ ray.ssViewRayEnd = csViewRayEnd.xyz * (1.0 / csViewRayEnd.w);
// convert all to uv (texture) space
highp vec3 uvRayEnd = ray.ssRayEnd.xyz * 0.5 + 0.5;
From 665828361714ebebf6636dfa2d4d7533b2010106 Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Wed, 30 Sep 2020 14:13:07 -0700
Subject: [PATCH 31/44] FilamentApp: Do not call postRender when skipping.
---
libs/filamentapp/src/FilamentApp.cpp | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/libs/filamentapp/src/FilamentApp.cpp b/libs/filamentapp/src/FilamentApp.cpp
index e52564b85d5..2521bf6a27a 100644
--- a/libs/filamentapp/src/FilamentApp.cpp
+++ b/libs/filamentapp/src/FilamentApp.cpp
@@ -393,16 +393,19 @@ void FilamentApp::run(const Config& config, SetupCallback setupCallback,
renderer->render(view->getView());
}
renderer->endFrame();
- } else {
- ++mSkippedFrames;
- }
- if (postRender) {
- for (auto const& view : window->mViews) {
- if (view.get() != window->mUiView) {
- postRender(mEngine, view->getView(), mScene, renderer);
+ // We call PostRender only when the frame has not been skipped. It might be used
+ // for taking screenshots under the assumption that a state change has taken effect.
+ if (postRender) {
+ for (auto const& view : window->mViews) {
+ if (view.get() != window->mUiView) {
+ postRender(mEngine, view->getView(), mScene, renderer);
+ }
}
}
+
+ } else {
+ ++mSkippedFrames;
}
}
From fd142b9b84dd371e1ae344af19dcdacdca601d87 Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Thu, 1 Oct 2020 13:46:06 -0700
Subject: [PATCH 32/44] gltf_viewer: add --settings, prep for automation.
---
.gitignore | 1 +
libs/viewer/include/viewer/Settings.h | 10 ++-
libs/viewer/src/Automation.cpp | 2 +-
libs/viewer/src/Settings.cpp | 37 +++++++++
libs/viewer/src/SimpleViewer.cpp | 12 +--
samples/CMakeLists.txt | 2 +-
samples/gltf_viewer.cpp | 110 ++++++++++++++++----------
7 files changed, 118 insertions(+), 56 deletions(-)
diff --git a/.gitignore b/.gitignore
index adc1544963f..b40cdadf164 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@ filament/docs/html/**
*tmp*.png
civetweb.txt
/TAGS
+settings.json
diff --git a/libs/viewer/include/viewer/Settings.h b/libs/viewer/include/viewer/Settings.h
index aaefb074020..b5b02b6f06d 100644
--- a/libs/viewer/include/viewer/Settings.h
+++ b/libs/viewer/include/viewer/Settings.h
@@ -51,6 +51,12 @@ using VignetteOptions = filament::View::VignetteOptions;
// - This function writes warnings and error messages into the utils log.
bool readJson(const char* jsonChunk, size_t size, Settings* out);
+// Pushes all properties to a Filament View modulo the immutable ones (e.g. ColorGrading).
+void applySettings(const ViewSettings& settings, View* dest);
+
+// Creates a new ColorGrading object based on the given settings.
+ColorGrading* createColorGrading(const ColorGradingSettings& settings, Engine* engine);
+
// Generates human-readable JSON strings from settings objects.
std::string writeJson(const AmbientOcclusionOptions& in);
std::string writeJson(const BloomOptions& in);
@@ -68,8 +74,8 @@ struct ColorGradingSettings {
bool enabled = true;
filament::ColorGrading::QualityLevel quality = filament::ColorGrading::QualityLevel::MEDIUM;
ToneMapping toneMapping = ToneMapping::ACES_LEGACY;
- int temperature = 0;
- int tint = 0;
+ float temperature = 0;
+ float tint = 0;
math::float3 outRed{1.0f, 0.0f, 0.0f};
math::float3 outGreen{0.0f, 1.0f, 0.0f};
math::float3 outBlue{0.0f, 0.0f, 1.0f};
diff --git a/libs/viewer/src/Automation.cpp b/libs/viewer/src/Automation.cpp
index c16adcf8a01..79673c6b39f 100644
--- a/libs/viewer/src/Automation.cpp
+++ b/libs/viewer/src/Automation.cpp
@@ -50,7 +50,7 @@ static const char* DEFAULT_AUTOMATION = R"TXT([
"view.dithering": ["NONE", "TEMPORAL"],
"view.sampleCount": [1, 4],
"view.taa.enabled": [false, true],
- "view.antiAliasing": ["FXAA", "NONE"],
+ "view.antiAliasing": ["NONE", "FXAA"],
"view.ssao.enabled": [false, true],
"view.bloom.enabled": [false, true]
}
diff --git a/libs/viewer/src/Settings.cpp b/libs/viewer/src/Settings.cpp
index ed5065671e6..0314137f2d0 100644
--- a/libs/viewer/src/Settings.cpp
+++ b/libs/viewer/src/Settings.cpp
@@ -613,6 +613,43 @@ bool readJson(const char* jsonChunk, size_t size, Settings* out) {
return i >= 0;
}
+void applySettings(const ViewSettings& settings, View* dest) {
+ dest->setSampleCount(settings.sampleCount);
+ dest->setAntiAliasing(settings.antiAliasing);
+ dest->setTemporalAntiAliasingOptions(settings.taa);
+ dest->setAmbientOcclusionOptions(settings.ssao);
+ dest->setBloomOptions(settings.bloom);
+ dest->setFogOptions(settings.fog);
+ dest->setDepthOfFieldOptions(settings.dof);
+ dest->setVignetteOptions(settings.vignette);
+ dest->setDithering(settings.dithering);
+ dest->setRenderQuality(settings.renderQuality);
+ dest->setDynamicLightingOptions(settings.dynamicLighting.zLightNear,
+ settings.dynamicLighting.zLightFar);
+ dest->setShadowType(settings.shadowType);
+ dest->setPostProcessingEnabled(settings.postProcessingEnabled);
+}
+
+ColorGrading* createColorGrading(const ColorGradingSettings& settings, Engine* engine) {
+ return ColorGrading::Builder()
+ .quality(settings.quality)
+ .whiteBalance(settings.temperature, settings.tint)
+ .channelMixer(settings.outRed, settings.outGreen, settings.outBlue)
+ .shadowsMidtonesHighlights(
+ Color::toLinear(settings.shadows),
+ Color::toLinear(settings.midtones),
+ Color::toLinear(settings.highlights),
+ settings.ranges
+ )
+ .slopeOffsetPower(settings.slope, settings.offset, settings.power)
+ .contrast(settings.contrast)
+ .vibrance(settings.vibrance)
+ .saturation(settings.saturation)
+ .curves(settings.gamma, settings.midPoint, settings.scale)
+ .toneMapping(settings.toneMapping)
+ .build(*engine);
+}
+
static std::string writeJson(bool v) { return v ? "true" : "false"; }
static std::string writeJson(float v) { return std::to_string(v); }
static std::string writeJson(int v) { return std::to_string(v); }
diff --git a/libs/viewer/src/SimpleViewer.cpp b/libs/viewer/src/SimpleViewer.cpp
index 2cfb7fd1175..c64745a9b58 100644
--- a/libs/viewer/src/SimpleViewer.cpp
+++ b/libs/viewer/src/SimpleViewer.cpp
@@ -368,13 +368,9 @@ void SimpleViewer::updateUserInterface() {
ImGui::Unindent();
}
- mView->setDithering(mViewSettings.dithering);
- mView->setAntiAliasing(mViewSettings.antiAliasing);
- mView->setSampleCount(mViewSettings.sampleCount);
- mView->setAmbientOcclusionOptions(mViewSettings.ssao);
- mView->setBloomOptions(mViewSettings.bloom);
- mView->setFogOptions(mViewSettings.fog);
- mView->setTemporalAntiAliasingOptions(mViewSettings.taa);
+ // At this point, all View settings have been modified,
+ // so we can now push them into the Filament View.
+ applySettings(mViewSettings, mView);
if (mEnableSunlight) {
mScene->addEntity(mSunlight);
@@ -400,8 +396,6 @@ void SimpleViewer::updateUserInterface() {
lm.setShadowCaster(ci, mEnableShadows);
});
- mView->setShadowType(mViewSettings.shadowType);
-
if (mAsset != nullptr) {
if (ImGui::CollapsingHeader("Hierarchy")) {
ImGui::Indent();
diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt
index feb27bbc5f6..fafa17407a6 100644
--- a/samples/CMakeLists.txt
+++ b/samples/CMakeLists.txt
@@ -240,7 +240,7 @@ if (NOT ANDROID)
# Sample app specific
target_link_libraries(frame_generator PRIVATE imageio)
- target_link_libraries(gltf_viewer PRIVATE gltf-resources gltfio viewer)
+ target_link_libraries(gltf_viewer PRIVATE gltf-resources gltfio viewer imageio)
target_link_libraries(gltf_instances PRIVATE gltf-resources gltfio viewer)
target_link_libraries(hellopbr PRIVATE filameshio suzanne-resources)
target_link_libraries(sample_cloth PRIVATE filameshio)
diff --git a/samples/gltf_viewer.cpp b/samples/gltf_viewer.cpp
index 87b4364b115..b5f1ff0a9d4 100644
--- a/samples/gltf_viewer.cpp
+++ b/samples/gltf_viewer.cpp
@@ -34,6 +34,11 @@
#include
#include
+#include
+
+#include
+
+#include
#include
#include
@@ -52,6 +57,7 @@
#include
#include
+#include
#include
#include "generated/resources/gltf_viewer.h"
@@ -61,6 +67,7 @@ using namespace filament::math;
using namespace filament::viewer;
using namespace gltfio;
+using namespace image;
using namespace utils;
struct App {
@@ -91,9 +98,6 @@ struct App {
sRGBColor backgroundColor = { 0.0f };
} viewOptions;
- View::DepthOfFieldOptions dofOptions;
- View::VignetteOptions vignetteOptions;
-
struct Scene {
Entity groundPlane;
VertexBuffer* groundVertexBuffer;
@@ -111,6 +115,9 @@ struct App {
// 0 is the default "free camera". Additional cameras come from the gltf file.
int currentCamera = 0;
+
+ std::string messageBoxText;
+ std::string settingsFile;
};
static const char* DEFAULT_IBL = "default_env";
@@ -132,6 +139,8 @@ static void printUsage(char* name) {
" Do not scale the model to fit into a unit cube\n\n"
" --recompute-aabb, -r\n"
" Ignore the min/max attributes in the glTF file\n\n"
+ " --settings=, -t\n"
+ " Apply the settings in the given JSON file.\n\n"
" --ubershader, -u\n"
" Enable ubershaders (improves load time, adds shader complexity)\n\n"
" --camera=, -c \n"
@@ -151,7 +160,7 @@ static void printUsage(char* name) {
}
static int handleCommandLineArguments(int argc, char* argv[], App* app) {
- static constexpr const char* OPTSTR = "ha:i:usc:r";
+ static constexpr const char* OPTSTR = "ha:i:usc:rt:";
static const struct option OPTIONS[] = {
{ "help", no_argument, nullptr, 'h' },
{ "api", required_argument, nullptr, 'a' },
@@ -160,6 +169,7 @@ static int handleCommandLineArguments(int argc, char* argv[], App* app) {
{ "actual-size", no_argument, nullptr, 's' },
{ "camera", required_argument, nullptr, 'c' },
{ "recompute-aabb", no_argument, nullptr, 'r' },
+ { "settings", optional_argument, nullptr, 't' },
{ nullptr, 0, nullptr, 0 }
};
int opt;
@@ -203,6 +213,12 @@ static int handleCommandLineArguments(int argc, char* argv[], App* app) {
case 'r':
app->recomputeAabb = true;
break;
+ case 't':
+ if (arg.empty()) {
+ arg = "settings.json";
+ }
+ app->settingsFile = arg;
+ break;
}
}
return optind;
@@ -213,6 +229,19 @@ static std::ifstream::pos_type getFileSize(const char* filename) {
return in.tellg();
}
+static bool loadSettings(const char* filename, Settings* out) {
+ auto contentSize = getFileSize(filename);
+ if (contentSize <= 0) {
+ return false;
+ }
+ std::ifstream in(filename, std::ifstream::binary | std::ifstream::in);
+ std::vector json(static_cast(contentSize));
+ if (!in.read(json.data(), contentSize)) {
+ return false;
+ }
+ return readJson(json.data(), contentSize, out);
+}
+
static void createGroundPlane(Engine* engine, Scene* scene, App& app) {
auto& em = EntityManager::get();
Material* shadowMaterial = Material::Builder()
@@ -402,8 +431,8 @@ static void colorGradingUI(App& app) {
colorGrading.toneMapping = (decltype(colorGrading.toneMapping)) toneMapping;
if (ImGui::CollapsingHeader("White balance")) {
- ImGui::SliderInt("Temperature", &colorGrading.temperature, -100, 100);
- ImGui::SliderInt("Tint", &colorGrading.tint, -100, 100);
+ ImGui::SliderFloat("Temperature", &colorGrading.temperature, -1.0f, 1.0f);
+ ImGui::SliderFloat("Tint", &colorGrading.tint, -1.0f, 1.0f);
}
if (ImGui::CollapsingHeader("Channel mixer")) {
pushSliderColors(0.0f / 7.0f);
@@ -633,6 +662,18 @@ int main(int argc, char** argv) {
app.engine = engine;
app.names = new NameComponentManager(EntityManager::get());
app.viewer = new SimpleViewer(engine, scene, view, 410);
+
+ if (app.settingsFile.size() > 0) {
+ Settings settings;
+ bool success = loadSettings(app.settingsFile.c_str(), &settings);
+ if (success) {
+ std::cout << "Loaded settings from " << app.settingsFile << std::endl;
+ app.viewer->getViewSettings() = settings.view;
+ } else {
+ std::cerr << "Failed to load settings from " << app.settingsFile << std::endl;
+ }
+ }
+
app.materials = (app.materialSource == GENERATE_SHADERS) ?
createMaterialGenerator(engine) : createUbershaderLoader(engine);
app.loader = AssetLoader::create({engine, app.materials, app.names });
@@ -675,21 +716,23 @@ int main(int argc, char** argv) {
}
if (ImGui::CollapsingHeader("Camera")) {
+ ViewSettings& settings = app.viewer->getViewSettings();
+
ImGui::Indent();
ImGui::SliderFloat("Focal length (mm)", &FilamentApp::get().getCameraFocalLength(), 16.0f, 90.0f);
ImGui::SliderFloat("Aperture", &app.viewOptions.cameraAperture, 1.0f, 32.0f);
ImGui::SliderFloat("Speed (1/s)", &app.viewOptions.cameraSpeed, 1000.0f, 1.0f);
ImGui::SliderFloat("ISO", &app.viewOptions.cameraISO, 25.0f, 6400.0f);
- ImGui::Checkbox("DoF", &app.dofOptions.enabled);
- ImGui::SliderFloat("Focus distance", &app.dofOptions.focusDistance, 0.0f, 30.0f);
- ImGui::SliderFloat("Blur scale", &app.dofOptions.cocScale, 0.1f, 10.0f);
+ ImGui::Checkbox("DoF", &settings.dof.enabled);
+ ImGui::SliderFloat("Focus distance", &settings.dof.focusDistance, 0.0f, 30.0f);
+ ImGui::SliderFloat("Blur scale", &settings.dof.cocScale, 0.1f, 10.0f);
if (ImGui::CollapsingHeader("Vignette")) {
- ImGui::Checkbox("Enabled##vignetteEnabled", &app.vignetteOptions.enabled);
- ImGui::SliderFloat("Mid point", &app.vignetteOptions.midPoint, 0.0f, 1.0f);
- ImGui::SliderFloat("Roundness", &app.vignetteOptions.roundness, 0.0f, 1.0f);
- ImGui::SliderFloat("Feather", &app.vignetteOptions.feather, 0.0f, 1.0f);
- ImGui::ColorEdit3("Color##vignetteColor", &app.vignetteOptions.color.r);
+ ImGui::Checkbox("Enabled##vignetteEnabled", &settings.vignette.enabled);
+ ImGui::SliderFloat("Mid point", &settings.vignette.midPoint, 0.0f, 1.0f);
+ ImGui::SliderFloat("Roundness", &settings.vignette.roundness, 0.0f, 1.0f);
+ ImGui::SliderFloat("Feather", &settings.vignette.feather, 0.0f, 1.0f);
+ ImGui::ColorEdit3("Color##vignetteColor", &settings.vignette.color.r);
}
const utils::Entity* cameras = app.asset->getCameraEntities();
@@ -721,11 +764,15 @@ int main(int argc, char** argv) {
}
colorGradingUI(app);
- });
- // Leave FXAA enabled but we also enable MSAA for a nice result. The wireframe looks
- // much better with MSAA enabled.
- view->setSampleCount(4);
+ if (ImGui::BeginPopupModal("MessageBox", NULL, ImGuiWindowFlags_AlwaysAutoResize)) {
+ ImGui::Text("%s", app.messageBoxText.c_str());
+ if (ImGui::Button("OK", ImVec2(120, 0))) {
+ ImGui::CloseCurrentPopup();
+ }
+ ImGui::EndPopup();
+ }
+ });
};
auto cleanup = [&app](Engine* engine, View*, Scene*) {
@@ -805,9 +852,6 @@ int main(int argc, char** argv) {
1.0f / app.viewOptions.cameraSpeed,
app.viewOptions.cameraISO);
- view->setDepthOfFieldOptions(app.dofOptions);
- view->setVignetteOptions(app.vignetteOptions);
-
app.scene.groundMaterial->setDefaultParameter(
"strength", app.viewOptions.groundShadowStrength);
@@ -828,28 +872,8 @@ int main(int argc, char** argv) {
// An inefficient but simple way of detecting change is to serialize to JSON, then
// do a string comparison.
if (writeJson(options) != writeJson(app.lastColorGradingOptions)) {
- ColorGrading *colorGrading = ColorGrading::Builder()
- .quality(options.quality)
- .whiteBalance(options.temperature / 100.0f, options.tint / 100.0f)
- .channelMixer(options.outRed, options.outGreen, options.outBlue)
- .shadowsMidtonesHighlights(
- Color::toLinear(options.shadows),
- Color::toLinear(options.midtones),
- Color::toLinear(options.highlights),
- options.ranges
- )
- .slopeOffsetPower(options.slope, options.offset, options.power)
- .contrast(options.contrast)
- .vibrance(options.vibrance)
- .saturation(options.saturation)
- .curves(options.gamma, options.midPoint, options.scale)
- .toneMapping(options.toneMapping)
- .build(*engine);
-
- if (app.colorGrading) {
- engine->destroy(app.colorGrading);
- }
-
+ ColorGrading *colorGrading = createColorGrading(options, engine);
+ engine->destroy(app.colorGrading);
app.colorGrading = colorGrading;
app.lastColorGradingOptions = options;
}
From d05fb52ebfab36ab0d1b8e30652e67c9d65ab32c Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Thu, 1 Oct 2020 14:23:21 -0700
Subject: [PATCH 33/44] gltf_viewer: use integers for Temperature / Tint.
---
samples/gltf_viewer.cpp | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/samples/gltf_viewer.cpp b/samples/gltf_viewer.cpp
index b5f1ff0a9d4..6671e7c95fb 100644
--- a/samples/gltf_viewer.cpp
+++ b/samples/gltf_viewer.cpp
@@ -431,9 +431,14 @@ static void colorGradingUI(App& app) {
colorGrading.toneMapping = (decltype(colorGrading.toneMapping)) toneMapping;
if (ImGui::CollapsingHeader("White balance")) {
- ImGui::SliderFloat("Temperature", &colorGrading.temperature, -1.0f, 1.0f);
- ImGui::SliderFloat("Tint", &colorGrading.tint, -1.0f, 1.0f);
+ int temperature = colorGrading.temperature * 100.0f;
+ int tint = colorGrading.tint * 100.0f;
+ ImGui::SliderInt("Temperature", &temperature, -100, 100);
+ ImGui::SliderInt("Tint", &tint, -100, 100);
+ colorGrading.temperature = temperature / 100.0f;
+ colorGrading.tint = tint / 100.0f;
}
+
if (ImGui::CollapsingHeader("Channel mixer")) {
pushSliderColors(0.0f / 7.0f);
ImGui::VSliderFloat("##outRed.r", verticalSliderSize, &colorGrading.outRed.r, -2.0f, 2.0f, "");
From 8a865e531ecf4bc30852e34d83b1fded321a21b4 Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Thu, 1 Oct 2020 17:12:06 -0700
Subject: [PATCH 34/44] gltf_viewer: minor refactoring
---
libs/viewer/include/viewer/SimpleViewer.h | 16 +++----
libs/viewer/src/SimpleViewer.cpp | 56 +++++++++++------------
samples/gltf_viewer.cpp | 16 +++----
3 files changed, 43 insertions(+), 45 deletions(-)
diff --git a/libs/viewer/include/viewer/SimpleViewer.h b/libs/viewer/include/viewer/SimpleViewer.h
index 68b3e5e36ac..b014eb87606 100644
--- a/libs/viewer/include/viewer/SimpleViewer.h
+++ b/libs/viewer/include/viewer/SimpleViewer.h
@@ -136,7 +136,7 @@ class SimpleViewer {
* Defaults to true.
*/
void enableDithering(bool b) {
- mViewSettings.dithering = b ? Dithering::TEMPORAL : Dithering::NONE;
+ mSettings.view.dithering = b ? Dithering::TEMPORAL : Dithering::NONE;
}
/**
@@ -144,26 +144,26 @@ class SimpleViewer {
* Defaults to true.
*/
void enableFxaa(bool b) {
- mViewSettings.antiAliasing = b ? AntiAliasing::FXAA : AntiAliasing::NONE;
+ mSettings.view.antiAliasing = b ? AntiAliasing::FXAA : AntiAliasing::NONE;
}
/**
* Enables hardware-based MSAA antialiasing.
* Defaults to true.
*/
- void enableMsaa(bool b) { mViewSettings.sampleCount = b ? 4 : 1; }
+ void enableMsaa(bool b) { mSettings.view.sampleCount = b ? 4 : 1; }
/**
* Enables screen-space ambient occlusion in the post-process pipeline.
* Defaults to true.
*/
- void enableSSAO(bool b) { mViewSettings.ssao.enabled = b; }
+ void enableSSAO(bool b) { mSettings.view.ssao.enabled = b; }
/**
* Enables Bloom.
* Defaults to true.
*/
- void enableBloom(bool bloom) { mViewSettings.bloom.enabled = bloom; }
+ void enableBloom(bool bloom) { mSettings.view.bloom.enabled = bloom; }
/**
* Adjusts the intensity of the IBL.
@@ -173,9 +173,9 @@ class SimpleViewer {
void setIBLIntensity(float brightness) { mIblIntensity = brightness; }
/**
- * Gets a modifiable reference to stashed View state.
+ * Gets a modifiable reference to stashed state.
*/
- ViewSettings& getViewSettings() { return mViewSettings; }
+ Settings& getSettings() { return mSettings; }
private:
void updateIndirectLight();
@@ -207,7 +207,7 @@ class SimpleViewer {
bool mEnableContactShadows = false;
int mVsmMsaaSamplesLog2 = 1;
std::array mSplitPositions = {0.25f, 0.50f, 0.75f};
- ViewSettings mViewSettings;
+ Settings mSettings;
int mSidebarWidth;
uint32_t mFlags;
};
diff --git a/libs/viewer/src/SimpleViewer.cpp b/libs/viewer/src/SimpleViewer.cpp
index c64745a9b58..4fd9260401a 100644
--- a/libs/viewer/src/SimpleViewer.cpp
+++ b/libs/viewer/src/SimpleViewer.cpp
@@ -54,12 +54,12 @@ SimpleViewer::SimpleViewer(filament::Engine* engine, filament::Scene* scene, fil
mSunlight(utils::EntityManager::get().create()),
mSidebarWidth(sidebarWidth) {
- mViewSettings.shadowType = ShadowType::PCF;
- mViewSettings.dithering = Dithering::TEMPORAL;
- mViewSettings.antiAliasing = AntiAliasing::FXAA;
- mViewSettings.sampleCount = 4;
- mViewSettings.ssao.enabled = true;
- mViewSettings.bloom.enabled = true;
+ mSettings.view.shadowType = ShadowType::PCF;
+ mSettings.view.dithering = Dithering::TEMPORAL;
+ mSettings.view.antiAliasing = AntiAliasing::FXAA;
+ mSettings.view.sampleCount = 4;
+ mSettings.view.ssao.enabled = true;
+ mSettings.view.bloom.enabled = true;
using namespace filament;
LightManager::Builder(LightManager::Type::SUN)
@@ -125,7 +125,7 @@ void SimpleViewer::removeAsset() {
void SimpleViewer::setIndirectLight(filament::IndirectLight* ibl,
filament::math::float3 const* sh3) {
using namespace filament::math;
- mViewSettings.fog.color = sh3[0];
+ mSettings.view.fog.color = sh3[0];
mIndirectLight = ibl;
if (ibl) {
float3 d = filament::IndirectLight::getDirectionEstimate(sh3);
@@ -271,31 +271,31 @@ void SimpleViewer::updateUserInterface() {
if (ImGui::CollapsingHeader("View")) {
ImGui::Indent();
- bool dither = mViewSettings.dithering == Dithering::TEMPORAL;
+ bool dither = mSettings.view.dithering == Dithering::TEMPORAL;
ImGui::Checkbox("Dithering", &dither);
enableDithering(dither);
- bool msaa = mViewSettings.sampleCount != 1;
+ bool msaa = mSettings.view.sampleCount != 1;
ImGui::Checkbox("MSAA 4x", &msaa);
enableMsaa(msaa);
- ImGui::Checkbox("TAA", &mViewSettings.taa.enabled);
+ ImGui::Checkbox("TAA", &mSettings.view.taa.enabled);
// this clutters the UI and isn't that useful (except when working on TAA)
//ImGui::Indent();
- //ImGui::SliderFloat("feedback", &mViewSettings.taa.feedback, 0.0f, 1.0f);
- //ImGui::SliderFloat("filter", &mViewSettings.taa.filterWidth, 0.0f, 2.0f);
+ //ImGui::SliderFloat("feedback", &mSettings.view.taa.feedback, 0.0f, 1.0f);
+ //ImGui::SliderFloat("filter", &mSettings.view.taa.filterWidth, 0.0f, 2.0f);
//ImGui::Unindent();
- bool fxaa = mViewSettings.antiAliasing == AntiAliasing::FXAA;
+ bool fxaa = mSettings.view.antiAliasing == AntiAliasing::FXAA;
ImGui::Checkbox("FXAA", &fxaa);
enableFxaa(fxaa);
- ImGui::Checkbox("SSAO", &mViewSettings.ssao.enabled);
- ImGui::Checkbox("Bloom", &mViewSettings.bloom.enabled);
+ ImGui::Checkbox("SSAO", &mSettings.view.ssao.enabled);
+ ImGui::Checkbox("Bloom", &mSettings.view.bloom.enabled);
if (ImGui::CollapsingHeader("SSAO Options")) {
- auto& ssao = mViewSettings.ssao;
+ auto& ssao = mSettings.view.ssao;
int quality = (int) ssao.quality;
int lowpass = (int) ssao.lowPassFilter;
@@ -336,9 +336,9 @@ void SimpleViewer::updateUserInterface() {
ImGui::Checkbox("Enable sunlight", &mEnableSunlight);
ImGui::Checkbox("Enable shadows", &mEnableShadows);
- bool enableVsm = mViewSettings.shadowType == ShadowType::VSM;
+ bool enableVsm = mSettings.view.shadowType == ShadowType::VSM;
ImGui::Checkbox("Enable VSM", &enableVsm);
- mViewSettings.shadowType = enableVsm ? ShadowType::VSM : ShadowType::PCF;
+ mSettings.view.shadowType = enableVsm ? ShadowType::VSM : ShadowType::PCF;
char label[32];
snprintf(label, 32, "%d", 1 << mVsmMsaaSamplesLog2);
@@ -356,21 +356,21 @@ void SimpleViewer::updateUserInterface() {
if (ImGui::CollapsingHeader("Fog")) {
ImGui::Indent();
- ImGui::Checkbox("Enable fog", &mViewSettings.fog.enabled);
- ImGui::SliderFloat("Start", &mViewSettings.fog.distance, 0.0f, 100.0f);
- ImGui::SliderFloat("Density", &mViewSettings.fog.density, 0.0f, 1.0f);
- ImGui::SliderFloat("Height", &mViewSettings.fog.height, 0.0f, 100.0f);
- ImGui::SliderFloat("Height falloff", &mViewSettings.fog.heightFalloff, 0.0f, 10.0f);
- ImGui::SliderFloat("Scattering start", &mViewSettings.fog.inScatteringStart, 0.0f, 100.0f);
- ImGui::SliderFloat("Scattering size", &mViewSettings.fog.inScatteringSize, 0.1f, 100.0f);
- ImGui::Checkbox("Color from IBL", &mViewSettings.fog.fogColorFromIbl);
- ImGui::ColorPicker3("Color", mViewSettings.fog.color.v);
+ ImGui::Checkbox("Enable fog", &mSettings.view.fog.enabled);
+ ImGui::SliderFloat("Start", &mSettings.view.fog.distance, 0.0f, 100.0f);
+ ImGui::SliderFloat("Density", &mSettings.view.fog.density, 0.0f, 1.0f);
+ ImGui::SliderFloat("Height", &mSettings.view.fog.height, 0.0f, 100.0f);
+ ImGui::SliderFloat("Height falloff", &mSettings.view.fog.heightFalloff, 0.0f, 10.0f);
+ ImGui::SliderFloat("Scattering start", &mSettings.view.fog.inScatteringStart, 0.0f, 100.0f);
+ ImGui::SliderFloat("Scattering size", &mSettings.view.fog.inScatteringSize, 0.1f, 100.0f);
+ ImGui::Checkbox("Color from IBL", &mSettings.view.fog.fogColorFromIbl);
+ ImGui::ColorPicker3("Color", mSettings.view.fog.color.v);
ImGui::Unindent();
}
// At this point, all View settings have been modified,
// so we can now push them into the Filament View.
- applySettings(mViewSettings, mView);
+ applySettings(mSettings.view, mView);
if (mEnableSunlight) {
mScene->addEntity(mSunlight);
diff --git a/samples/gltf_viewer.cpp b/samples/gltf_viewer.cpp
index 6671e7c95fb..42b031f3cb1 100644
--- a/samples/gltf_viewer.cpp
+++ b/samples/gltf_viewer.cpp
@@ -140,7 +140,7 @@ static void printUsage(char* name) {
" --recompute-aabb, -r\n"
" Ignore the min/max attributes in the glTF file\n\n"
" --settings=, -t\n"
- " Apply the settings in the given JSON file.\n\n"
+ " Apply the settings in the given JSON file\n\n"
" --ubershader, -u\n"
" Enable ubershaders (improves load time, adds shader complexity)\n\n"
" --camera=, -c \n"
@@ -332,7 +332,7 @@ static void createGroundPlane(Engine* engine, Scene* scene, App& app) {
}
static void computeRangePlot(App& app, float* rangePlot) {
- float4& ranges = app.viewer->getViewSettings().colorGrading.ranges;
+ float4& ranges = app.viewer->getSettings().view.colorGrading.ranges;
ranges.y = clamp(ranges.y, ranges.x + 1e-5f, ranges.w - 1e-5f); // darks
ranges.z = clamp(ranges.z, ranges.x + 1e-5f, ranges.w - 1e-5f); // lights
@@ -382,7 +382,7 @@ inline float3 curves(float3 v, float3 shadowGamma, float3 midPoint, float3 highl
}
static void computeCurvePlot(App& app, float* curvePlot) {
- const auto& colorGradingOptions = app.viewer->getViewSettings().colorGrading;
+ const auto& colorGradingOptions = app.viewer->getSettings().view.colorGrading;
for (size_t i = 0; i < 1024; i++) {
float3 x{i / 1024.0f * 2.0f};
float3 y = curves(x,
@@ -416,7 +416,7 @@ static void colorGradingUI(App& app) {
const static ImVec2 plotLinesWideSize(350.0f, 120.0f);
if (ImGui::CollapsingHeader("Color grading")) {
- ColorGradingSettings& colorGrading = app.viewer->getViewSettings().colorGrading;
+ ColorGradingSettings& colorGrading = app.viewer->getSettings().view.colorGrading;
ImGui::Indent();
ImGui::Checkbox("Enabled##colorGrading", &colorGrading.enabled);
@@ -669,11 +669,9 @@ int main(int argc, char** argv) {
app.viewer = new SimpleViewer(engine, scene, view, 410);
if (app.settingsFile.size() > 0) {
- Settings settings;
- bool success = loadSettings(app.settingsFile.c_str(), &settings);
+ bool success = loadSettings(app.settingsFile.c_str(), &app.viewer->getSettings());
if (success) {
std::cout << "Loaded settings from " << app.settingsFile << std::endl;
- app.viewer->getViewSettings() = settings.view;
} else {
std::cerr << "Failed to load settings from " << app.settingsFile << std::endl;
}
@@ -721,7 +719,7 @@ int main(int argc, char** argv) {
}
if (ImGui::CollapsingHeader("Camera")) {
- ViewSettings& settings = app.viewer->getViewSettings();
+ ViewSettings& settings = app.viewer->getSettings().view;
ImGui::Indent();
ImGui::SliderFloat("Focal length (mm)", &FilamentApp::get().getCameraFocalLength(), 16.0f, 90.0f);
@@ -872,7 +870,7 @@ int main(int argc, char** argv) {
.clear = true
});
- ColorGradingSettings& options = app.viewer->getViewSettings().colorGrading;
+ ColorGradingSettings& options = app.viewer->getSettings().view.colorGrading;
if (options.enabled) {
// An inefficient but simple way of detecting change is to serialize to JSON, then
// do a string comparison.
From cfddd5b273f64371535549acc99653ada0d23b75 Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Thu, 1 Oct 2020 19:07:24 -0700
Subject: [PATCH 35/44] Rename AutomationList to AutomationSpec.
---
libs/viewer/CMakeLists.txt | 4 ++--
.../viewer/{Automation.h => AutomationSpec.h} | 14 ++++++------
.../{Automation.cpp => AutomationSpec.cpp} | 22 +++++++++----------
libs/viewer/tests/test_settings.cpp | 4 ++--
samples/gltf_viewer.cpp | 2 +-
5 files changed, 23 insertions(+), 23 deletions(-)
rename libs/viewer/include/viewer/{Automation.h => AutomationSpec.h} (88%)
rename libs/viewer/src/{Automation.cpp => AutomationSpec.cpp} (94%)
diff --git a/libs/viewer/CMakeLists.txt b/libs/viewer/CMakeLists.txt
index c5ceb1059bc..d5fb40626b4 100644
--- a/libs/viewer/CMakeLists.txt
+++ b/libs/viewer/CMakeLists.txt
@@ -8,14 +8,14 @@ set(PUBLIC_HDR_DIR include)
# Sources and headers
# ==================================================================================================
set(PUBLIC_HDRS
- include/viewer/Automation.h
+ include/viewer/AutomationSpec.h
include/viewer/Settings.h
include/viewer/SimpleViewer.h
)
set(SRCS
src/jsonParseUtils.h
- src/Automation.cpp
+ src/AutomationSpec.cpp
src/Settings.cpp
src/SimpleViewer.cpp
)
diff --git a/libs/viewer/include/viewer/Automation.h b/libs/viewer/include/viewer/AutomationSpec.h
similarity index 88%
rename from libs/viewer/include/viewer/Automation.h
rename to libs/viewer/include/viewer/AutomationSpec.h
index c765e646c6d..acfc3cd1834 100644
--- a/libs/viewer/include/viewer/Automation.h
+++ b/libs/viewer/include/viewer/AutomationSpec.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef VIEWER_AUTOMATION_H
-#define VIEWER_AUTOMATION_H
+#ifndef VIEWER_AUTOMATION_SPEC_H
+#define VIEWER_AUTOMATION_SPEC_H
#include
@@ -28,16 +28,16 @@ namespace viewer {
// The "base" object specifies a single set of changes to apply to default settings.
// The optional "permute" object specifies a cross product of changes to apply to the base.
// See the unit test for an example.
-class AutomationList {
+class AutomationSpec {
public:
// Parses a JSON spec, then generates a list of Settings objects.
// Returns null on failure (see utils log for warnings and errors).
// Clients should release memory using "delete".
- static AutomationList* generate(const char* jsonSpec, size_t size);
+ static AutomationSpec* generate(const char* jsonSpec, size_t size);
// Generates a list of Settings objects using an embedded JSON spec.
- static AutomationList* generateDefaultTestCases();
+ static AutomationSpec* generateDefaultTestCases();
// Returns the number of generated Settings objects.
size_t size() const;
@@ -50,11 +50,11 @@ class AutomationList {
char const* getName(size_t index) const;
// Frees all Settings objects and name strings.
- ~AutomationList();
+ ~AutomationSpec();
private:
struct Impl;
- AutomationList(Impl*);
+ AutomationSpec(Impl*);
Impl* mImpl;
};
diff --git a/libs/viewer/src/Automation.cpp b/libs/viewer/src/AutomationSpec.cpp
similarity index 94%
rename from libs/viewer/src/Automation.cpp
rename to libs/viewer/src/AutomationSpec.cpp
index 79673c6b39f..6742cf8c77b 100644
--- a/libs/viewer/src/Automation.cpp
+++ b/libs/viewer/src/AutomationSpec.cpp
@@ -16,7 +16,7 @@
#define JSMN_HEADER
-#include
+#include
#include "jsonParseUtils.h"
@@ -68,7 +68,7 @@ struct CaseGroup {
std::vector cases;
};
-struct AutomationList::Impl {
+struct AutomationSpec::Impl {
std::vector cases;
std::vector names;
};
@@ -243,7 +243,7 @@ static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, vector= mImpl->cases.size()) {
return false;
}
@@ -311,16 +311,16 @@ bool AutomationList::get(size_t index, Settings* out) const {
return true;
}
-char const* AutomationList::getName(size_t index) const {
+char const* AutomationSpec::getName(size_t index) const {
if (index >= mImpl->cases.size()) {
return nullptr;
}
return mImpl->cases.at(index).name;
}
-size_t AutomationList::size() const { return mImpl->cases.size(); }
-AutomationList::AutomationList(Impl* impl) : mImpl(impl) {}
-AutomationList::~AutomationList() { delete mImpl; }
+size_t AutomationSpec::size() const { return mImpl->cases.size(); }
+AutomationSpec::AutomationSpec(Impl* impl) : mImpl(impl) {}
+AutomationSpec::~AutomationSpec() { delete mImpl; }
} // namespace viewer
} // namespace filament
diff --git a/libs/viewer/tests/test_settings.cpp b/libs/viewer/tests/test_settings.cpp
index a91a502ca5c..f15c0b9269d 100644
--- a/libs/viewer/tests/test_settings.cpp
+++ b/libs/viewer/tests/test_settings.cpp
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include
+#include
#include
#include
@@ -143,7 +143,7 @@ TEST_F(ViewSettingsTest, JsonTestDefaults) {
}
TEST_F(ViewSettingsTest, AutomationSpec) {
- AutomationList* specs = AutomationList::generateDefaultTestCases();
+ AutomationSpec* specs = AutomationSpec::generateDefaultTestCases();
ASSERT_TRUE(specs);
ASSERT_EQ(specs->size(), 65);
diff --git a/samples/gltf_viewer.cpp b/samples/gltf_viewer.cpp
index 42b031f3cb1..e8372e421b7 100644
--- a/samples/gltf_viewer.cpp
+++ b/samples/gltf_viewer.cpp
@@ -38,7 +38,7 @@
#include
-#include
+#include
#include
#include
From 5938242d617b6d956ed4ba6aacaa0894950e3033 Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Wed, 30 Sep 2020 10:31:14 -0700
Subject: [PATCH 36/44] gltf_viewer: Add automation UI and functionality.
This adds `AutomationEngine` to libs/viewer, which iterates through
`Settings` instances that were generated from a JSON spec and applies
them to a Filament `View`. It can be configured to sleep between tests
using a time delay or a frame count.
This also adds command line arguments and user-interface elements to
`gltf_viewer` for automated testing.
---
.gitignore | 2 +
libs/viewer/CMakeLists.txt | 4 +-
libs/viewer/include/viewer/AutomationEngine.h | 119 ++++++++++++
libs/viewer/include/viewer/AutomationSpec.h | 32 +++-
libs/viewer/include/viewer/SimpleViewer.h | 2 +
libs/viewer/src/AutomationEngine.cpp | 180 ++++++++++++++++++
libs/viewer/src/AutomationSpec.cpp | 7 +-
libs/viewer/tests/test_settings.cpp | 1 -
samples/CMakeLists.txt | 2 +-
samples/gltf_viewer.cpp | 141 ++++++++++++--
10 files changed, 460 insertions(+), 30 deletions(-)
create mode 100644 libs/viewer/include/viewer/AutomationEngine.h
create mode 100644 libs/viewer/src/AutomationEngine.cpp
diff --git a/.gitignore b/.gitignore
index b40cdadf164..91bb94fcc51 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,5 @@ filament/docs/html/**
civetweb.txt
/TAGS
settings.json
+test*.png
+test*.json
diff --git a/libs/viewer/CMakeLists.txt b/libs/viewer/CMakeLists.txt
index d5fb40626b4..18c5a1cc623 100644
--- a/libs/viewer/CMakeLists.txt
+++ b/libs/viewer/CMakeLists.txt
@@ -8,6 +8,7 @@ set(PUBLIC_HDR_DIR include)
# Sources and headers
# ==================================================================================================
set(PUBLIC_HDRS
+ include/viewer/AutomationEngine.h
include/viewer/AutomationSpec.h
include/viewer/Settings.h
include/viewer/SimpleViewer.h
@@ -15,6 +16,7 @@ set(PUBLIC_HDRS
set(SRCS
src/jsonParseUtils.h
+ src/AutomationEngine.cpp
src/AutomationSpec.cpp
src/Settings.cpp
src/SimpleViewer.cpp
@@ -24,7 +26,7 @@ set(SRCS
# Include and target definitions
# ==================================================================================================
add_library(${TARGET} STATIC ${PUBLIC_HDRS} ${SRCS})
-target_link_libraries(${TARGET} PUBLIC imgui cgltf filament gltfio filagui jsmn)
+target_link_libraries(${TARGET} PUBLIC imgui filament gltfio filagui jsmn imageio)
target_include_directories(${TARGET} PUBLIC ${PUBLIC_HDR_DIR})
# ==================================================================================================
diff --git a/libs/viewer/include/viewer/AutomationEngine.h b/libs/viewer/include/viewer/AutomationEngine.h
new file mode 100644
index 00000000000..75099e1ae15
--- /dev/null
+++ b/libs/viewer/include/viewer/AutomationEngine.h
@@ -0,0 +1,119 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef VIEWER_AUTOMATION_ENGINE_H
+#define VIEWER_AUTOMATION_ENGINE_H
+
+#include
+
+namespace filament {
+
+class Renderer;
+class View;
+
+namespace viewer {
+
+/**
+ * Provides a convenient way to iterate through an AutomationSpec while pushing settings to Filament
+ * and exporting screenshots.
+ *
+ * Upon construction, the engine is given an immutable reference to an AutomationSpec. The engine is
+ * always in one of two states: running or idle. The running state can be entered either immediately
+ * (startRunning) or by requesting batch mode (startBatchMode).
+ *
+ * Clients must call tick() after each frame is rendered, which gives the engine an opportunity to
+ * increment the current test (if enough time has elapsed) and request an asychronous screenshot.
+ * The time to sleep between tests is configurable and can be set to zero. The engine also waits a
+ * specified minimum number of frames between tests.
+ *
+ * Batch mode is meant for non-interactive applications. In batch mode, the engine defers applying
+ * the first test case until the client unblocks it via signalBatchMode(). This is useful when
+ * waiting for a large model file to become fully loaded. Batch mode also offers a query
+ * (shouldClose) that is triggered after the last screenshot has been written to disk.
+ */
+class AutomationEngine {
+public:
+ AutomationEngine(const AutomationSpec* spec, Settings* settings) :
+ mSpec(spec), mSettings(settings) {}
+
+ // Enters the running state.
+ void startRunning();
+
+ // Enters the running state in batch mode.
+ void startBatchMode();
+
+ // Notifies the engine that time has passed and a new frame has been rendered.
+ // This is when settings get applied, screenshots are (optionally) exported, etc.
+ void tick(View* view, Renderer* renderer, float deltaTime);
+
+ // Signals that batch mode can begin. Call this after all meshes and textures finish loading.
+ void signalBatchMode() { mBatchModeAllowed = true; }
+
+ // Cancels an in-progress automation session.
+ void stopRunning() { mIsRunning = false; }
+
+ // Convenience function that writes out a JSON file to disk.
+ static void exportSettings(const Settings& settings, const char* filename);
+
+ struct Options {
+ // Minimum time that the engine waits between applying a settings object and subsequently
+ // taking a screenshot. After the screenshot is taken, the engine immediately advances to
+ // the next test case. Specified in seconds.
+ float sleepDuration = 0.2;
+
+ // If true, the tick function writes out a screenshot before advancing to the next test.
+ bool exportScreenshots = false;
+
+ // If true, the tick function writes out a settings JSON file before advancing.
+ bool exportSettings = false;
+
+ // Similar to sleepDuration, but expressed as a frame count. Both the minimum sleep time
+ // and the minimum frame count must be elapsed before the engine advances to the next test.
+ int minFrameCount = 2;
+ };
+
+ Options getOptions() const { return mOptions; }
+ void setOptions(Options options) { mOptions = options; }
+
+ bool isRunning() const { return mIsRunning; }
+ size_t currentTest() const { return mCurrentTest; }
+ size_t testCount() const { return mSpec->size(); }
+ bool shouldClose() const { return mShouldClose; }
+ bool isBatchModeEnabled() const { return mBatchModeEnabled; }
+ const char* getStatusMessage() const;
+
+private:
+ AutomationSpec const * const mSpec;
+ Settings * const mSettings;
+ Options mOptions;
+ size_t mCurrentTest;
+ float mElapsedTime;
+ int mElapsedFrames;
+ bool mIsRunning = false;
+ bool mBatchModeEnabled = false;
+ bool mRequestStart = false;
+ bool mShouldClose = false;
+ bool mBatchModeAllowed = false;
+
+public:
+ // For internal use from a screenshot callback.
+ void requestClose() { mShouldClose = true; }
+};
+
+} // namespace viewer
+} // namespace filament
+
+#endif // VIEWER_AUTOMATION_ENGINE_H
diff --git a/libs/viewer/include/viewer/AutomationSpec.h b/libs/viewer/include/viewer/AutomationSpec.h
index acfc3cd1834..26d584feca1 100644
--- a/libs/viewer/include/viewer/AutomationSpec.h
+++ b/libs/viewer/include/viewer/AutomationSpec.h
@@ -22,12 +22,32 @@
namespace filament {
namespace viewer {
-// Immutable list of Settings objects generated from a JSON spec.
-//
-// Each top-level item in the JSON spec is an object with "name", "base" and "permute".
-// The "base" object specifies a single set of changes to apply to default settings.
-// The optional "permute" object specifies a cross product of changes to apply to the base.
-// See the unit test for an example.
+/**
+ * Immutable list of Settings objects generated from a JSON spec.
+ *
+ * Each top-level item in the JSON spec is an object with "name", "base" and "permute".
+ * The "base" object specifies a single set of changes to apply to default settings.
+ * The optional "permute" object specifies a cross product of changes to apply to the base.
+ *
+ * The following example generates a total of 5 test cases.
+ * [{
+ * "name": "simple",
+ * "base": {
+ * "view.dof.focusDistance": 0.1,
+ * "view.bloom.strength": 0.5
+ * },
+ * "permute": {
+ * "view.bloom.enabled": [false, true],
+ * "view.dof.enabled": [false, true]
+ * }
+ * },
+ * {
+ * "name": "ppoff",
+ * "base": {
+ * "view.postProcessingEnabled": false
+ * }
+ * }]
+ */
class AutomationSpec {
public:
diff --git a/libs/viewer/include/viewer/SimpleViewer.h b/libs/viewer/include/viewer/SimpleViewer.h
index b014eb87606..816343fdcec 100644
--- a/libs/viewer/include/viewer/SimpleViewer.h
+++ b/libs/viewer/include/viewer/SimpleViewer.h
@@ -177,6 +177,8 @@ class SimpleViewer {
*/
Settings& getSettings() { return mSettings; }
+ void stopAnimation() { mCurrentAnimation = 0; }
+
private:
void updateIndirectLight();
diff --git a/libs/viewer/src/AutomationEngine.cpp b/libs/viewer/src/AutomationEngine.cpp
new file mode 100644
index 00000000000..d66a1a93661
--- /dev/null
+++ b/libs/viewer/src/AutomationEngine.cpp
@@ -0,0 +1,180 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include
+
+#include
+
+#include
+
+#include
+#include
+
+#include
+
+#include
+
+#include
+#include
+#include
+
+using namespace image;
+using namespace utils;
+
+namespace filament {
+namespace viewer {
+
+static std::string gStatus;
+
+template
+static LinearImage toLinear(size_t w, size_t h, size_t bpr, const uint8_t* src) {
+ LinearImage result(w, h, 3);
+ filament::math::float3* d = reinterpret_cast(result.getPixelRef(0, 0));
+ for (size_t y = 0; y < h; ++y) {
+ T const* p = reinterpret_cast(src + y * bpr);
+ for (size_t x = 0; x < w; ++x, p += 3) {
+ filament::math::float3 sRGB(p[0], p[1], p[2]);
+ sRGB /= std::numeric_limits::max();
+ *d++ = sRGBToLinear(sRGB);
+ }
+ }
+ return result;
+}
+
+struct ScreenshotState {
+ View* view;
+ std::string filename;
+ bool autoclose;
+ AutomationEngine* engine;
+};
+
+void exportScreenshot(View* view, Renderer* renderer, std::string filename,
+ bool autoclose, AutomationEngine* automationEngine) {
+ const Viewport& vp = view->getViewport();
+ const size_t byteCount = vp.width * vp.height * 3;
+
+ // Create a buffer descriptor that writes the PNG after the data becomes ready on the CPU.
+ backend::PixelBufferDescriptor buffer(
+ new uint8_t[byteCount], byteCount,
+ backend::PixelBufferDescriptor::PixelDataFormat::RGB,
+ backend::PixelBufferDescriptor::PixelDataType::UBYTE,
+ [](void* buffer, size_t size, void* user) {
+ ScreenshotState* state = static_cast(user);
+ const Viewport& vp = state->view->getViewport();
+ LinearImage image(toLinear(vp.width, vp.height, vp.width * 3,
+ static_cast(buffer)));
+ Path out(state->filename);
+ std::ofstream outputStream(out, std::ios::binary | std::ios::trunc);
+ ImageEncoder::encode(outputStream, ImageEncoder::Format::PNG, image, "",
+ state->filename);
+ delete[] static_cast(buffer);
+ if (state->autoclose) {
+ state->engine->requestClose();
+ }
+ delete state;
+ },
+ new ScreenshotState { view, filename, autoclose, automationEngine }
+ );
+
+ // Invoke readPixels asynchronously.
+ renderer->readPixels((uint32_t) vp.left, (uint32_t) vp.bottom, vp.width, vp.height,
+ std::move(buffer));
+}
+
+void AutomationEngine::startRunning() {
+ mRequestStart = true;
+}
+
+void AutomationEngine::startBatchMode() {
+ mRequestStart = true;
+ mBatchModeEnabled = true;
+}
+
+void AutomationEngine::exportSettings(const Settings& settings, const char* filename) {
+ std::string contents = writeJson(settings);
+ std::ofstream out(filename);
+ if (!out) {
+ gStatus = "Failed to export settings file.";
+ }
+ out << contents << std::endl;
+ gStatus = "Exported to '" + std::string(filename) + "' in the current folder.";
+}
+
+void AutomationEngine::tick(View* view, Renderer* renderer, float deltaTime) {
+ if (!mIsRunning) {
+ if (mRequestStart) {
+ if ((mBatchModeEnabled && mBatchModeAllowed) || !mBatchModeEnabled) {
+ mIsRunning = true;
+ mCurrentTest = 0;
+ mElapsedTime = 0;
+ mElapsedFrames = 0;
+
+ mSpec->get(mCurrentTest, mSettings);
+ applySettings(mSettings->view, view);
+ mRequestStart = false;
+ }
+ }
+ return;
+ }
+
+ mElapsedTime += deltaTime;
+ mElapsedFrames++;
+
+ if (mElapsedTime < mOptions.sleepDuration || mElapsedFrames < mOptions.minFrameCount) {
+ return;
+ }
+
+ const bool isLastTest = mCurrentTest == mSpec->size() - 1;
+
+ const int digits = (int) log10 ((double) mSpec->size()) + 1;
+ std::ostringstream stringStream;
+ stringStream << "test"
+ << std::setfill('0') << std::setw(digits)
+ << std::to_string(mCurrentTest) << "_"
+ << mSpec->getName(mCurrentTest);
+ std::string prefix = stringStream.str();
+
+ if (mOptions.exportSettings) {
+ std::string filename = prefix + ".json";
+ exportSettings(*mSettings, filename.c_str());
+ }
+
+ if (mOptions.exportScreenshots) {
+ exportScreenshot(view, renderer, prefix + ".png", isLastTest, this);
+ }
+
+ if (isLastTest) {
+ mIsRunning = false;
+ if (mBatchModeEnabled && !mOptions.exportScreenshots) {
+ mShouldClose = true;
+ }
+ return;
+ }
+
+ // Increment the case number and apply the next round of settings.
+ mElapsedTime = 0;
+ mElapsedFrames = 0;
+ mCurrentTest++;
+ mSpec->get(mCurrentTest, mSettings);
+ applySettings(mSettings->view, view);
+}
+
+const char* AutomationEngine::getStatusMessage() const {
+ return gStatus.c_str();
+}
+
+} // namespace viewer
+} // namespace filament
diff --git a/libs/viewer/src/AutomationSpec.cpp b/libs/viewer/src/AutomationSpec.cpp
index 6742cf8c77b..9717854aa0f 100644
--- a/libs/viewer/src/AutomationSpec.cpp
+++ b/libs/viewer/src/AutomationSpec.cpp
@@ -46,13 +46,16 @@ static const char* DEFAULT_AUTOMATION = R"TXT([
},
{
"name": "viewopts",
+ "base": {
+ "view.dof.focusDistance": 0.1
+ }
"permute": {
- "view.dithering": ["NONE", "TEMPORAL"],
"view.sampleCount": [1, 4],
"view.taa.enabled": [false, true],
"view.antiAliasing": ["NONE", "FXAA"],
"view.ssao.enabled": [false, true],
- "view.bloom.enabled": [false, true]
+ "view.bloom.enabled": [false, true],
+ "view.dof.enabled": [false, true]
}
}
]
diff --git a/libs/viewer/tests/test_settings.cpp b/libs/viewer/tests/test_settings.cpp
index f15c0b9269d..42fe91655f2 100644
--- a/libs/viewer/tests/test_settings.cpp
+++ b/libs/viewer/tests/test_settings.cpp
@@ -155,7 +155,6 @@ TEST_F(ViewSettingsTest, AutomationSpec) {
ASSERT_TRUE(specs->get(1, &settings));
ASSERT_TRUE(settings.view.postProcessingEnabled);
- ASSERT_EQ(settings.view.dithering, Dithering::NONE);
ASSERT_TRUE(specs->get(64, &settings));
ASSERT_FALSE(specs->get(65, &settings));
diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt
index fafa17407a6..feb27bbc5f6 100644
--- a/samples/CMakeLists.txt
+++ b/samples/CMakeLists.txt
@@ -240,7 +240,7 @@ if (NOT ANDROID)
# Sample app specific
target_link_libraries(frame_generator PRIVATE imageio)
- target_link_libraries(gltf_viewer PRIVATE gltf-resources gltfio viewer imageio)
+ target_link_libraries(gltf_viewer PRIVATE gltf-resources gltfio viewer)
target_link_libraries(gltf_instances PRIVATE gltf-resources gltfio viewer)
target_link_libraries(hellopbr PRIVATE filameshio suzanne-resources)
target_link_libraries(sample_cloth PRIVATE filameshio)
diff --git a/samples/gltf_viewer.cpp b/samples/gltf_viewer.cpp
index e8372e421b7..7972d92fe7a 100644
--- a/samples/gltf_viewer.cpp
+++ b/samples/gltf_viewer.cpp
@@ -23,21 +23,18 @@
#include
#include
#include
+#include
#include
#include
#include
#include
#include
-#include
#include
#include
#include
-#include
-
-#include
-
+#include
#include
#include
@@ -57,7 +54,6 @@
#include
#include
-#include
#include
#include "generated/resources/gltf_viewer.h"
@@ -67,7 +63,6 @@ using namespace filament::math;
using namespace filament::viewer;
using namespace gltfio;
-using namespace image;
using namespace utils;
struct App {
@@ -118,6 +113,10 @@ struct App {
std::string messageBoxText;
std::string settingsFile;
+ std::string batchFile;
+
+ AutomationSpec* automationSpec = nullptr;
+ AutomationEngine* automationEngine = nullptr;
};
static const char* DEFAULT_IBL = "default_env";
@@ -133,6 +132,8 @@ static void printUsage(char* name) {
" Prints this message\n\n"
" --api, -a\n"
" Specify the backend API: opengl (default), vulkan, or metal\n\n"
+ " --batch=, -b\n"
+ " Start automation using the given JSON spec, then quit the app\n\n"
" --ibl=, -i \n"
" Override the built-in IBL\n\n"
" --actual-size, -s\n"
@@ -159,17 +160,23 @@ static void printUsage(char* name) {
std::cout << usage;
}
+static std::ifstream::pos_type getFileSize(const char* filename) {
+ std::ifstream in(filename, std::ifstream::ate | std::ifstream::binary);
+ return in.tellg();
+}
+
static int handleCommandLineArguments(int argc, char* argv[], App* app) {
- static constexpr const char* OPTSTR = "ha:i:usc:rt:";
+ static constexpr const char* OPTSTR = "ha:i:usc:rt:b:";
static const struct option OPTIONS[] = {
{ "help", no_argument, nullptr, 'h' },
{ "api", required_argument, nullptr, 'a' },
+ { "batch", required_argument, nullptr, 'b' },
{ "ibl", required_argument, nullptr, 'i' },
{ "ubershader", no_argument, nullptr, 'u' },
{ "actual-size", no_argument, nullptr, 's' },
{ "camera", required_argument, nullptr, 'c' },
{ "recompute-aabb", no_argument, nullptr, 'r' },
- { "settings", optional_argument, nullptr, 't' },
+ { "settings", required_argument, nullptr, 't' },
{ nullptr, 0, nullptr, 0 }
};
int opt;
@@ -214,21 +221,17 @@ static int handleCommandLineArguments(int argc, char* argv[], App* app) {
app->recomputeAabb = true;
break;
case 't':
- if (arg.empty()) {
- arg = "settings.json";
- }
app->settingsFile = arg;
break;
+ case 'b': {
+ app->batchFile = arg;
+ break;
+ }
}
}
return optind;
}
-static std::ifstream::pos_type getFileSize(const char* filename) {
- std::ifstream in(filename, std::ifstream::ate | std::ifstream::binary);
- return in.tellg();
-}
-
static bool loadSettings(const char* filename, Settings* out) {
auto contentSize = getFileSize(filename);
if (contentSize <= 0) {
@@ -586,6 +589,7 @@ int main(int argc, char** argv) {
app.config.iblDirectory = FilamentApp::getRootAssetsPath() + DEFAULT_IBL;
int optionIndex = handleCommandLineArguments(argc, argv, &app);
+
utils::Path filename;
int num_args = argc - optionIndex;
if (num_args >= 1) {
@@ -668,6 +672,44 @@ int main(int argc, char** argv) {
app.names = new NameComponentManager(EntityManager::get());
app.viewer = new SimpleViewer(engine, scene, view, 410);
+ const bool batchMode = !app.batchFile.empty();
+
+ // First check if a custom automation spec has been provided. If it fails to load, the app
+ // must be closed since it could be invoked from a script.
+ if (batchMode && app.batchFile != "default") {
+ auto size = getFileSize(app.batchFile.c_str());
+ if (size > 0) {
+ std::ifstream in(app.batchFile, std::ifstream::binary | std::ifstream::in);
+ std::vector json(static_cast(size));
+ in.read(json.data(), size);
+ app.automationSpec = AutomationSpec::generate(json.data(), size);
+ if (!app.automationSpec) {
+ std::cerr << "Unable to parse automation spec: " << app.batchFile << std::endl;
+ exit(1);
+ }
+ } else {
+ std::cerr << "Unable to load automation spec: " << app.batchFile << std::endl;
+ exit(1);
+ }
+ }
+
+ // If no custom spec has been provided, or if in interactive mode, load the default spec.
+ if (!app.automationSpec) {
+ app.automationSpec = AutomationSpec::generateDefaultTestCases();
+ }
+
+ app.automationEngine = new AutomationEngine(app.automationSpec, &app.viewer->getSettings());
+
+ if (batchMode) {
+ app.automationEngine->startBatchMode();
+ auto options = app.automationEngine->getOptions();
+ options.sleepDuration = 0.0;
+ options.exportScreenshots = true;
+ options.exportSettings = true;
+ app.automationEngine->setOptions(options);
+ app.viewer->stopAnimation();
+ }
+
if (app.settingsFile.size() > 0) {
bool success = loadSettings(app.settingsFile.c_str(), &app.viewer->getSettings());
if (success) {
@@ -693,10 +735,62 @@ int main(int argc, char** argv) {
createGroundPlane(engine, scene, app);
- app.viewer->setUiCallback([&app, scene] () {
+ app.viewer->setUiCallback([&app, scene, view] () {
+ auto& automation = *app.automationEngine;
+
float progress = app.resourceLoader->asyncGetLoadProgress();
if (progress < 1.0) {
ImGui::ProgressBar(progress);
+ } else {
+ // The model is now fully loaded, so let automation know.
+ automation.signalBatchMode();
+ }
+
+ // The screenshots do not include the UI, but we auto-open the Automation UI group
+ // when in batch mode. This is useful when a human is observing progress.
+ const int flags = automation.isBatchModeEnabled() ? ImGuiTreeNodeFlags_DefaultOpen : 0;
+
+ if (ImGui::CollapsingHeader("Automation", flags)) {
+ ImGui::Indent();
+
+ const ImVec4 yellow(1.0f,1.0f,0.0f,1.0f);
+ if (automation.isRunning()) {
+ ImGui::TextColored(yellow, "Test case %zu / %zu",
+ automation.currentTest(), automation.testCount());
+ } else {
+ ImGui::TextColored(yellow, "%zu test cases", automation.testCount());
+ }
+
+ auto options = automation.getOptions();
+
+ ImGui::PushItemWidth(150);
+ ImGui::SliderFloat("Sleep (seconds)", &options.sleepDuration, 0.0, 5.0);
+ ImGui::PopItemWidth();
+
+ // Hide the tooltip during automation to avoid photobombing the screenshot.
+ if (ImGui::IsItemHovered() && !automation.isRunning()) {
+ ImGui::SetTooltip("Specifies the amount of time to sleep between test cases.");
+ }
+
+ ImGui::Checkbox("Export screenshot for each test", &options.exportScreenshots);
+ ImGui::Checkbox("Export settings JSON for each test", &options.exportSettings);
+
+ automation.setOptions(options);
+
+ if (automation.isRunning()) {
+ if (ImGui::Button("Stop batch test")) {
+ automation.stopRunning();
+ }
+ } else if (ImGui::Button("Run batch test")) {
+ automation.startRunning();
+ }
+
+ if (ImGui::Button("Export view settings")) {
+ automation.exportSettings(app.viewer->getSettings(), "settings.json");
+ app.messageBoxText = automation.getStatusMessage();
+ ImGui::OpenPopup("MessageBox");
+ }
+ ImGui::Unindent();
}
if (ImGui::CollapsingHeader("Stats")) {
@@ -886,6 +980,15 @@ int main(int argc, char** argv) {
}
};
+ auto postRender = [&app](Engine* engine, View* view, Scene* scene, Renderer* renderer) {
+ if (app.automationEngine->shouldClose()) {
+ FilamentApp::get().close();
+ return;
+ }
+ Settings* settings = &app.viewer->getSettings();
+ app.automationEngine->tick(view, renderer, ImGui::GetIO().DeltaTime);
+ };
+
FilamentApp& filamentApp = FilamentApp::get();
filamentApp.animate(animate);
filamentApp.resize(resize);
@@ -897,7 +1000,7 @@ int main(int argc, char** argv) {
loadResources(path);
});
- filamentApp.run(app.config, setup, cleanup, gui, preRender);
+ filamentApp.run(app.config, setup, cleanup, gui, preRender, postRender);
return 0;
}
From e352542e240d46d4e423245aa3dd8ce4a61435ab Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Fri, 2 Oct 2020 09:03:24 -0700
Subject: [PATCH 37/44] Automation: add support for materials.
This adds a `material` key to `Settings`, as a sister to `view`.
Here's an example of an automation spec that manipulates material
parameters:
[{
"name": "metallic_vs_roughness",
"permute": {
"material.scalar.roughnessFactor": [0.0, 0.5, 1.0],
"material.scalar.metallicFactor": [0.0, 1.0]
}
}]
Currently this is limited to float, vec3, and vec4 parameters.
---
libs/viewer/include/viewer/AutomationEngine.h | 4 +-
libs/viewer/include/viewer/Settings.h | 27 +++-
libs/viewer/src/AutomationEngine.cpp | 26 ++--
libs/viewer/src/Settings.cpp | 116 +++++++++++++++++-
libs/viewer/tests/test_settings.cpp | 34 ++++-
samples/gltf_viewer.cpp | 5 +-
6 files changed, 192 insertions(+), 20 deletions(-)
diff --git a/libs/viewer/include/viewer/AutomationEngine.h b/libs/viewer/include/viewer/AutomationEngine.h
index 75099e1ae15..ce5ddb0bc11 100644
--- a/libs/viewer/include/viewer/AutomationEngine.h
+++ b/libs/viewer/include/viewer/AutomationEngine.h
@@ -21,6 +21,7 @@
namespace filament {
+class MaterialInstance;
class Renderer;
class View;
@@ -57,7 +58,8 @@ class AutomationEngine {
// Notifies the engine that time has passed and a new frame has been rendered.
// This is when settings get applied, screenshots are (optionally) exported, etc.
- void tick(View* view, Renderer* renderer, float deltaTime);
+ void tick(View* view, MaterialInstance* const* materials, size_t materialCount,
+ Renderer* renderer, float deltaTime);
// Signals that batch mode can begin. Call this after all meshes and textures finish loading.
void signalBatchMode() { mBatchModeAllowed = true; }
diff --git a/libs/viewer/include/viewer/Settings.h b/libs/viewer/include/viewer/Settings.h
index b5b02b6f06d..e487807ba04 100644
--- a/libs/viewer/include/viewer/Settings.h
+++ b/libs/viewer/include/viewer/Settings.h
@@ -17,19 +17,24 @@
#ifndef VIEWER_SETTINGS_H
#define VIEWER_SETTINGS_H
+#include
+#include
+#include
+
+#include
+#include
+
#include
#include
#include
-#include
-#include
-
namespace filament {
namespace viewer {
struct ColorGradingSettings;
struct DynamicLightingSettings;
+struct MaterialSettings;
struct Settings;
struct ViewSettings;
@@ -51,8 +56,9 @@ using VignetteOptions = filament::View::VignetteOptions;
// - This function writes warnings and error messages into the utils log.
bool readJson(const char* jsonChunk, size_t size, Settings* out);
-// Pushes all properties to a Filament View modulo the immutable ones (e.g. ColorGrading).
+// These functions push all editable property values to their respective Filament objects.
void applySettings(const ViewSettings& settings, View* dest);
+void applySettings(const MaterialSettings& settings, MaterialInstance* dest);
// Creates a new ColorGrading object based on the given settings.
ColorGrading* createColorGrading(const ColorGradingSettings& settings, Engine* engine);
@@ -64,6 +70,7 @@ std::string writeJson(const ColorGradingSettings& in);
std::string writeJson(const DepthOfFieldOptions& in);
std::string writeJson(const DynamicLightingSettings& in);
std::string writeJson(const FogOptions& in);
+std::string writeJson(const MaterialSettings& in);
std::string writeJson(const RenderQuality& in);
std::string writeJson(const Settings& in);
std::string writeJson(const TemporalAntiAliasingOptions& in);
@@ -118,8 +125,20 @@ struct ViewSettings {
bool postProcessingEnabled = true;
};
+template
+struct MaterialProperty { std::string name; T value; };
+
+// This struct has a fixed size for simplicity. Each non-empty property name is an override.
+struct MaterialSettings {
+ static constexpr size_t MAX_COUNT = 4;
+ MaterialProperty scalar[MAX_COUNT];
+ MaterialProperty float3[MAX_COUNT];
+ MaterialProperty float4[MAX_COUNT];
+};
+
struct Settings {
ViewSettings view;
+ MaterialSettings material;
};
} // namespace viewer
diff --git a/libs/viewer/src/AutomationEngine.cpp b/libs/viewer/src/AutomationEngine.cpp
index d66a1a93661..03b106ad3df 100644
--- a/libs/viewer/src/AutomationEngine.cpp
+++ b/libs/viewer/src/AutomationEngine.cpp
@@ -113,18 +113,25 @@ void AutomationEngine::exportSettings(const Settings& settings, const char* file
gStatus = "Exported to '" + std::string(filename) + "' in the current folder.";
}
-void AutomationEngine::tick(View* view, Renderer* renderer, float deltaTime) {
+void AutomationEngine::tick(View* view, MaterialInstance* const* materials, size_t materialCount,
+ Renderer* renderer, float deltaTime) {
+ const auto activateTest = [this, view, materials, materialCount]() {
+ mElapsedTime = 0;
+ mElapsedFrames = 0;
+ mSpec->get(mCurrentTest, mSettings);
+ applySettings(mSettings->view, view);
+ for (size_t i = 0; i < materialCount; i++) {
+ applySettings(mSettings->material, materials[i]);
+ }
+ };
+
if (!mIsRunning) {
if (mRequestStart) {
if ((mBatchModeEnabled && mBatchModeAllowed) || !mBatchModeEnabled) {
mIsRunning = true;
- mCurrentTest = 0;
- mElapsedTime = 0;
- mElapsedFrames = 0;
-
- mSpec->get(mCurrentTest, mSettings);
- applySettings(mSettings->view, view);
mRequestStart = false;
+ mCurrentTest = 0;
+ activateTest();
}
}
return;
@@ -165,11 +172,8 @@ void AutomationEngine::tick(View* view, Renderer* renderer, float deltaTime) {
}
// Increment the case number and apply the next round of settings.
- mElapsedTime = 0;
- mElapsedFrames = 0;
mCurrentTest++;
- mSpec->get(mCurrentTest, mSettings);
- applySettings(mSettings->view, view);
+ activateTest();
}
const char* AutomationEngine::getStatusMessage() const {
diff --git a/libs/viewer/src/Settings.cpp b/libs/viewer/src/Settings.cpp
index 0314137f2d0..b721eceada2 100644
--- a/libs/viewer/src/Settings.cpp
+++ b/libs/viewer/src/Settings.cpp
@@ -569,6 +569,61 @@ static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, ViewSett
return i;
}
+template
+static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, MaterialProperty* out) {
+ CHECK_TOKTYPE(tokens[i], JSMN_OBJECT);
+ int size = tokens[i++].size;
+ for (int j = 0; j < size; ++j) {
+ const jsmntok_t tok = tokens[i];
+ CHECK_KEY(tok);
+ const std::string name = STR(tok, jsonChunk);
+
+ // Find the first unused slot, or the first slot that matches the given name.
+ size_t k = 0;
+ for (; k < MaterialSettings::MAX_COUNT; ++k) {
+ if (out[k].name == name || out[k].name.empty()) {
+ break;
+ }
+ }
+ if (k == MaterialSettings::MAX_COUNT) {
+ slog.e << "Too many material settings." << io::endl;
+ return i;
+ }
+
+ out[k].name = name;
+ i = parse(tokens, i + 1, jsonChunk, &out[k].value);
+ if (i < 0) {
+ slog.e << "Invalid materials value: '" << STR(tok, jsonChunk) << "'" << io::endl;
+ return i;
+ }
+ }
+ return i;
+}
+
+static int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, MaterialSettings* out) {
+ CHECK_TOKTYPE(tokens[i], JSMN_OBJECT);
+ int size = tokens[i++].size;
+ for (int j = 0; j < size; ++j) {
+ const jsmntok_t tok = tokens[i];
+ CHECK_KEY(tok);
+ if (compare(tok, jsonChunk, "scalar") == 0) {
+ i = parse(tokens, i + 1, jsonChunk, out->scalar);
+ } else if (compare(tok, jsonChunk, "float3") == 0) {
+ i = parse(tokens, i + 1, jsonChunk, out->float3);
+ } else if (compare(tok, jsonChunk, "float4") == 0) {
+ i = parse(tokens, i + 1, jsonChunk, out->float4);
+ } else {
+ slog.w << "Invalid materials key: '" << STR(tok, jsonChunk) << "'" << io::endl;
+ i = parse(tokens, i + 1);
+ }
+ if (i < 0) {
+ slog.e << "Invalid materials value: '" << STR(tok, jsonChunk) << "'" << io::endl;
+ return i;
+ }
+ }
+ return i;
+}
+
int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, Settings* out) {
CHECK_TOKTYPE(tokens[i], JSMN_OBJECT);
int size = tokens[i++].size;
@@ -577,6 +632,8 @@ int parse(jsmntok_t const* tokens, int i, const char* jsonChunk, Settings* out)
CHECK_KEY(tok);
if (compare(tok, jsonChunk, "view") == 0) {
i = parse(tokens, i + 1, jsonChunk, &out->view);
+ } else if (compare(tok, jsonChunk, "material") == 0) {
+ i = parse(tokens, i + 1, jsonChunk, &out->material);
} else {
slog.w << "Invalid group key: '" << STR(tok, jsonChunk) << "'" << io::endl;
i = parse(tokens, i + 1);
@@ -594,6 +651,7 @@ bool readJson(const char* jsonChunk, size_t size, Settings* out) {
int tokenCount = jsmn_parse(&parser, jsonChunk, size, nullptr, 0);
if (tokenCount <= 0) {
+ slog.e << "Badly formed JSON." << io::endl;
return false;
}
@@ -605,6 +663,7 @@ bool readJson(const char* jsonChunk, size_t size, Settings* out) {
if (tokenCount <= 0) {
free(tokens);
+ slog.e << "Badly formed JSON." << io::endl;
return false;
}
@@ -630,6 +689,19 @@ void applySettings(const ViewSettings& settings, View* dest) {
dest->setPostProcessingEnabled(settings.postProcessingEnabled);
}
+template
+static void apply(MaterialProperty prop, MaterialInstance* dest) {
+ if (!prop.name.empty()) {
+ dest->setParameter(prop.name.c_str(), prop.value);
+ }
+}
+
+void applySettings(const MaterialSettings& settings, MaterialInstance* dest) {
+ for (auto prop : settings.scalar) { apply(prop, dest); }
+ for (auto prop : settings.float3) { apply(prop, dest); }
+ for (auto prop : settings.float4) { apply(prop, dest); }
+}
+
ColorGrading* createColorGrading(const ColorGradingSettings& settings, Engine* engine) {
return ColorGrading::Builder()
.quality(settings.quality)
@@ -745,8 +817,8 @@ static std::string writeJson(math::float4 v) {
std::string writeJson(const Settings& in) {
std::ostringstream oss;
oss << "{\n"
- << "\"view\": "
- << writeJson(in.view)
+ << "\"view\": " << writeJson(in.view) << ",\n"
+ << "\"material\": " << writeJson(in.material)
<< "}";
return oss.str();
}
@@ -855,6 +927,46 @@ std::string writeJson(const FogOptions& in) {
return oss.str();
}
+template
+static void writeJson(MaterialProperty prop, std::ostringstream& oss) {
+ if (!prop.name.empty()) {
+ oss << "\"" << prop.name << "\": " << writeJson(prop.value) << ",\n";
+ }
+}
+
+std::string writeJson(const MaterialSettings& in) {
+ std::ostringstream oss;
+ oss << "{\n";
+ oss << "\"scalar\": {\n";
+ for (auto prop : in.scalar) { writeJson(prop, oss); }
+ oss << "},\n";
+ oss << "\"float3\": {\n";
+ for (auto prop : in.float3) { writeJson(prop, oss); }
+ oss << "},\n";
+ oss << "\"float4\": {\n";
+ for (auto prop : in.float4) { writeJson(prop, oss); }
+ oss << "},\n";
+ oss << "}";
+ std::string result = oss.str();
+
+ const auto replace = [&result](std::string s, std::string t) {
+ std::string::size_type n = 0;
+ while ((n = result.find(s, n )) != std::string::npos) {
+ result.replace(n, s.size(), t);
+ n += t.size();
+ }
+ };
+
+ // Remove empty objects and trailing commas.
+ replace("\"scalar\": {\n},\n", "");
+ replace("\"float3\": {\n},\n", "");
+ replace("\"float4\": {\n},\n", "");
+ replace(",\n}", "\n}");
+ replace("{\n}", "{}");
+
+ return result;
+}
+
std::string writeJson(const DepthOfFieldOptions& in) {
std::ostringstream oss;
oss << "{\n"
diff --git a/libs/viewer/tests/test_settings.cpp b/libs/viewer/tests/test_settings.cpp
index 42fe91655f2..17fb9799469 100644
--- a/libs/viewer/tests/test_settings.cpp
+++ b/libs/viewer/tests/test_settings.cpp
@@ -128,6 +128,22 @@ static const char* JSON_TEST_DEFAULTS = R"TXT(
}
)TXT";
+static const char* JSON_TEST_MATERIAL = R"TXT(
+"material": {
+ "scalar": { "foo": 5.0, "bar": 2.0 },
+ "float3": { "baz": [1, 2, 3] }
+})TXT";
+
+static const char* JSON_TEST_AUTOMATION = R"TXT([{
+ "name": "test_72_cases",
+ "base": { "view.bloom.strength": 0.5 },
+ "permute": {
+ "view.bloom.enabled": [false, true],
+ "material.scalar.metallicFactor": [0.0, 0.2, 0.4, 0.6, 0.8, 1.0],
+ "material.scalar.roughnessFactor": [0.0, 0.2, 0.4, 0.6, 0.8, 1.0]
+ }
+}])TXT";
+
TEST_F(ViewSettingsTest, JsonTestDefaults) {
Settings settings1 = {0};
ASSERT_TRUE(readJson(JSON_TEST_DEFAULTS, strlen(JSON_TEST_DEFAULTS), &settings1));
@@ -142,7 +158,15 @@ TEST_F(ViewSettingsTest, JsonTestDefaults) {
ASSERT_EQ(writeJson(settings2), writeJson(settings3));
}
-TEST_F(ViewSettingsTest, AutomationSpec) {
+TEST_F(ViewSettingsTest, JsonTestMaterial) {
+ Settings settings = {0};
+ std::string js = "{" + std::string(JSON_TEST_MATERIAL) + "}";
+ ASSERT_TRUE(readJson(js.c_str(), js.size(), &settings));
+ std::string serialized = writeJson(settings);
+ ASSERT_PRED_FORMAT2(testing::IsSubstring, "\"baz\": [1, 2, 3]", serialized);
+}
+
+TEST_F(ViewSettingsTest, DefaultAutomationSpec) {
AutomationSpec* specs = AutomationSpec::generateDefaultTestCases();
ASSERT_TRUE(specs);
ASSERT_EQ(specs->size(), 65);
@@ -162,6 +186,14 @@ TEST_F(ViewSettingsTest, AutomationSpec) {
delete specs;
}
+TEST_F(ViewSettingsTest, CustomAutomationSpec) {
+ AutomationSpec* spec = AutomationSpec::generate(JSON_TEST_AUTOMATION,
+ strlen(JSON_TEST_AUTOMATION));
+ ASSERT_TRUE(spec);
+ ASSERT_EQ(spec->size(), 72);
+ delete spec;
+}
+
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
diff --git a/samples/gltf_viewer.cpp b/samples/gltf_viewer.cpp
index 7972d92fe7a..893336b83e2 100644
--- a/samples/gltf_viewer.cpp
+++ b/samples/gltf_viewer.cpp
@@ -986,7 +986,10 @@ int main(int argc, char** argv) {
return;
}
Settings* settings = &app.viewer->getSettings();
- app.automationEngine->tick(view, renderer, ImGui::GetIO().DeltaTime);
+ MaterialInstance* const* materials = app.asset->getMaterialInstances();
+ size_t materialCount = app.asset->getMaterialInstanceCount();
+ app.automationEngine->tick(view, materials, materialCount, renderer,
+ ImGui::GetIO().DeltaTime);
};
FilamentApp& filamentApp = FilamentApp::get();
From 79f1744823450306580d0466a7244905d704844f Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Sat, 3 Oct 2020 15:42:48 -0700
Subject: [PATCH 38/44] Automation: fix segfault when closing the app early.
The Filament View that gets passed to tick() is retained briefly when
screenshots are enabled, but it may be destroyed by the time the
PixelBufferDescriptor callback is invoked. So, we needed a way of
notifying the AutomationEngine.
---
libs/viewer/include/viewer/AutomationEngine.h | 5 +++++
libs/viewer/src/AutomationEngine.cpp | 10 ++++++++++
samples/gltf_viewer.cpp | 1 +
3 files changed, 16 insertions(+)
diff --git a/libs/viewer/include/viewer/AutomationEngine.h b/libs/viewer/include/viewer/AutomationEngine.h
index ce5ddb0bc11..3f578aa02b3 100644
--- a/libs/viewer/include/viewer/AutomationEngine.h
+++ b/libs/viewer/include/viewer/AutomationEngine.h
@@ -67,6 +67,9 @@ class AutomationEngine {
// Cancels an in-progress automation session.
void stopRunning() { mIsRunning = false; }
+ // Signals that the application is closing, so all pending screenshots should be cancelled.
+ void terminate();
+
// Convenience function that writes out a JSON file to disk.
static void exportSettings(const Settings& settings, const char* filename);
@@ -109,10 +112,12 @@ class AutomationEngine {
bool mRequestStart = false;
bool mShouldClose = false;
bool mBatchModeAllowed = false;
+ bool mTerminated = false;
public:
// For internal use from a screenshot callback.
void requestClose() { mShouldClose = true; }
+ bool isTerminated() const { return mTerminated; }
};
} // namespace viewer
diff --git a/libs/viewer/src/AutomationEngine.cpp b/libs/viewer/src/AutomationEngine.cpp
index 03b106ad3df..17a0c98bfc3 100644
--- a/libs/viewer/src/AutomationEngine.cpp
+++ b/libs/viewer/src/AutomationEngine.cpp
@@ -73,6 +73,11 @@ void exportScreenshot(View* view, Renderer* renderer, std::string filename,
backend::PixelBufferDescriptor::PixelDataType::UBYTE,
[](void* buffer, size_t size, void* user) {
ScreenshotState* state = static_cast(user);
+ if (state->engine->isTerminated()) {
+ delete[] static_cast(buffer);
+ delete state;
+ return;
+ }
const Viewport& vp = state->view->getViewport();
LinearImage image(toLinear(vp.width, vp.height, vp.width * 3,
static_cast(buffer)));
@@ -103,6 +108,11 @@ void AutomationEngine::startBatchMode() {
mBatchModeEnabled = true;
}
+void AutomationEngine::terminate() {
+ stopRunning();
+ mTerminated = true;
+}
+
void AutomationEngine::exportSettings(const Settings& settings, const char* filename) {
std::string contents = writeJson(settings);
std::ofstream out(filename);
diff --git a/samples/gltf_viewer.cpp b/samples/gltf_viewer.cpp
index 893336b83e2..d6a87927efd 100644
--- a/samples/gltf_viewer.cpp
+++ b/samples/gltf_viewer.cpp
@@ -873,6 +873,7 @@ int main(int argc, char** argv) {
};
auto cleanup = [&app](Engine* engine, View*, Scene*) {
+ app.automationEngine->terminate();
app.loader->destroyAsset(app.asset);
app.materials->destroyMaterials();
From 4fe5832333b965fd32b05723340fbb410cf37a43 Mon Sep 17 00:00:00 2001
From: Philip Rideout
Date: Sat, 3 Oct 2020 15:15:30 -0700
Subject: [PATCH 39/44] gltf_viewer: add --headless option.
This should only be used in combination with --batch. Users are
admonished if they try using it on its own.
---
libs/filamentapp/src/FilamentApp.cpp | 18 +++++++++++-------
libs/viewer/include/viewer/AutomationEngine.h | 3 +++
libs/viewer/src/AutomationEngine.cpp | 4 ++++
samples/gltf_viewer.cpp | 12 +++++++++++-
4 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/libs/filamentapp/src/FilamentApp.cpp b/libs/filamentapp/src/FilamentApp.cpp
index 2521bf6a27a..98760003d59 100644
--- a/libs/filamentapp/src/FilamentApp.cpp
+++ b/libs/filamentapp/src/FilamentApp.cpp
@@ -323,13 +323,17 @@ void FilamentApp::run(const Config& config, SetupCallback setupCallback,
if (mImGuiHelper) {
// Inform ImGui of the current window size in case it was resized.
- int windowWidth, windowHeight;
- int displayWidth, displayHeight;
- SDL_GetWindowSize(window->mWindow, &windowWidth, &windowHeight);
- SDL_GL_GetDrawableSize(window->mWindow, &displayWidth, &displayHeight);
- mImGuiHelper->setDisplaySize(windowWidth, windowHeight,
- windowWidth > 0 ? ((float)displayWidth / windowWidth) : 0,
- displayHeight > 0 ? ((float)displayHeight / windowHeight) : 0);
+ if (config.headless) {
+ mImGuiHelper->setDisplaySize(window->mWidth, window->mHeight);
+ } else {
+ int windowWidth, windowHeight;
+ int displayWidth, displayHeight;
+ SDL_GetWindowSize(window->mWindow, &windowWidth, &windowHeight);
+ SDL_GL_GetDrawableSize(window->mWindow, &displayWidth, &displayHeight);
+ mImGuiHelper->setDisplaySize(windowWidth, windowHeight,
+ windowWidth > 0 ? ((float)displayWidth / windowWidth) : 0,
+ displayHeight > 0 ? ((float)displayHeight / windowHeight) : 0);
+ }
// Setup mouse inputs (we already got mouse wheel, keyboard keys & characters
// from our event handler)
diff --git a/libs/viewer/include/viewer/AutomationEngine.h b/libs/viewer/include/viewer/AutomationEngine.h
index 3f578aa02b3..a3ed876ad9c 100644
--- a/libs/viewer/include/viewer/AutomationEngine.h
+++ b/libs/viewer/include/viewer/AutomationEngine.h
@@ -88,6 +88,9 @@ class AutomationEngine {
// Similar to sleepDuration, but expressed as a frame count. Both the minimum sleep time
// and the minimum frame count must be elapsed before the engine advances to the next test.
int minFrameCount = 2;
+
+ // If true, test progress is dumped to the utils Log (info priority).
+ bool verbose = true;
};
Options getOptions() const { return mOptions; }
diff --git a/libs/viewer/src/AutomationEngine.cpp b/libs/viewer/src/AutomationEngine.cpp
index 17a0c98bfc3..2bc7dcc1c16 100644
--- a/libs/viewer/src/AutomationEngine.cpp
+++ b/libs/viewer/src/AutomationEngine.cpp
@@ -25,6 +25,7 @@
#include
+#include
#include
#include
@@ -133,6 +134,9 @@ void AutomationEngine::tick(View* view, MaterialInstance* const* materials, size
for (size_t i = 0; i < materialCount; i++) {
applySettings(mSettings->material, materials[i]);
}
+ if (mOptions.verbose) {
+ utils::slog.i << "Running test " << mCurrentTest << utils::io::endl;
+ }
};
if (!mIsRunning) {
diff --git a/samples/gltf_viewer.cpp b/samples/gltf_viewer.cpp
index d6a87927efd..b1c22042da2 100644
--- a/samples/gltf_viewer.cpp
+++ b/samples/gltf_viewer.cpp
@@ -134,6 +134,8 @@ static void printUsage(char* name) {
" Specify the backend API: opengl (default), vulkan, or metal\n\n"
" --batch=, -b\n"
" Start automation using the given JSON spec, then quit the app\n\n"
+ " --headless, -e\n"
+ " Use a headless swapchain; ignored if --batch is not present\n\n"
" --ibl=, -i \n"
" Override the built-in IBL\n\n"
" --actual-size, -s\n"
@@ -166,11 +168,12 @@ static std::ifstream::pos_type getFileSize(const char* filename) {
}
static int handleCommandLineArguments(int argc, char* argv[], App* app) {
- static constexpr const char* OPTSTR = "ha:i:usc:rt:b:";
+ static constexpr const char* OPTSTR = "ha:i:usc:rt:b:e";
static const struct option OPTIONS[] = {
{ "help", no_argument, nullptr, 'h' },
{ "api", required_argument, nullptr, 'a' },
{ "batch", required_argument, nullptr, 'b' },
+ { "headless", no_argument, nullptr, 'e' },
{ "ibl", required_argument, nullptr, 'i' },
{ "ubershader", no_argument, nullptr, 'u' },
{ "actual-size", no_argument, nullptr, 's' },
@@ -208,6 +211,9 @@ static int handleCommandLineArguments(int argc, char* argv[], App* app) {
std::cerr << "Unrecognized camera mode. Must be 'flight'|'orbit'.\n";
}
break;
+ case 'e':
+ app->config.headless = true;
+ break;
case 'i':
app->config.iblDirectory = arg;
break;
@@ -229,6 +235,10 @@ static int handleCommandLineArguments(int argc, char* argv[], App* app) {
}
}
}
+ if (app->config.headless && app->batchFile.empty()) {
+ std::cerr << "--headless is allowed only when --batch is present." << std::endl;
+ app->config.headless = false;
+ }
return optind;
}
From 9ce2c319a9041da2a73e499107f0069a407165fe Mon Sep 17 00:00:00 2001
From: Yixing Lao
Date: Mon, 5 Oct 2020 10:19:05 -0700
Subject: [PATCH 40/44] ARM64 support for bluegl (#3150)
* ARM64 support for bluegl
* Detect arch with uname
* Use register x16
---
CMakeLists.txt | 10 +
libs/bluegl/CMakeLists.txt | 6 +-
libs/bluegl/bluegl-gen.py | 15 +-
libs/bluegl/src/BlueGLCoreLinuxAArch64Impl.S | 25760 +++++++++++++++++
third_party/libpng/tnt/CMakeLists.txt | 4 +
5 files changed, 25793 insertions(+), 2 deletions(-)
create mode 100644 libs/bluegl/src/BlueGLCoreLinuxAArch64Impl.S
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6b722c54923..11345d35e50 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -83,6 +83,16 @@ if (UNIX AND NOT APPLE AND NOT ANDROID AND NOT WEBGL)
set(LINUX TRUE)
endif()
+if (LINUX)
+ execute_process(COMMAND uname -p
+ OUTPUT_VARIABLE PROCESSOR_ARCH
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ if ("${PROCESSOR_ARCH}" STREQUAL "aarch64")
+ set(LINUX_AARCH64 TRUE)
+ endif()
+endif()
+
if (ANDROID OR WEBGL OR IOS)
set(IS_MOBILE_TARGET TRUE)
endif()
diff --git a/libs/bluegl/CMakeLists.txt b/libs/bluegl/CMakeLists.txt
index c5e6af13114..d4fc59c0ff2 100644
--- a/libs/bluegl/CMakeLists.txt
+++ b/libs/bluegl/CMakeLists.txt
@@ -25,7 +25,11 @@ elseif (APPLE AND NOT IOS)
set(SRCS ${SRCS} src/BlueGLCoreDarwinImpl.S)
elseif(LINUX)
set(SRCS ${SRCS} src/BlueGLLinux.cpp)
- set(SRCS ${SRCS} src/BlueGLCoreLinuxImpl.S)
+ if (LINUX_AARCH64)
+ set(SRCS ${SRCS} src/BlueGLCoreLinuxAArch64Impl.S)
+ else()
+ set(SRCS ${SRCS} src/BlueGLCoreLinuxImpl.S)
+ endif()
else()
message(FATAL_ERROR "Platform not supported. BlueGL supports Windows, Linux, and MacOS X.")
endif()
diff --git a/libs/bluegl/bluegl-gen.py b/libs/bluegl/bluegl-gen.py
index 1213de4e779..8748723a593 100755
--- a/libs/bluegl/bluegl-gen.py
+++ b/libs/bluegl/bluegl-gen.py
@@ -218,12 +218,14 @@ def generateProxies(api, functions, output_dir, platforms):
osSpecificHeader = {
'Linux': header ,
+ 'LinuxAArch64': header ,
'Darwin': header ,
'Windows': headerMasM
}
osSpecificFooter = {
'Linux': '',
+ 'LinuxAArch64': '' ,
'Darwin': '',
'Windows': 'end\n'
}
@@ -235,6 +237,17 @@ def generateProxies(api, functions, output_dir, platforms):
%(function)s:
mov __blue_gl%(suffix)s_%(function)s@GOTPCREL(%%rip), %%r11
jmp *(%%r11)
+''',
+ 'LinuxAArch64': '''
+ .align 2
+ .global %(function)s
+ .type %(function)s, %%function
+%(function)s:
+ adrp x16, :got:__blue_gl%(suffix)s_%(function)s
+ ldr x16, [x16, #:got_lo12:__blue_gl%(suffix)s_%(function)s]
+ ldr x16, [x16]
+ br x16
+ .size %(function)s, .-%(function)s
''',
'Darwin': '''
.private_extern _%(function)s
@@ -326,7 +339,7 @@ def generateSource(api, functions, output_dir):
def generateApis(apis, include_dir, output_dir):
- platforms = ['Linux', 'Darwin', 'Windows']
+ platforms = ['Linux', 'LinuxAArch64', 'Darwin', 'Windows']
for api in apis:
functions = []
diff --git a/libs/bluegl/src/BlueGLCoreLinuxAArch64Impl.S b/libs/bluegl/src/BlueGLCoreLinuxAArch64Impl.S
new file mode 100644
index 00000000000..28174248261
--- /dev/null
+++ b/libs/bluegl/src/BlueGLCoreLinuxAArch64Impl.S
@@ -0,0 +1,25760 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**********************************************************************************************
+ * Generated by bluegl/bluegl-gen.py
+ * DO NOT EDIT
+ **********************************************************************************************/
+
+ .align 2
+ .global glMultiDrawArraysIndirectBindlessCountNV
+ .type glMultiDrawArraysIndirectBindlessCountNV, %function
+glMultiDrawArraysIndirectBindlessCountNV:
+ adrp x16, :got:__blue_glCore_glMultiDrawArraysIndirectBindlessCountNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawArraysIndirectBindlessCountNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawArraysIndirectBindlessCountNV, .-glMultiDrawArraysIndirectBindlessCountNV
+
+ .align 2
+ .global glCopyTexImage1D
+ .type glCopyTexImage1D, %function
+glCopyTexImage1D:
+ adrp x16, :got:__blue_glCore_glCopyTexImage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTexImage1D]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTexImage1D, .-glCopyTexImage1D
+
+ .align 2
+ .global glGetListParameterivSGIX
+ .type glGetListParameterivSGIX, %function
+glGetListParameterivSGIX:
+ adrp x16, :got:__blue_glCore_glGetListParameterivSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetListParameterivSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glGetListParameterivSGIX, .-glGetListParameterivSGIX
+
+ .align 2
+ .global glProgramUniform1i64ARB
+ .type glProgramUniform1i64ARB, %function
+glProgramUniform1i64ARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform1i64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1i64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1i64ARB, .-glProgramUniform1i64ARB
+
+ .align 2
+ .global glVertexArrayElementBuffer
+ .type glVertexArrayElementBuffer, %function
+glVertexArrayElementBuffer:
+ adrp x16, :got:__blue_glCore_glVertexArrayElementBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayElementBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayElementBuffer, .-glVertexArrayElementBuffer
+
+ .align 2
+ .global glHintPGI
+ .type glHintPGI, %function
+glHintPGI:
+ adrp x16, :got:__blue_glCore_glHintPGI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glHintPGI]
+ ldr x16, [x16]
+ br x16
+ .size glHintPGI, .-glHintPGI
+
+ .align 2
+ .global glStencilMaskSeparate
+ .type glStencilMaskSeparate, %function
+glStencilMaskSeparate:
+ adrp x16, :got:__blue_glCore_glStencilMaskSeparate
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilMaskSeparate]
+ ldr x16, [x16]
+ br x16
+ .size glStencilMaskSeparate, .-glStencilMaskSeparate
+
+ .align 2
+ .global glGetFramebufferAttachmentParameterivEXT
+ .type glGetFramebufferAttachmentParameterivEXT, %function
+glGetFramebufferAttachmentParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetFramebufferAttachmentParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFramebufferAttachmentParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetFramebufferAttachmentParameterivEXT, .-glGetFramebufferAttachmentParameterivEXT
+
+ .align 2
+ .global glTextureStorage3DMultisample
+ .type glTextureStorage3DMultisample, %function
+glTextureStorage3DMultisample:
+ adrp x16, :got:__blue_glCore_glTextureStorage3DMultisample
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorage3DMultisample]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorage3DMultisample, .-glTextureStorage3DMultisample
+
+ .align 2
+ .global glGetIntegerIndexedvEXT
+ .type glGetIntegerIndexedvEXT, %function
+glGetIntegerIndexedvEXT:
+ adrp x16, :got:__blue_glCore_glGetIntegerIndexedvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetIntegerIndexedvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetIntegerIndexedvEXT, .-glGetIntegerIndexedvEXT
+
+ .align 2
+ .global glTextureParameterfv
+ .type glTextureParameterfv, %function
+glTextureParameterfv:
+ adrp x16, :got:__blue_glCore_glTextureParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameterfv, .-glTextureParameterfv
+
+ .align 2
+ .global glTexRenderbufferNV
+ .type glTexRenderbufferNV, %function
+glTexRenderbufferNV:
+ adrp x16, :got:__blue_glCore_glTexRenderbufferNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexRenderbufferNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexRenderbufferNV, .-glTexRenderbufferNV
+
+ .align 2
+ .global glFrustumxOES
+ .type glFrustumxOES, %function
+glFrustumxOES:
+ adrp x16, :got:__blue_glCore_glFrustumxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFrustumxOES]
+ ldr x16, [x16]
+ br x16
+ .size glFrustumxOES, .-glFrustumxOES
+
+ .align 2
+ .global glProgramUniform4ui64ARB
+ .type glProgramUniform4ui64ARB, %function
+glProgramUniform4ui64ARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform4ui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4ui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4ui64ARB, .-glProgramUniform4ui64ARB
+
+ .align 2
+ .global glInstrumentsBufferSGIX
+ .type glInstrumentsBufferSGIX, %function
+glInstrumentsBufferSGIX:
+ adrp x16, :got:__blue_glCore_glInstrumentsBufferSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInstrumentsBufferSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glInstrumentsBufferSGIX, .-glInstrumentsBufferSGIX
+
+ .align 2
+ .global glMultiTexCoord2sARB
+ .type glMultiTexCoord2sARB, %function
+glMultiTexCoord2sARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2sARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2sARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2sARB, .-glMultiTexCoord2sARB
+
+ .align 2
+ .global glProgramEnvParameter4fARB
+ .type glProgramEnvParameter4fARB, %function
+glProgramEnvParameter4fARB:
+ adrp x16, :got:__blue_glCore_glProgramEnvParameter4fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParameter4fARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParameter4fARB, .-glProgramEnvParameter4fARB
+
+ .align 2
+ .global glCompressedTexSubImage3D
+ .type glCompressedTexSubImage3D, %function
+glCompressedTexSubImage3D:
+ adrp x16, :got:__blue_glCore_glCompressedTexSubImage3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexSubImage3D]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexSubImage3D, .-glCompressedTexSubImage3D
+
+ .align 2
+ .global glTexCoordP3uiv
+ .type glTexCoordP3uiv, %function
+glTexCoordP3uiv:
+ adrp x16, :got:__blue_glCore_glTexCoordP3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordP3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordP3uiv, .-glTexCoordP3uiv
+
+ .align 2
+ .global glSecondaryColor3hvNV
+ .type glSecondaryColor3hvNV, %function
+glSecondaryColor3hvNV:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3hvNV, .-glSecondaryColor3hvNV
+
+ .align 2
+ .global glTextureStorage3DEXT
+ .type glTextureStorage3DEXT, %function
+glTextureStorage3DEXT:
+ adrp x16, :got:__blue_glCore_glTextureStorage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorage3DEXT, .-glTextureStorage3DEXT
+
+ .align 2
+ .global glUniform4uiEXT
+ .type glUniform4uiEXT, %function
+glUniform4uiEXT:
+ adrp x16, :got:__blue_glCore_glUniform4uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4uiEXT, .-glUniform4uiEXT
+
+ .align 2
+ .global glProgramUniform3ui64ARB
+ .type glProgramUniform3ui64ARB, %function
+glProgramUniform3ui64ARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform3ui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3ui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3ui64ARB, .-glProgramUniform3ui64ARB
+
+ .align 2
+ .global glVertexArrayBindVertexBufferEXT
+ .type glVertexArrayBindVertexBufferEXT, %function
+glVertexArrayBindVertexBufferEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayBindVertexBufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayBindVertexBufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayBindVertexBufferEXT, .-glVertexArrayBindVertexBufferEXT
+
+ .align 2
+ .global glUniform3uiEXT
+ .type glUniform3uiEXT, %function
+glUniform3uiEXT:
+ adrp x16, :got:__blue_glCore_glUniform3uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3uiEXT, .-glUniform3uiEXT
+
+ .align 2
+ .global glVertexAttribI3uivEXT
+ .type glVertexAttribI3uivEXT, %function
+glVertexAttribI3uivEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI3uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI3uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI3uivEXT, .-glVertexAttribI3uivEXT
+
+ .align 2
+ .global glGetnMapfv
+ .type glGetnMapfv, %function
+glGetnMapfv:
+ adrp x16, :got:__blue_glCore_glGetnMapfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnMapfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetnMapfv, .-glGetnMapfv
+
+ .align 2
+ .global glTransformFeedbackBufferRange
+ .type glTransformFeedbackBufferRange, %function
+glTransformFeedbackBufferRange:
+ adrp x16, :got:__blue_glCore_glTransformFeedbackBufferRange
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTransformFeedbackBufferRange]
+ ldr x16, [x16]
+ br x16
+ .size glTransformFeedbackBufferRange, .-glTransformFeedbackBufferRange
+
+ .align 2
+ .global glPathGlyphsNV
+ .type glPathGlyphsNV, %function
+glPathGlyphsNV:
+ adrp x16, :got:__blue_glCore_glPathGlyphsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathGlyphsNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathGlyphsNV, .-glPathGlyphsNV
+
+ .align 2
+ .global glSecondaryColor3fv
+ .type glSecondaryColor3fv, %function
+glSecondaryColor3fv:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3fv]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3fv, .-glSecondaryColor3fv
+
+ .align 2
+ .global glGetCombinerInputParameterivNV
+ .type glGetCombinerInputParameterivNV, %function
+glGetCombinerInputParameterivNV:
+ adrp x16, :got:__blue_glCore_glGetCombinerInputParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCombinerInputParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetCombinerInputParameterivNV, .-glGetCombinerInputParameterivNV
+
+ .align 2
+ .global glEndPerfMonitorAMD
+ .type glEndPerfMonitorAMD, %function
+glEndPerfMonitorAMD:
+ adrp x16, :got:__blue_glCore_glEndPerfMonitorAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndPerfMonitorAMD]
+ ldr x16, [x16]
+ br x16
+ .size glEndPerfMonitorAMD, .-glEndPerfMonitorAMD
+
+ .align 2
+ .global glVertexP4ui
+ .type glVertexP4ui, %function
+glVertexP4ui:
+ adrp x16, :got:__blue_glCore_glVertexP4ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexP4ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexP4ui, .-glVertexP4ui
+
+ .align 2
+ .global glDrawElementsInstancedBaseInstance
+ .type glDrawElementsInstancedBaseInstance, %function
+glDrawElementsInstancedBaseInstance:
+ adrp x16, :got:__blue_glCore_glDrawElementsInstancedBaseInstance
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElementsInstancedBaseInstance]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElementsInstancedBaseInstance, .-glDrawElementsInstancedBaseInstance
+
+ .align 2
+ .global glMultTransposeMatrixdARB
+ .type glMultTransposeMatrixdARB, %function
+glMultTransposeMatrixdARB:
+ adrp x16, :got:__blue_glCore_glMultTransposeMatrixdARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultTransposeMatrixdARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultTransposeMatrixdARB, .-glMultTransposeMatrixdARB
+
+ .align 2
+ .global glVertexAttribL4dEXT
+ .type glVertexAttribL4dEXT, %function
+glVertexAttribL4dEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribL4dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL4dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL4dEXT, .-glVertexAttribL4dEXT
+
+ .align 2
+ .global glGetTextureParameterivEXT
+ .type glGetTextureParameterivEXT, %function
+glGetTextureParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetTextureParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureParameterivEXT, .-glGetTextureParameterivEXT
+
+ .align 2
+ .global glCoverStrokePathInstancedNV
+ .type glCoverStrokePathInstancedNV, %function
+glCoverStrokePathInstancedNV:
+ adrp x16, :got:__blue_glCore_glCoverStrokePathInstancedNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCoverStrokePathInstancedNV]
+ ldr x16, [x16]
+ br x16
+ .size glCoverStrokePathInstancedNV, .-glCoverStrokePathInstancedNV
+
+ .align 2
+ .global glDeformSGIX
+ .type glDeformSGIX, %function
+glDeformSGIX:
+ adrp x16, :got:__blue_glCore_glDeformSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeformSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glDeformSGIX, .-glDeformSGIX
+
+ .align 2
+ .global glUniform2ui64NV
+ .type glUniform2ui64NV, %function
+glUniform2ui64NV:
+ adrp x16, :got:__blue_glCore_glUniform2ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2ui64NV, .-glUniform2ui64NV
+
+ .align 2
+ .global glCopyPathNV
+ .type glCopyPathNV, %function
+glCopyPathNV:
+ adrp x16, :got:__blue_glCore_glCopyPathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyPathNV]
+ ldr x16, [x16]
+ br x16
+ .size glCopyPathNV, .-glCopyPathNV
+
+ .align 2
+ .global glVertexAttribP4ui
+ .type glVertexAttribP4ui, %function
+glVertexAttribP4ui:
+ adrp x16, :got:__blue_glCore_glVertexAttribP4ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribP4ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribP4ui, .-glVertexAttribP4ui
+
+ .align 2
+ .global glIsBuffer
+ .type glIsBuffer, %function
+glIsBuffer:
+ adrp x16, :got:__blue_glCore_glIsBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glIsBuffer, .-glIsBuffer
+
+ .align 2
+ .global glGetMultisamplefv
+ .type glGetMultisamplefv, %function
+glGetMultisamplefv:
+ adrp x16, :got:__blue_glCore_glGetMultisamplefv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultisamplefv]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultisamplefv, .-glGetMultisamplefv
+
+ .align 2
+ .global glCompressedMultiTexSubImage3DEXT
+ .type glCompressedMultiTexSubImage3DEXT, %function
+glCompressedMultiTexSubImage3DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedMultiTexSubImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedMultiTexSubImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedMultiTexSubImage3DEXT, .-glCompressedMultiTexSubImage3DEXT
+
+ .align 2
+ .global glVDPAURegisterOutputSurfaceNV
+ .type glVDPAURegisterOutputSurfaceNV, %function
+glVDPAURegisterOutputSurfaceNV:
+ adrp x16, :got:__blue_glCore_glVDPAURegisterOutputSurfaceNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVDPAURegisterOutputSurfaceNV]
+ ldr x16, [x16]
+ br x16
+ .size glVDPAURegisterOutputSurfaceNV, .-glVDPAURegisterOutputSurfaceNV
+
+ .align 2
+ .global glProgramUniformMatrix4fv
+ .type glProgramUniformMatrix4fv, %function
+glProgramUniformMatrix4fv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4fv, .-glProgramUniformMatrix4fv
+
+ .align 2
+ .global glProgramUniform4fEXT
+ .type glProgramUniform4fEXT, %function
+glProgramUniform4fEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform4fEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4fEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4fEXT, .-glProgramUniform4fEXT
+
+ .align 2
+ .global glCoverStrokePathNV
+ .type glCoverStrokePathNV, %function
+glCoverStrokePathNV:
+ adrp x16, :got:__blue_glCore_glCoverStrokePathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCoverStrokePathNV]
+ ldr x16, [x16]
+ br x16
+ .size glCoverStrokePathNV, .-glCoverStrokePathNV
+
+ .align 2
+ .global glTextureImage2DMultisampleNV
+ .type glTextureImage2DMultisampleNV, %function
+glTextureImage2DMultisampleNV:
+ adrp x16, :got:__blue_glCore_glTextureImage2DMultisampleNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureImage2DMultisampleNV]
+ ldr x16, [x16]
+ br x16
+ .size glTextureImage2DMultisampleNV, .-glTextureImage2DMultisampleNV
+
+ .align 2
+ .global glVertex3bOES
+ .type glVertex3bOES, %function
+glVertex3bOES:
+ adrp x16, :got:__blue_glCore_glVertex3bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex3bOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex3bOES, .-glVertex3bOES
+
+ .align 2
+ .global glTessellationFactorAMD
+ .type glTessellationFactorAMD, %function
+glTessellationFactorAMD:
+ adrp x16, :got:__blue_glCore_glTessellationFactorAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTessellationFactorAMD]
+ ldr x16, [x16]
+ br x16
+ .size glTessellationFactorAMD, .-glTessellationFactorAMD
+
+ .align 2
+ .global glDebugMessageControl
+ .type glDebugMessageControl, %function
+glDebugMessageControl:
+ adrp x16, :got:__blue_glCore_glDebugMessageControl
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDebugMessageControl]
+ ldr x16, [x16]
+ br x16
+ .size glDebugMessageControl, .-glDebugMessageControl
+
+ .align 2
+ .global glIsObjectBufferATI
+ .type glIsObjectBufferATI, %function
+glIsObjectBufferATI:
+ adrp x16, :got:__blue_glCore_glIsObjectBufferATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsObjectBufferATI]
+ ldr x16, [x16]
+ br x16
+ .size glIsObjectBufferATI, .-glIsObjectBufferATI
+
+ .align 2
+ .global glProgramUniform4iEXT
+ .type glProgramUniform4iEXT, %function
+glProgramUniform4iEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform4iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4iEXT, .-glProgramUniform4iEXT
+
+ .align 2
+ .global glVertexAttrib4ubNV
+ .type glVertexAttrib4ubNV, %function
+glVertexAttrib4ubNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4ubNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4ubNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4ubNV, .-glVertexAttrib4ubNV
+
+ .align 2
+ .global glVertexAttrib2svARB
+ .type glVertexAttrib2svARB, %function
+glVertexAttrib2svARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2svARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2svARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2svARB, .-glVertexAttrib2svARB
+
+ .align 2
+ .global glMinSampleShadingARB
+ .type glMinSampleShadingARB, %function
+glMinSampleShadingARB:
+ adrp x16, :got:__blue_glCore_glMinSampleShadingARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMinSampleShadingARB]
+ ldr x16, [x16]
+ br x16
+ .size glMinSampleShadingARB, .-glMinSampleShadingARB
+
+ .align 2
+ .global glSpriteParameteriSGIX
+ .type glSpriteParameteriSGIX, %function
+glSpriteParameteriSGIX:
+ adrp x16, :got:__blue_glCore_glSpriteParameteriSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSpriteParameteriSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glSpriteParameteriSGIX, .-glSpriteParameteriSGIX
+
+ .align 2
+ .global glFragmentMaterialfSGIX
+ .type glFragmentMaterialfSGIX, %function
+glFragmentMaterialfSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentMaterialfSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentMaterialfSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentMaterialfSGIX, .-glFragmentMaterialfSGIX
+
+ .align 2
+ .global glVDPAUGetSurfaceivNV
+ .type glVDPAUGetSurfaceivNV, %function
+glVDPAUGetSurfaceivNV:
+ adrp x16, :got:__blue_glCore_glVDPAUGetSurfaceivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVDPAUGetSurfaceivNV]
+ ldr x16, [x16]
+ br x16
+ .size glVDPAUGetSurfaceivNV, .-glVDPAUGetSurfaceivNV
+
+ .align 2
+ .global glGetnMapiv
+ .type glGetnMapiv, %function
+glGetnMapiv:
+ adrp x16, :got:__blue_glCore_glGetnMapiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnMapiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetnMapiv, .-glGetnMapiv
+
+ .align 2
+ .global glGetInternalformatSampleivNV
+ .type glGetInternalformatSampleivNV, %function
+glGetInternalformatSampleivNV:
+ adrp x16, :got:__blue_glCore_glGetInternalformatSampleivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetInternalformatSampleivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetInternalformatSampleivNV, .-glGetInternalformatSampleivNV
+
+ .align 2
+ .global glVertexAttrib4ubv
+ .type glVertexAttrib4ubv, %function
+glVertexAttrib4ubv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4ubv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4ubv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4ubv, .-glVertexAttrib4ubv
+
+ .align 2
+ .global glGetBufferParameteriv
+ .type glGetBufferParameteriv, %function
+glGetBufferParameteriv:
+ adrp x16, :got:__blue_glCore_glGetBufferParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBufferParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetBufferParameteriv, .-glGetBufferParameteriv
+
+ .align 2
+ .global glVertexAttribs4hvNV
+ .type glVertexAttribs4hvNV, %function
+glVertexAttribs4hvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs4hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs4hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs4hvNV, .-glVertexAttribs4hvNV
+
+ .align 2
+ .global glVertexAttrib4NubvARB
+ .type glVertexAttrib4NubvARB, %function
+glVertexAttrib4NubvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4NubvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4NubvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4NubvARB, .-glVertexAttrib4NubvARB
+
+ .align 2
+ .global glMultiTexCoord3hvNV
+ .type glMultiTexCoord3hvNV, %function
+glMultiTexCoord3hvNV:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3hvNV, .-glMultiTexCoord3hvNV
+
+ .align 2
+ .global glMatrixPushEXT
+ .type glMatrixPushEXT, %function
+glMatrixPushEXT:
+ adrp x16, :got:__blue_glCore_glMatrixPushEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixPushEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixPushEXT, .-glMatrixPushEXT
+
+ .align 2
+ .global glProgramUniform2fEXT
+ .type glProgramUniform2fEXT, %function
+glProgramUniform2fEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform2fEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2fEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2fEXT, .-glProgramUniform2fEXT
+
+ .align 2
+ .global glMultiDrawElementsIndirectBindlessNV
+ .type glMultiDrawElementsIndirectBindlessNV, %function
+glMultiDrawElementsIndirectBindlessNV:
+ adrp x16, :got:__blue_glCore_glMultiDrawElementsIndirectBindlessNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawElementsIndirectBindlessNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawElementsIndirectBindlessNV, .-glMultiDrawElementsIndirectBindlessNV
+
+ .align 2
+ .global glBlitFramebuffer
+ .type glBlitFramebuffer, %function
+glBlitFramebuffer:
+ adrp x16, :got:__blue_glCore_glBlitFramebuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlitFramebuffer]
+ ldr x16, [x16]
+ br x16
+ .size glBlitFramebuffer, .-glBlitFramebuffer
+
+ .align 2
+ .global glMultiTexCoordP2ui
+ .type glMultiTexCoordP2ui, %function
+glMultiTexCoordP2ui:
+ adrp x16, :got:__blue_glCore_glMultiTexCoordP2ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoordP2ui]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoordP2ui, .-glMultiTexCoordP2ui
+
+ .align 2
+ .global glColorPointerListIBM
+ .type glColorPointerListIBM, %function
+glColorPointerListIBM:
+ adrp x16, :got:__blue_glCore_glColorPointerListIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorPointerListIBM]
+ ldr x16, [x16]
+ br x16
+ .size glColorPointerListIBM, .-glColorPointerListIBM
+
+ .align 2
+ .global glVertexAttribL4d
+ .type glVertexAttribL4d, %function
+glVertexAttribL4d:
+ adrp x16, :got:__blue_glCore_glVertexAttribL4d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL4d]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL4d, .-glVertexAttribL4d
+
+ .align 2
+ .global glGetFragmentMaterialfvSGIX
+ .type glGetFragmentMaterialfvSGIX, %function
+glGetFragmentMaterialfvSGIX:
+ adrp x16, :got:__blue_glCore_glGetFragmentMaterialfvSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFragmentMaterialfvSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glGetFragmentMaterialfvSGIX, .-glGetFragmentMaterialfvSGIX
+
+ .align 2
+ .global glGetProgramLocalParameterIuivNV
+ .type glGetProgramLocalParameterIuivNV, %function
+glGetProgramLocalParameterIuivNV:
+ adrp x16, :got:__blue_glCore_glGetProgramLocalParameterIuivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramLocalParameterIuivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramLocalParameterIuivNV, .-glGetProgramLocalParameterIuivNV
+
+ .align 2
+ .global glGetTexEnvxvOES
+ .type glGetTexEnvxvOES, %function
+glGetTexEnvxvOES:
+ adrp x16, :got:__blue_glCore_glGetTexEnvxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexEnvxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexEnvxvOES, .-glGetTexEnvxvOES
+
+ .align 2
+ .global glUniformMatrix3dv
+ .type glUniformMatrix3dv, %function
+glUniformMatrix3dv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix3dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix3dv, .-glUniformMatrix3dv
+
+ .align 2
+ .global glGetVertexAttribLdvEXT
+ .type glGetVertexAttribLdvEXT, %function
+glGetVertexAttribLdvEXT:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribLdvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribLdvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribLdvEXT, .-glGetVertexAttribLdvEXT
+
+ .align 2
+ .global glInvalidateBufferSubData
+ .type glInvalidateBufferSubData, %function
+glInvalidateBufferSubData:
+ adrp x16, :got:__blue_glCore_glInvalidateBufferSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInvalidateBufferSubData]
+ ldr x16, [x16]
+ br x16
+ .size glInvalidateBufferSubData, .-glInvalidateBufferSubData
+
+ .align 2
+ .global glResumeTransformFeedback
+ .type glResumeTransformFeedback, %function
+glResumeTransformFeedback:
+ adrp x16, :got:__blue_glCore_glResumeTransformFeedback
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glResumeTransformFeedback]
+ ldr x16, [x16]
+ br x16
+ .size glResumeTransformFeedback, .-glResumeTransformFeedback
+
+ .align 2
+ .global glInsertEventMarkerEXT
+ .type glInsertEventMarkerEXT, %function
+glInsertEventMarkerEXT:
+ adrp x16, :got:__blue_glCore_glInsertEventMarkerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInsertEventMarkerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glInsertEventMarkerEXT, .-glInsertEventMarkerEXT
+
+ .align 2
+ .global glTessellationModeAMD
+ .type glTessellationModeAMD, %function
+glTessellationModeAMD:
+ adrp x16, :got:__blue_glCore_glTessellationModeAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTessellationModeAMD]
+ ldr x16, [x16]
+ br x16
+ .size glTessellationModeAMD, .-glTessellationModeAMD
+
+ .align 2
+ .global glFinishAsyncSGIX
+ .type glFinishAsyncSGIX, %function
+glFinishAsyncSGIX:
+ adrp x16, :got:__blue_glCore_glFinishAsyncSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFinishAsyncSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFinishAsyncSGIX, .-glFinishAsyncSGIX
+
+ .align 2
+ .global glGetPerfMonitorCounterDataAMD
+ .type glGetPerfMonitorCounterDataAMD, %function
+glGetPerfMonitorCounterDataAMD:
+ adrp x16, :got:__blue_glCore_glGetPerfMonitorCounterDataAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPerfMonitorCounterDataAMD]
+ ldr x16, [x16]
+ br x16
+ .size glGetPerfMonitorCounterDataAMD, .-glGetPerfMonitorCounterDataAMD
+
+ .align 2
+ .global glMultiTexCoord1d
+ .type glMultiTexCoord1d, %function
+glMultiTexCoord1d:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1d]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1d, .-glMultiTexCoord1d
+
+ .align 2
+ .global glMultiTexCoord1f
+ .type glMultiTexCoord1f, %function
+glMultiTexCoord1f:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1f]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1f, .-glMultiTexCoord1f
+
+ .align 2
+ .global glGetMultiTexParameterivEXT
+ .type glGetMultiTexParameterivEXT, %function
+glGetMultiTexParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexParameterivEXT, .-glGetMultiTexParameterivEXT
+
+ .align 2
+ .global glProgramUniformMatrix3x4fvEXT
+ .type glProgramUniformMatrix3x4fvEXT, %function
+glProgramUniformMatrix3x4fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3x4fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3x4fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3x4fvEXT, .-glProgramUniformMatrix3x4fvEXT
+
+ .align 2
+ .global glVertexAttribI2i
+ .type glVertexAttribI2i, %function
+glVertexAttribI2i:
+ adrp x16, :got:__blue_glCore_glVertexAttribI2i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI2i]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI2i, .-glVertexAttribI2i
+
+ .align 2
+ .global glMultiTexCoord1i
+ .type glMultiTexCoord1i, %function
+glMultiTexCoord1i:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1i]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1i, .-glMultiTexCoord1i
+
+ .align 2
+ .global glMakeTextureHandleResidentARB
+ .type glMakeTextureHandleResidentARB, %function
+glMakeTextureHandleResidentARB:
+ adrp x16, :got:__blue_glCore_glMakeTextureHandleResidentARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeTextureHandleResidentARB]
+ ldr x16, [x16]
+ br x16
+ .size glMakeTextureHandleResidentARB, .-glMakeTextureHandleResidentARB
+
+ .align 2
+ .global glLoadProgramNV
+ .type glLoadProgramNV, %function
+glLoadProgramNV:
+ adrp x16, :got:__blue_glCore_glLoadProgramNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLoadProgramNV]
+ ldr x16, [x16]
+ br x16
+ .size glLoadProgramNV, .-glLoadProgramNV
+
+ .align 2
+ .global glWriteMaskEXT
+ .type glWriteMaskEXT, %function
+glWriteMaskEXT:
+ adrp x16, :got:__blue_glCore_glWriteMaskEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWriteMaskEXT]
+ ldr x16, [x16]
+ br x16
+ .size glWriteMaskEXT, .-glWriteMaskEXT
+
+ .align 2
+ .global glGetGraphicsResetStatus
+ .type glGetGraphicsResetStatus, %function
+glGetGraphicsResetStatus:
+ adrp x16, :got:__blue_glCore_glGetGraphicsResetStatus
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetGraphicsResetStatus]
+ ldr x16, [x16]
+ br x16
+ .size glGetGraphicsResetStatus, .-glGetGraphicsResetStatus
+
+ .align 2
+ .global glIsEnabled
+ .type glIsEnabled, %function
+glIsEnabled:
+ adrp x16, :got:__blue_glCore_glIsEnabled
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsEnabled]
+ ldr x16, [x16]
+ br x16
+ .size glIsEnabled, .-glIsEnabled
+
+ .align 2
+ .global glStencilOp
+ .type glStencilOp, %function
+glStencilOp:
+ adrp x16, :got:__blue_glCore_glStencilOp
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilOp]
+ ldr x16, [x16]
+ br x16
+ .size glStencilOp, .-glStencilOp
+
+ .align 2
+ .global glFramebufferTexture2D
+ .type glFramebufferTexture2D, %function
+glFramebufferTexture2D:
+ adrp x16, :got:__blue_glCore_glFramebufferTexture2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTexture2D]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTexture2D, .-glFramebufferTexture2D
+
+ .align 2
+ .global glGetFragmentLightfvSGIX
+ .type glGetFragmentLightfvSGIX, %function
+glGetFragmentLightfvSGIX:
+ adrp x16, :got:__blue_glCore_glGetFragmentLightfvSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFragmentLightfvSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glGetFragmentLightfvSGIX, .-glGetFragmentLightfvSGIX
+
+ .align 2
+ .global glListParameterfSGIX
+ .type glListParameterfSGIX, %function
+glListParameterfSGIX:
+ adrp x16, :got:__blue_glCore_glListParameterfSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glListParameterfSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glListParameterfSGIX, .-glListParameterfSGIX
+
+ .align 2
+ .global glMapNamedBufferRange
+ .type glMapNamedBufferRange, %function
+glMapNamedBufferRange:
+ adrp x16, :got:__blue_glCore_glMapNamedBufferRange
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapNamedBufferRange]
+ ldr x16, [x16]
+ br x16
+ .size glMapNamedBufferRange, .-glMapNamedBufferRange
+
+ .align 2
+ .global glNamedFramebufferRenderbufferEXT
+ .type glNamedFramebufferRenderbufferEXT, %function
+glNamedFramebufferRenderbufferEXT:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferRenderbufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferRenderbufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferRenderbufferEXT, .-glNamedFramebufferRenderbufferEXT
+
+ .align 2
+ .global glFragmentLightModelfSGIX
+ .type glFragmentLightModelfSGIX, %function
+glFragmentLightModelfSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentLightModelfSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentLightModelfSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentLightModelfSGIX, .-glFragmentLightModelfSGIX
+
+ .align 2
+ .global glIndexPointerEXT
+ .type glIndexPointerEXT, %function
+glIndexPointerEXT:
+ adrp x16, :got:__blue_glCore_glIndexPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIndexPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glIndexPointerEXT, .-glIndexPointerEXT
+
+ .align 2
+ .global glVertexArrayAttribIFormat
+ .type glVertexArrayAttribIFormat, %function
+glVertexArrayAttribIFormat:
+ adrp x16, :got:__blue_glCore_glVertexArrayAttribIFormat
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayAttribIFormat]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayAttribIFormat, .-glVertexArrayAttribIFormat
+
+ .align 2
+ .global glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN
+ .type glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, %function
+glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, .-glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN
+
+ .align 2
+ .global glReplacementCodeubvSUN
+ .type glReplacementCodeubvSUN, %function
+glReplacementCodeubvSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeubvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeubvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeubvSUN, .-glReplacementCodeubvSUN
+
+ .align 2
+ .global glGenFramebuffers
+ .type glGenFramebuffers, %function
+glGenFramebuffers:
+ adrp x16, :got:__blue_glCore_glGenFramebuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenFramebuffers]
+ ldr x16, [x16]
+ br x16
+ .size glGenFramebuffers, .-glGenFramebuffers
+
+ .align 2
+ .global glPixelMapx
+ .type glPixelMapx, %function
+glPixelMapx:
+ adrp x16, :got:__blue_glCore_glPixelMapx
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelMapx]
+ ldr x16, [x16]
+ br x16
+ .size glPixelMapx, .-glPixelMapx
+
+ .align 2
+ .global glTexSubImage3DEXT
+ .type glTexSubImage3DEXT, %function
+glTexSubImage3DEXT:
+ adrp x16, :got:__blue_glCore_glTexSubImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexSubImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTexSubImage3DEXT, .-glTexSubImage3DEXT
+
+ .align 2
+ .global glGetAttachedShaders
+ .type glGetAttachedShaders, %function
+glGetAttachedShaders:
+ adrp x16, :got:__blue_glCore_glGetAttachedShaders
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetAttachedShaders]
+ ldr x16, [x16]
+ br x16
+ .size glGetAttachedShaders, .-glGetAttachedShaders
+
+ .align 2
+ .global glGetPixelTexGenParameterfvSGIS
+ .type glGetPixelTexGenParameterfvSGIS, %function
+glGetPixelTexGenParameterfvSGIS:
+ adrp x16, :got:__blue_glCore_glGetPixelTexGenParameterfvSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPixelTexGenParameterfvSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glGetPixelTexGenParameterfvSGIS, .-glGetPixelTexGenParameterfvSGIS
+
+ .align 2
+ .global glProgramLocalParameters4fvEXT
+ .type glProgramLocalParameters4fvEXT, %function
+glProgramLocalParameters4fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramLocalParameters4fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParameters4fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParameters4fvEXT, .-glProgramLocalParameters4fvEXT
+
+ .align 2
+ .global glGetDebugMessageLogAMD
+ .type glGetDebugMessageLogAMD, %function
+glGetDebugMessageLogAMD:
+ adrp x16, :got:__blue_glCore_glGetDebugMessageLogAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetDebugMessageLogAMD]
+ ldr x16, [x16]
+ br x16
+ .size glGetDebugMessageLogAMD, .-glGetDebugMessageLogAMD
+
+ .align 2
+ .global glVertexStream4sATI
+ .type glVertexStream4sATI, %function
+glVertexStream4sATI:
+ adrp x16, :got:__blue_glCore_glVertexStream4sATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream4sATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream4sATI, .-glVertexStream4sATI
+
+ .align 2
+ .global glDeleteVertexArrays
+ .type glDeleteVertexArrays, %function
+glDeleteVertexArrays:
+ adrp x16, :got:__blue_glCore_glDeleteVertexArrays
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteVertexArrays]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteVertexArrays, .-glDeleteVertexArrays
+
+ .align 2
+ .global glGetnMapdvARB
+ .type glGetnMapdvARB, %function
+glGetnMapdvARB:
+ adrp x16, :got:__blue_glCore_glGetnMapdvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnMapdvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnMapdvARB, .-glGetnMapdvARB
+
+ .align 2
+ .global glOrthofOES
+ .type glOrthofOES, %function
+glOrthofOES:
+ adrp x16, :got:__blue_glCore_glOrthofOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glOrthofOES]
+ ldr x16, [x16]
+ br x16
+ .size glOrthofOES, .-glOrthofOES
+
+ .align 2
+ .global glViewportArrayv
+ .type glViewportArrayv, %function
+glViewportArrayv:
+ adrp x16, :got:__blue_glCore_glViewportArrayv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glViewportArrayv]
+ ldr x16, [x16]
+ br x16
+ .size glViewportArrayv, .-glViewportArrayv
+
+ .align 2
+ .global glDrawElementArrayATI
+ .type glDrawElementArrayATI, %function
+glDrawElementArrayATI:
+ adrp x16, :got:__blue_glCore_glDrawElementArrayATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElementArrayATI]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElementArrayATI, .-glDrawElementArrayATI
+
+ .align 2
+ .global glGetPathColorGenfvNV
+ .type glGetPathColorGenfvNV, %function
+glGetPathColorGenfvNV:
+ adrp x16, :got:__blue_glCore_glGetPathColorGenfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathColorGenfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathColorGenfvNV, .-glGetPathColorGenfvNV
+
+ .align 2
+ .global glWindowPos3iMESA
+ .type glWindowPos3iMESA, %function
+glWindowPos3iMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos3iMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3iMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3iMESA, .-glWindowPos3iMESA
+
+ .align 2
+ .global glColor4ubVertex2fSUN
+ .type glColor4ubVertex2fSUN, %function
+glColor4ubVertex2fSUN:
+ adrp x16, :got:__blue_glCore_glColor4ubVertex2fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor4ubVertex2fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glColor4ubVertex2fSUN, .-glColor4ubVertex2fSUN
+
+ .align 2
+ .global glTexCoord2fColor3fVertex3fSUN
+ .type glTexCoord2fColor3fVertex3fSUN, %function
+glTexCoord2fColor3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord2fColor3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2fColor3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2fColor3fVertex3fSUN, .-glTexCoord2fColor3fVertex3fSUN
+
+ .align 2
+ .global glUniform3ui64ARB
+ .type glUniform3ui64ARB, %function
+glUniform3ui64ARB:
+ adrp x16, :got:__blue_glCore_glUniform3ui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3ui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3ui64ARB, .-glUniform3ui64ARB
+
+ .align 2
+ .global glSecondaryColor3ubvEXT
+ .type glSecondaryColor3ubvEXT, %function
+glSecondaryColor3ubvEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3ubvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3ubvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3ubvEXT, .-glSecondaryColor3ubvEXT
+
+ .align 2
+ .global glGetNamedBufferSubDataEXT
+ .type glGetNamedBufferSubDataEXT, %function
+glGetNamedBufferSubDataEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedBufferSubDataEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedBufferSubDataEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedBufferSubDataEXT, .-glGetNamedBufferSubDataEXT
+
+ .align 2
+ .global glConvolutionFilter2D
+ .type glConvolutionFilter2D, %function
+glConvolutionFilter2D:
+ adrp x16, :got:__blue_glCore_glConvolutionFilter2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionFilter2D]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionFilter2D, .-glConvolutionFilter2D
+
+ .align 2
+ .global glMemoryBarrierByRegion
+ .type glMemoryBarrierByRegion, %function
+glMemoryBarrierByRegion:
+ adrp x16, :got:__blue_glCore_glMemoryBarrierByRegion
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMemoryBarrierByRegion]
+ ldr x16, [x16]
+ br x16
+ .size glMemoryBarrierByRegion, .-glMemoryBarrierByRegion
+
+ .align 2
+ .global glTexCoord2fNormal3fVertex3fSUN
+ .type glTexCoord2fNormal3fVertex3fSUN, %function
+glTexCoord2fNormal3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord2fNormal3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2fNormal3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2fNormal3fVertex3fSUN, .-glTexCoord2fNormal3fVertex3fSUN
+
+ .align 2
+ .global glMatrixRotatedEXT
+ .type glMatrixRotatedEXT, %function
+glMatrixRotatedEXT:
+ adrp x16, :got:__blue_glCore_glMatrixRotatedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixRotatedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixRotatedEXT, .-glMatrixRotatedEXT
+
+ .align 2
+ .global glIsProgramNV
+ .type glIsProgramNV, %function
+glIsProgramNV:
+ adrp x16, :got:__blue_glCore_glIsProgramNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsProgramNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsProgramNV, .-glIsProgramNV
+
+ .align 2
+ .global glUniform2dv
+ .type glUniform2dv, %function
+glUniform2dv:
+ adrp x16, :got:__blue_glCore_glUniform2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2dv, .-glUniform2dv
+
+ .align 2
+ .global glDepthBoundsEXT
+ .type glDepthBoundsEXT, %function
+glDepthBoundsEXT:
+ adrp x16, :got:__blue_glCore_glDepthBoundsEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthBoundsEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDepthBoundsEXT, .-glDepthBoundsEXT
+
+ .align 2
+ .global glVertexAttrib4hvNV
+ .type glVertexAttrib4hvNV, %function
+glVertexAttrib4hvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4hvNV, .-glVertexAttrib4hvNV
+
+ .align 2
+ .global glColorFragmentOp1ATI
+ .type glColorFragmentOp1ATI, %function
+glColorFragmentOp1ATI:
+ adrp x16, :got:__blue_glCore_glColorFragmentOp1ATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorFragmentOp1ATI]
+ ldr x16, [x16]
+ br x16
+ .size glColorFragmentOp1ATI, .-glColorFragmentOp1ATI
+
+ .align 2
+ .global glGetPointerv
+ .type glGetPointerv, %function
+glGetPointerv:
+ adrp x16, :got:__blue_glCore_glGetPointerv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPointerv]
+ ldr x16, [x16]
+ br x16
+ .size glGetPointerv, .-glGetPointerv
+
+ .align 2
+ .global glVertexBindingDivisor
+ .type glVertexBindingDivisor, %function
+glVertexBindingDivisor:
+ adrp x16, :got:__blue_glCore_glVertexBindingDivisor
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexBindingDivisor]
+ ldr x16, [x16]
+ br x16
+ .size glVertexBindingDivisor, .-glVertexBindingDivisor
+
+ .align 2
+ .global glGetUniformfv
+ .type glGetUniformfv, %function
+glGetUniformfv:
+ adrp x16, :got:__blue_glCore_glGetUniformfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformfv, .-glGetUniformfv
+
+ .align 2
+ .global glGetUniformuiv
+ .type glGetUniformuiv, %function
+glGetUniformuiv:
+ adrp x16, :got:__blue_glCore_glGetUniformuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformuiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformuiv, .-glGetUniformuiv
+
+ .align 2
+ .global glWindowPos3ivMESA
+ .type glWindowPos3ivMESA, %function
+glWindowPos3ivMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos3ivMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3ivMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3ivMESA, .-glWindowPos3ivMESA
+
+ .align 2
+ .global glGetnUniformfvARB
+ .type glGetnUniformfvARB, %function
+glGetnUniformfvARB:
+ adrp x16, :got:__blue_glCore_glGetnUniformfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnUniformfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnUniformfvARB, .-glGetnUniformfvARB
+
+ .align 2
+ .global glArrayObjectATI
+ .type glArrayObjectATI, %function
+glArrayObjectATI:
+ adrp x16, :got:__blue_glCore_glArrayObjectATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glArrayObjectATI]
+ ldr x16, [x16]
+ br x16
+ .size glArrayObjectATI, .-glArrayObjectATI
+
+ .align 2
+ .global glClearColorxOES
+ .type glClearColorxOES, %function
+glClearColorxOES:
+ adrp x16, :got:__blue_glCore_glClearColorxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearColorxOES]
+ ldr x16, [x16]
+ br x16
+ .size glClearColorxOES, .-glClearColorxOES
+
+ .align 2
+ .global glPNTrianglesiATI
+ .type glPNTrianglesiATI, %function
+glPNTrianglesiATI:
+ adrp x16, :got:__blue_glCore_glPNTrianglesiATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPNTrianglesiATI]
+ ldr x16, [x16]
+ br x16
+ .size glPNTrianglesiATI, .-glPNTrianglesiATI
+
+ .align 2
+ .global glSampleMaskIndexedNV
+ .type glSampleMaskIndexedNV, %function
+glSampleMaskIndexedNV:
+ adrp x16, :got:__blue_glCore_glSampleMaskIndexedNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSampleMaskIndexedNV]
+ ldr x16, [x16]
+ br x16
+ .size glSampleMaskIndexedNV, .-glSampleMaskIndexedNV
+
+ .align 2
+ .global glCompileShaderIncludeARB
+ .type glCompileShaderIncludeARB, %function
+glCompileShaderIncludeARB:
+ adrp x16, :got:__blue_glCore_glCompileShaderIncludeARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompileShaderIncludeARB]
+ ldr x16, [x16]
+ br x16
+ .size glCompileShaderIncludeARB, .-glCompileShaderIncludeARB
+
+ .align 2
+ .global glDrawElementsInstanced
+ .type glDrawElementsInstanced, %function
+glDrawElementsInstanced:
+ adrp x16, :got:__blue_glCore_glDrawElementsInstanced
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElementsInstanced]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElementsInstanced, .-glDrawElementsInstanced
+
+ .align 2
+ .global glVertexStream4svATI
+ .type glVertexStream4svATI, %function
+glVertexStream4svATI:
+ adrp x16, :got:__blue_glCore_glVertexStream4svATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream4svATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream4svATI, .-glVertexStream4svATI
+
+ .align 2
+ .global glMultiTexCoord4iARB
+ .type glMultiTexCoord4iARB, %function
+glMultiTexCoord4iARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4iARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4iARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4iARB, .-glMultiTexCoord4iARB
+
+ .align 2
+ .global glVariantfvEXT
+ .type glVariantfvEXT, %function
+glVariantfvEXT:
+ adrp x16, :got:__blue_glCore_glVariantfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVariantfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVariantfvEXT, .-glVariantfvEXT
+
+ .align 2
+ .global glMatrixLoadfEXT
+ .type glMatrixLoadfEXT, %function
+glMatrixLoadfEXT:
+ adrp x16, :got:__blue_glCore_glMatrixLoadfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixLoadfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixLoadfEXT, .-glMatrixLoadfEXT
+
+ .align 2
+ .global glLoadIdentityDeformationMapSGIX
+ .type glLoadIdentityDeformationMapSGIX, %function
+glLoadIdentityDeformationMapSGIX:
+ adrp x16, :got:__blue_glCore_glLoadIdentityDeformationMapSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLoadIdentityDeformationMapSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glLoadIdentityDeformationMapSGIX, .-glLoadIdentityDeformationMapSGIX
+
+ .align 2
+ .global glGetRenderbufferParameteriv
+ .type glGetRenderbufferParameteriv, %function
+glGetRenderbufferParameteriv:
+ adrp x16, :got:__blue_glCore_glGetRenderbufferParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetRenderbufferParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetRenderbufferParameteriv, .-glGetRenderbufferParameteriv
+
+ .align 2
+ .global glNamedRenderbufferStorage
+ .type glNamedRenderbufferStorage, %function
+glNamedRenderbufferStorage:
+ adrp x16, :got:__blue_glCore_glNamedRenderbufferStorage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedRenderbufferStorage]
+ ldr x16, [x16]
+ br x16
+ .size glNamedRenderbufferStorage, .-glNamedRenderbufferStorage
+
+ .align 2
+ .global glProgramPathFragmentInputGenNV
+ .type glProgramPathFragmentInputGenNV, %function
+glProgramPathFragmentInputGenNV:
+ adrp x16, :got:__blue_glCore_glProgramPathFragmentInputGenNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramPathFragmentInputGenNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramPathFragmentInputGenNV, .-glProgramPathFragmentInputGenNV
+
+ .align 2
+ .global glFogCoordPointerListIBM
+ .type glFogCoordPointerListIBM, %function
+glFogCoordPointerListIBM:
+ adrp x16, :got:__blue_glCore_glFogCoordPointerListIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordPointerListIBM]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordPointerListIBM, .-glFogCoordPointerListIBM
+
+ .align 2
+ .global glFenceSync
+ .type glFenceSync, %function
+glFenceSync:
+ adrp x16, :got:__blue_glCore_glFenceSync
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFenceSync]
+ ldr x16, [x16]
+ br x16
+ .size glFenceSync, .-glFenceSync
+
+ .align 2
+ .global glGetVertexAttribIivEXT
+ .type glGetVertexAttribIivEXT, %function
+glGetVertexAttribIivEXT:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribIivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribIivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribIivEXT, .-glGetVertexAttribIivEXT
+
+ .align 2
+ .global glFramebufferDrawBuffersEXT
+ .type glFramebufferDrawBuffersEXT, %function
+glFramebufferDrawBuffersEXT:
+ adrp x16, :got:__blue_glCore_glFramebufferDrawBuffersEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferDrawBuffersEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferDrawBuffersEXT, .-glFramebufferDrawBuffersEXT
+
+ .align 2
+ .global glVertexAttribs4fvNV
+ .type glVertexAttribs4fvNV, %function
+glVertexAttribs4fvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs4fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs4fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs4fvNV, .-glVertexAttribs4fvNV
+
+ .align 2
+ .global glVertexAttrib3sv
+ .type glVertexAttrib3sv, %function
+glVertexAttrib3sv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3sv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3sv, .-glVertexAttrib3sv
+
+ .align 2
+ .global glGetQueryObjecti64vEXT
+ .type glGetQueryObjecti64vEXT, %function
+glGetQueryObjecti64vEXT:
+ adrp x16, :got:__blue_glCore_glGetQueryObjecti64vEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryObjecti64vEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryObjecti64vEXT, .-glGetQueryObjecti64vEXT
+
+ .align 2
+ .global glProgramUniform4uiEXT
+ .type glProgramUniform4uiEXT, %function
+glProgramUniform4uiEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform4uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4uiEXT, .-glProgramUniform4uiEXT
+
+ .align 2
+ .global glValidateProgramPipeline
+ .type glValidateProgramPipeline, %function
+glValidateProgramPipeline:
+ adrp x16, :got:__blue_glCore_glValidateProgramPipeline
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glValidateProgramPipeline]
+ ldr x16, [x16]
+ br x16
+ .size glValidateProgramPipeline, .-glValidateProgramPipeline
+
+ .align 2
+ .global glVertexAttrib3hvNV
+ .type glVertexAttrib3hvNV, %function
+glVertexAttrib3hvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3hvNV, .-glVertexAttrib3hvNV
+
+ .align 2
+ .global glTexPageCommitmentARB
+ .type glTexPageCommitmentARB, %function
+glTexPageCommitmentARB:
+ adrp x16, :got:__blue_glCore_glTexPageCommitmentARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexPageCommitmentARB]
+ ldr x16, [x16]
+ br x16
+ .size glTexPageCommitmentARB, .-glTexPageCommitmentARB
+
+ .align 2
+ .global glGetInstrumentsSGIX
+ .type glGetInstrumentsSGIX, %function
+glGetInstrumentsSGIX:
+ adrp x16, :got:__blue_glCore_glGetInstrumentsSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetInstrumentsSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glGetInstrumentsSGIX, .-glGetInstrumentsSGIX
+
+ .align 2
+ .global glWindowPos3dvARB
+ .type glWindowPos3dvARB, %function
+glWindowPos3dvARB:
+ adrp x16, :got:__blue_glCore_glWindowPos3dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3dvARB, .-glWindowPos3dvARB
+
+ .align 2
+ .global glStencilStrokePathInstancedNV
+ .type glStencilStrokePathInstancedNV, %function
+glStencilStrokePathInstancedNV:
+ adrp x16, :got:__blue_glCore_glStencilStrokePathInstancedNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilStrokePathInstancedNV]
+ ldr x16, [x16]
+ br x16
+ .size glStencilStrokePathInstancedNV, .-glStencilStrokePathInstancedNV
+
+ .align 2
+ .global glTexEnvxvOES
+ .type glTexEnvxvOES, %function
+glTexEnvxvOES:
+ adrp x16, :got:__blue_glCore_glTexEnvxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexEnvxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexEnvxvOES, .-glTexEnvxvOES
+
+ .align 2
+ .global glProgramUniform2i64NV
+ .type glProgramUniform2i64NV, %function
+glProgramUniform2i64NV:
+ adrp x16, :got:__blue_glCore_glProgramUniform2i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2i64NV, .-glProgramUniform2i64NV
+
+ .align 2
+ .global glVertex2xOES
+ .type glVertex2xOES, %function
+glVertex2xOES:
+ adrp x16, :got:__blue_glCore_glVertex2xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex2xOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex2xOES, .-glVertex2xOES
+
+ .align 2
+ .global glGenSamplers
+ .type glGenSamplers, %function
+glGenSamplers:
+ adrp x16, :got:__blue_glCore_glGenSamplers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenSamplers]
+ ldr x16, [x16]
+ br x16
+ .size glGenSamplers, .-glGenSamplers
+
+ .align 2
+ .global glProgramEnvParameterI4iNV
+ .type glProgramEnvParameterI4iNV, %function
+glProgramEnvParameterI4iNV:
+ adrp x16, :got:__blue_glCore_glProgramEnvParameterI4iNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParameterI4iNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParameterI4iNV, .-glProgramEnvParameterI4iNV
+
+ .align 2
+ .global glVertexAttribs2fvNV
+ .type glVertexAttribs2fvNV, %function
+glVertexAttribs2fvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs2fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs2fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs2fvNV, .-glVertexAttribs2fvNV
+
+ .align 2
+ .global glDrawTransformFeedbackInstanced
+ .type glDrawTransformFeedbackInstanced, %function
+glDrawTransformFeedbackInstanced:
+ adrp x16, :got:__blue_glCore_glDrawTransformFeedbackInstanced
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawTransformFeedbackInstanced]
+ ldr x16, [x16]
+ br x16
+ .size glDrawTransformFeedbackInstanced, .-glDrawTransformFeedbackInstanced
+
+ .align 2
+ .global glStencilThenCoverStrokePathNV
+ .type glStencilThenCoverStrokePathNV, %function
+glStencilThenCoverStrokePathNV:
+ adrp x16, :got:__blue_glCore_glStencilThenCoverStrokePathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilThenCoverStrokePathNV]
+ ldr x16, [x16]
+ br x16
+ .size glStencilThenCoverStrokePathNV, .-glStencilThenCoverStrokePathNV
+
+ .align 2
+ .global glDeleteVertexArraysAPPLE
+ .type glDeleteVertexArraysAPPLE, %function
+glDeleteVertexArraysAPPLE:
+ adrp x16, :got:__blue_glCore_glDeleteVertexArraysAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteVertexArraysAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteVertexArraysAPPLE, .-glDeleteVertexArraysAPPLE
+
+ .align 2
+ .global glGetNamedBufferParameterui64vNV
+ .type glGetNamedBufferParameterui64vNV, %function
+glGetNamedBufferParameterui64vNV:
+ adrp x16, :got:__blue_glCore_glGetNamedBufferParameterui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedBufferParameterui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedBufferParameterui64vNV, .-glGetNamedBufferParameterui64vNV
+
+ .align 2
+ .global glQueryMatrixxOES
+ .type glQueryMatrixxOES, %function
+glQueryMatrixxOES:
+ adrp x16, :got:__blue_glCore_glQueryMatrixxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glQueryMatrixxOES]
+ ldr x16, [x16]
+ br x16
+ .size glQueryMatrixxOES, .-glQueryMatrixxOES
+
+ .align 2
+ .global glTranslatexOES
+ .type glTranslatexOES, %function
+glTranslatexOES:
+ adrp x16, :got:__blue_glCore_glTranslatexOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTranslatexOES]
+ ldr x16, [x16]
+ br x16
+ .size glTranslatexOES, .-glTranslatexOES
+
+ .align 2
+ .global glDrawTransformFeedback
+ .type glDrawTransformFeedback, %function
+glDrawTransformFeedback:
+ adrp x16, :got:__blue_glCore_glDrawTransformFeedback
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawTransformFeedback]
+ ldr x16, [x16]
+ br x16
+ .size glDrawTransformFeedback, .-glDrawTransformFeedback
+
+ .align 2
+ .global glTexCoord2fColor4fNormal3fVertex3fvSUN
+ .type glTexCoord2fColor4fNormal3fVertex3fvSUN, %function
+glTexCoord2fColor4fNormal3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord2fColor4fNormal3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2fColor4fNormal3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2fColor4fNormal3fVertex3fvSUN, .-glTexCoord2fColor4fNormal3fVertex3fvSUN
+
+ .align 2
+ .global glVDPAURegisterVideoSurfaceNV
+ .type glVDPAURegisterVideoSurfaceNV, %function
+glVDPAURegisterVideoSurfaceNV:
+ adrp x16, :got:__blue_glCore_glVDPAURegisterVideoSurfaceNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVDPAURegisterVideoSurfaceNV]
+ ldr x16, [x16]
+ br x16
+ .size glVDPAURegisterVideoSurfaceNV, .-glVDPAURegisterVideoSurfaceNV
+
+ .align 2
+ .global glGetTexParameterIuiv
+ .type glGetTexParameterIuiv, %function
+glGetTexParameterIuiv:
+ adrp x16, :got:__blue_glCore_glGetTexParameterIuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexParameterIuiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexParameterIuiv, .-glGetTexParameterIuiv
+
+ .align 2
+ .global glVertexStream2iATI
+ .type glVertexStream2iATI, %function
+glVertexStream2iATI:
+ adrp x16, :got:__blue_glCore_glVertexStream2iATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream2iATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream2iATI, .-glVertexStream2iATI
+
+ .align 2
+ .global glVertexAttrib4Nbv
+ .type glVertexAttrib4Nbv, %function
+glVertexAttrib4Nbv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4Nbv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4Nbv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4Nbv, .-glVertexAttrib4Nbv
+
+ .align 2
+ .global glListParameteriSGIX
+ .type glListParameteriSGIX, %function
+glListParameteriSGIX:
+ adrp x16, :got:__blue_glCore_glListParameteriSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glListParameteriSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glListParameteriSGIX, .-glListParameteriSGIX
+
+ .align 2
+ .global glBlendColorxOES
+ .type glBlendColorxOES, %function
+glBlendColorxOES:
+ adrp x16, :got:__blue_glCore_glBlendColorxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendColorxOES]
+ ldr x16, [x16]
+ br x16
+ .size glBlendColorxOES, .-glBlendColorxOES
+
+ .align 2
+ .global glUniformui64vNV
+ .type glUniformui64vNV, %function
+glUniformui64vNV:
+ adrp x16, :got:__blue_glCore_glUniformui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glUniformui64vNV, .-glUniformui64vNV
+
+ .align 2
+ .global glIsSync
+ .type glIsSync, %function
+glIsSync:
+ adrp x16, :got:__blue_glCore_glIsSync
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsSync]
+ ldr x16, [x16]
+ br x16
+ .size glIsSync, .-glIsSync
+
+ .align 2
+ .global glFogCoordhvNV
+ .type glFogCoordhvNV, %function
+glFogCoordhvNV:
+ adrp x16, :got:__blue_glCore_glFogCoordhvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordhvNV]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordhvNV, .-glFogCoordhvNV
+
+ .align 2
+ .global glFramebufferTextureLayerEXT
+ .type glFramebufferTextureLayerEXT, %function
+glFramebufferTextureLayerEXT:
+ adrp x16, :got:__blue_glCore_glFramebufferTextureLayerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTextureLayerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTextureLayerEXT, .-glFramebufferTextureLayerEXT
+
+ .align 2
+ .global glGetObjectPtrLabel
+ .type glGetObjectPtrLabel, %function
+glGetObjectPtrLabel:
+ adrp x16, :got:__blue_glCore_glGetObjectPtrLabel
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetObjectPtrLabel]
+ ldr x16, [x16]
+ br x16
+ .size glGetObjectPtrLabel, .-glGetObjectPtrLabel
+
+ .align 2
+ .global glTextureParameteri
+ .type glTextureParameteri, %function
+glTextureParameteri:
+ adrp x16, :got:__blue_glCore_glTextureParameteri
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameteri]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameteri, .-glTextureParameteri
+
+ .align 2
+ .global glTextureParameterf
+ .type glTextureParameterf, %function
+glTextureParameterf:
+ adrp x16, :got:__blue_glCore_glTextureParameterf
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameterf]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameterf, .-glTextureParameterf
+
+ .align 2
+ .global glUniformMatrix2x3dv
+ .type glUniformMatrix2x3dv, %function
+glUniformMatrix2x3dv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix2x3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix2x3dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix2x3dv, .-glUniformMatrix2x3dv
+
+ .align 2
+ .global glFramebufferDrawBufferEXT
+ .type glFramebufferDrawBufferEXT, %function
+glFramebufferDrawBufferEXT:
+ adrp x16, :got:__blue_glCore_glFramebufferDrawBufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferDrawBufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferDrawBufferEXT, .-glFramebufferDrawBufferEXT
+
+ .align 2
+ .global glCopyColorSubTable
+ .type glCopyColorSubTable, %function
+glCopyColorSubTable:
+ adrp x16, :got:__blue_glCore_glCopyColorSubTable
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyColorSubTable]
+ ldr x16, [x16]
+ br x16
+ .size glCopyColorSubTable, .-glCopyColorSubTable
+
+ .align 2
+ .global glVertexAttribL3d
+ .type glVertexAttribL3d, %function
+glVertexAttribL3d:
+ adrp x16, :got:__blue_glCore_glVertexAttribL3d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL3d]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL3d, .-glVertexAttribL3d
+
+ .align 2
+ .global glPathParameterfNV
+ .type glPathParameterfNV, %function
+glPathParameterfNV:
+ adrp x16, :got:__blue_glCore_glPathParameterfNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathParameterfNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathParameterfNV, .-glPathParameterfNV
+
+ .align 2
+ .global glMatrixLoadTranspose3x3fNV
+ .type glMatrixLoadTranspose3x3fNV, %function
+glMatrixLoadTranspose3x3fNV:
+ adrp x16, :got:__blue_glCore_glMatrixLoadTranspose3x3fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixLoadTranspose3x3fNV]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixLoadTranspose3x3fNV, .-glMatrixLoadTranspose3x3fNV
+
+ .align 2
+ .global glWindowPos2iv
+ .type glWindowPos2iv, %function
+glWindowPos2iv:
+ adrp x16, :got:__blue_glCore_glWindowPos2iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2iv]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2iv, .-glWindowPos2iv
+
+ .align 2
+ .global glDrawRangeElementsEXT
+ .type glDrawRangeElementsEXT, %function
+glDrawRangeElementsEXT:
+ adrp x16, :got:__blue_glCore_glDrawRangeElementsEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawRangeElementsEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDrawRangeElementsEXT, .-glDrawRangeElementsEXT
+
+ .align 2
+ .global glColor4xOES
+ .type glColor4xOES, %function
+glColor4xOES:
+ adrp x16, :got:__blue_glCore_glColor4xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor4xOES]
+ ldr x16, [x16]
+ br x16
+ .size glColor4xOES, .-glColor4xOES
+
+ .align 2
+ .global glFogCoordd
+ .type glFogCoordd, %function
+glFogCoordd:
+ adrp x16, :got:__blue_glCore_glFogCoordd
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordd]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordd, .-glFogCoordd
+
+ .align 2
+ .global glProgramUniform1ui
+ .type glProgramUniform1ui, %function
+glProgramUniform1ui:
+ adrp x16, :got:__blue_glCore_glProgramUniform1ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1ui]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1ui, .-glProgramUniform1ui
+
+ .align 2
+ .global glDeleteBuffersARB
+ .type glDeleteBuffersARB, %function
+glDeleteBuffersARB:
+ adrp x16, :got:__blue_glCore_glDeleteBuffersARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteBuffersARB]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteBuffersARB, .-glDeleteBuffersARB
+
+ .align 2
+ .global glUnmapBufferARB
+ .type glUnmapBufferARB, %function
+glUnmapBufferARB:
+ adrp x16, :got:__blue_glCore_glUnmapBufferARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUnmapBufferARB]
+ ldr x16, [x16]
+ br x16
+ .size glUnmapBufferARB, .-glUnmapBufferARB
+
+ .align 2
+ .global glCopyTexImage2D
+ .type glCopyTexImage2D, %function
+glCopyTexImage2D:
+ adrp x16, :got:__blue_glCore_glCopyTexImage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTexImage2D]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTexImage2D, .-glCopyTexImage2D
+
+ .align 2
+ .global glMaterialxOES
+ .type glMaterialxOES, %function
+glMaterialxOES:
+ adrp x16, :got:__blue_glCore_glMaterialxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMaterialxOES]
+ ldr x16, [x16]
+ br x16
+ .size glMaterialxOES, .-glMaterialxOES
+
+ .align 2
+ .global glProgramUniformMatrix2x4fvEXT
+ .type glProgramUniformMatrix2x4fvEXT, %function
+glProgramUniformMatrix2x4fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2x4fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2x4fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2x4fvEXT, .-glProgramUniformMatrix2x4fvEXT
+
+ .align 2
+ .global glTestObjectAPPLE
+ .type glTestObjectAPPLE, %function
+glTestObjectAPPLE:
+ adrp x16, :got:__blue_glCore_glTestObjectAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTestObjectAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glTestObjectAPPLE, .-glTestObjectAPPLE
+
+ .align 2
+ .global glRenderbufferStorageEXT
+ .type glRenderbufferStorageEXT, %function
+glRenderbufferStorageEXT:
+ adrp x16, :got:__blue_glCore_glRenderbufferStorageEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRenderbufferStorageEXT]
+ ldr x16, [x16]
+ br x16
+ .size glRenderbufferStorageEXT, .-glRenderbufferStorageEXT
+
+ .align 2
+ .global glVertexAttribL1ui64ARB
+ .type glVertexAttribL1ui64ARB, %function
+glVertexAttribL1ui64ARB:
+ adrp x16, :got:__blue_glCore_glVertexAttribL1ui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL1ui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL1ui64ARB, .-glVertexAttribL1ui64ARB
+
+ .align 2
+ .global glEndFragmentShaderATI
+ .type glEndFragmentShaderATI, %function
+glEndFragmentShaderATI:
+ adrp x16, :got:__blue_glCore_glEndFragmentShaderATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndFragmentShaderATI]
+ ldr x16, [x16]
+ br x16
+ .size glEndFragmentShaderATI, .-glEndFragmentShaderATI
+
+ .align 2
+ .global glPathParameterivNV
+ .type glPathParameterivNV, %function
+glPathParameterivNV:
+ adrp x16, :got:__blue_glCore_glPathParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathParameterivNV, .-glPathParameterivNV
+
+ .align 2
+ .global glUniform4uiv
+ .type glUniform4uiv, %function
+glUniform4uiv:
+ adrp x16, :got:__blue_glCore_glUniform4uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4uiv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4uiv, .-glUniform4uiv
+
+ .align 2
+ .global glFrameZoomSGIX
+ .type glFrameZoomSGIX, %function
+glFrameZoomSGIX:
+ adrp x16, :got:__blue_glCore_glFrameZoomSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFrameZoomSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFrameZoomSGIX, .-glFrameZoomSGIX
+
+ .align 2
+ .global glSecondaryColor3fEXT
+ .type glSecondaryColor3fEXT, %function
+glSecondaryColor3fEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3fEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3fEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3fEXT, .-glSecondaryColor3fEXT
+
+ .align 2
+ .global glVertexAttribL1dv
+ .type glVertexAttribL1dv, %function
+glVertexAttribL1dv:
+ adrp x16, :got:__blue_glCore_glVertexAttribL1dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL1dv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL1dv, .-glVertexAttribL1dv
+
+ .align 2
+ .global glNormalStream3svATI
+ .type glNormalStream3svATI, %function
+glNormalStream3svATI:
+ adrp x16, :got:__blue_glCore_glNormalStream3svATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalStream3svATI]
+ ldr x16, [x16]
+ br x16
+ .size glNormalStream3svATI, .-glNormalStream3svATI
+
+ .align 2
+ .global glPathStencilFuncNV
+ .type glPathStencilFuncNV, %function
+glPathStencilFuncNV:
+ adrp x16, :got:__blue_glCore_glPathStencilFuncNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathStencilFuncNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathStencilFuncNV, .-glPathStencilFuncNV
+
+ .align 2
+ .global glSetInvariantEXT
+ .type glSetInvariantEXT, %function
+glSetInvariantEXT:
+ adrp x16, :got:__blue_glCore_glSetInvariantEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSetInvariantEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSetInvariantEXT, .-glSetInvariantEXT
+
+ .align 2
+ .global glGetTexBumpParameterivATI
+ .type glGetTexBumpParameterivATI, %function
+glGetTexBumpParameterivATI:
+ adrp x16, :got:__blue_glCore_glGetTexBumpParameterivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexBumpParameterivATI]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexBumpParameterivATI, .-glGetTexBumpParameterivATI
+
+ .align 2
+ .global glBlendEquationSeparateEXT
+ .type glBlendEquationSeparateEXT, %function
+glBlendEquationSeparateEXT:
+ adrp x16, :got:__blue_glCore_glBlendEquationSeparateEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendEquationSeparateEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBlendEquationSeparateEXT, .-glBlendEquationSeparateEXT
+
+ .align 2
+ .global glEndOcclusionQueryNV
+ .type glEndOcclusionQueryNV, %function
+glEndOcclusionQueryNV:
+ adrp x16, :got:__blue_glCore_glEndOcclusionQueryNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndOcclusionQueryNV]
+ ldr x16, [x16]
+ br x16
+ .size glEndOcclusionQueryNV, .-glEndOcclusionQueryNV
+
+ .align 2
+ .global glScissorArrayv
+ .type glScissorArrayv, %function
+glScissorArrayv:
+ adrp x16, :got:__blue_glCore_glScissorArrayv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glScissorArrayv]
+ ldr x16, [x16]
+ br x16
+ .size glScissorArrayv, .-glScissorArrayv
+
+ .align 2
+ .global glMapTexture2DINTEL
+ .type glMapTexture2DINTEL, %function
+glMapTexture2DINTEL:
+ adrp x16, :got:__blue_glCore_glMapTexture2DINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapTexture2DINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glMapTexture2DINTEL, .-glMapTexture2DINTEL
+
+ .align 2
+ .global glGetVertexAttribArrayObjectfvATI
+ .type glGetVertexAttribArrayObjectfvATI, %function
+glGetVertexAttribArrayObjectfvATI:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribArrayObjectfvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribArrayObjectfvATI]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribArrayObjectfvATI, .-glGetVertexAttribArrayObjectfvATI
+
+ .align 2
+ .global glVertexAttrib4ubvNV
+ .type glVertexAttrib4ubvNV, %function
+glVertexAttrib4ubvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4ubvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4ubvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4ubvNV, .-glVertexAttrib4ubvNV
+
+ .align 2
+ .global glPointParameterfvARB
+ .type glPointParameterfvARB, %function
+glPointParameterfvARB:
+ adrp x16, :got:__blue_glCore_glPointParameterfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameterfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameterfvARB, .-glPointParameterfvARB
+
+ .align 2
+ .global glTagSampleBufferSGIX
+ .type glTagSampleBufferSGIX, %function
+glTagSampleBufferSGIX:
+ adrp x16, :got:__blue_glCore_glTagSampleBufferSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTagSampleBufferSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glTagSampleBufferSGIX, .-glTagSampleBufferSGIX
+
+ .align 2
+ .global glProgramUniformMatrix4dvEXT
+ .type glProgramUniformMatrix4dvEXT, %function
+glProgramUniformMatrix4dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4dvEXT, .-glProgramUniformMatrix4dvEXT
+
+ .align 2
+ .global glGetnColorTable
+ .type glGetnColorTable, %function
+glGetnColorTable:
+ adrp x16, :got:__blue_glCore_glGetnColorTable
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnColorTable]
+ ldr x16, [x16]
+ br x16
+ .size glGetnColorTable, .-glGetnColorTable
+
+ .align 2
+ .global glFramebufferTextureLayerARB
+ .type glFramebufferTextureLayerARB, %function
+glFramebufferTextureLayerARB:
+ adrp x16, :got:__blue_glCore_glFramebufferTextureLayerARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTextureLayerARB]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTextureLayerARB, .-glFramebufferTextureLayerARB
+
+ .align 2
+ .global glVertexAttribL2dvEXT
+ .type glVertexAttribL2dvEXT, %function
+glVertexAttribL2dvEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribL2dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL2dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL2dvEXT, .-glVertexAttribL2dvEXT
+
+ .align 2
+ .global glGetCombinerStageParameterfvNV
+ .type glGetCombinerStageParameterfvNV, %function
+glGetCombinerStageParameterfvNV:
+ adrp x16, :got:__blue_glCore_glGetCombinerStageParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCombinerStageParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetCombinerStageParameterfvNV, .-glGetCombinerStageParameterfvNV
+
+ .align 2
+ .global glMultiTexCoordP1uiv
+ .type glMultiTexCoordP1uiv, %function
+glMultiTexCoordP1uiv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoordP1uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoordP1uiv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoordP1uiv, .-glMultiTexCoordP1uiv
+
+ .align 2
+ .global glMapBuffer
+ .type glMapBuffer, %function
+glMapBuffer:
+ adrp x16, :got:__blue_glCore_glMapBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glMapBuffer, .-glMapBuffer
+
+ .align 2
+ .global glSecondaryColor3d
+ .type glSecondaryColor3d, %function
+glSecondaryColor3d:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3d]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3d, .-glSecondaryColor3d
+
+ .align 2
+ .global glSecondaryColor3f
+ .type glSecondaryColor3f, %function
+glSecondaryColor3f:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3f]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3f, .-glSecondaryColor3f
+
+ .align 2
+ .global glVertexAttribLFormat
+ .type glVertexAttribLFormat, %function
+glVertexAttribLFormat:
+ adrp x16, :got:__blue_glCore_glVertexAttribLFormat
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribLFormat]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribLFormat, .-glVertexAttribLFormat
+
+ .align 2
+ .global glSecondaryColor3b
+ .type glSecondaryColor3b, %function
+glSecondaryColor3b:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3b
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3b]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3b, .-glSecondaryColor3b
+
+ .align 2
+ .global glVertexStream1fATI
+ .type glVertexStream1fATI, %function
+glVertexStream1fATI:
+ adrp x16, :got:__blue_glCore_glVertexStream1fATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream1fATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream1fATI, .-glVertexStream1fATI
+
+ .align 2
+ .global glCoverageModulationNV
+ .type glCoverageModulationNV, %function
+glCoverageModulationNV:
+ adrp x16, :got:__blue_glCore_glCoverageModulationNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCoverageModulationNV]
+ ldr x16, [x16]
+ br x16
+ .size glCoverageModulationNV, .-glCoverageModulationNV
+
+ .align 2
+ .global glSecondaryColor3i
+ .type glSecondaryColor3i, %function
+glSecondaryColor3i:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3i]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3i, .-glSecondaryColor3i
+
+ .align 2
+ .global glDeleteSync
+ .type glDeleteSync, %function
+glDeleteSync:
+ adrp x16, :got:__blue_glCore_glDeleteSync
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteSync]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteSync, .-glDeleteSync
+
+ .align 2
+ .global glGetProgramParameterfvNV
+ .type glGetProgramParameterfvNV, %function
+glGetProgramParameterfvNV:
+ adrp x16, :got:__blue_glCore_glGetProgramParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramParameterfvNV, .-glGetProgramParameterfvNV
+
+ .align 2
+ .global glMaxShaderCompilerThreadsARB
+ .type glMaxShaderCompilerThreadsARB, %function
+glMaxShaderCompilerThreadsARB:
+ adrp x16, :got:__blue_glCore_glMaxShaderCompilerThreadsARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMaxShaderCompilerThreadsARB]
+ ldr x16, [x16]
+ br x16
+ .size glMaxShaderCompilerThreadsARB, .-glMaxShaderCompilerThreadsARB
+
+ .align 2
+ .global glUniformMatrix4x2dv
+ .type glUniformMatrix4x2dv, %function
+glUniformMatrix4x2dv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix4x2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix4x2dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix4x2dv, .-glUniformMatrix4x2dv
+
+ .align 2
+ .global glVertexArrayVertexAttribLOffsetEXT
+ .type glVertexArrayVertexAttribLOffsetEXT, %function
+glVertexArrayVertexAttribLOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexAttribLOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexAttribLOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexAttribLOffsetEXT, .-glVertexArrayVertexAttribLOffsetEXT
+
+ .align 2
+ .global glSecondaryColor3s
+ .type glSecondaryColor3s, %function
+glSecondaryColor3s:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3s]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3s, .-glSecondaryColor3s
+
+ .align 2
+ .global glIsImageHandleResidentNV
+ .type glIsImageHandleResidentNV, %function
+glIsImageHandleResidentNV:
+ adrp x16, :got:__blue_glCore_glIsImageHandleResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsImageHandleResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsImageHandleResidentNV, .-glIsImageHandleResidentNV
+
+ .align 2
+ .global glUniform3iv
+ .type glUniform3iv, %function
+glUniform3iv:
+ adrp x16, :got:__blue_glCore_glUniform3iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3iv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3iv, .-glUniform3iv
+
+ .align 2
+ .global glVertexAttribL3i64vNV
+ .type glVertexAttribL3i64vNV, %function
+glVertexAttribL3i64vNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL3i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL3i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL3i64vNV, .-glVertexAttribL3i64vNV
+
+ .align 2
+ .global glPolygonMode
+ .type glPolygonMode, %function
+glPolygonMode:
+ adrp x16, :got:__blue_glCore_glPolygonMode
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPolygonMode]
+ ldr x16, [x16]
+ br x16
+ .size glPolygonMode, .-glPolygonMode
+
+ .align 2
+ .global glProgramUniform4iv
+ .type glProgramUniform4iv, %function
+glProgramUniform4iv:
+ adrp x16, :got:__blue_glCore_glProgramUniform4iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4iv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4iv, .-glProgramUniform4iv
+
+ .align 2
+ .global glVertexAttrib1dvARB
+ .type glVertexAttrib1dvARB, %function
+glVertexAttrib1dvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1dvARB, .-glVertexAttrib1dvARB
+
+ .align 2
+ .global glTextureSubImage2DEXT
+ .type glTextureSubImage2DEXT, %function
+glTextureSubImage2DEXT:
+ adrp x16, :got:__blue_glCore_glTextureSubImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureSubImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureSubImage2DEXT, .-glTextureSubImage2DEXT
+
+ .align 2
+ .global glIsVertexArrayAPPLE
+ .type glIsVertexArrayAPPLE, %function
+glIsVertexArrayAPPLE:
+ adrp x16, :got:__blue_glCore_glIsVertexArrayAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsVertexArrayAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glIsVertexArrayAPPLE, .-glIsVertexArrayAPPLE
+
+ .align 2
+ .global glUseProgram
+ .type glUseProgram, %function
+glUseProgram:
+ adrp x16, :got:__blue_glCore_glUseProgram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUseProgram]
+ ldr x16, [x16]
+ br x16
+ .size glUseProgram, .-glUseProgram
+
+ .align 2
+ .global glGetProgramInfoLog
+ .type glGetProgramInfoLog, %function
+glGetProgramInfoLog:
+ adrp x16, :got:__blue_glCore_glGetProgramInfoLog
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramInfoLog]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramInfoLog, .-glGetProgramInfoLog
+
+ .align 2
+ .global glProgramEnvParametersI4uivNV
+ .type glProgramEnvParametersI4uivNV, %function
+glProgramEnvParametersI4uivNV:
+ adrp x16, :got:__blue_glCore_glProgramEnvParametersI4uivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParametersI4uivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParametersI4uivNV, .-glProgramEnvParametersI4uivNV
+
+ .align 2
+ .global glVertexArrayVertexAttribLFormatEXT
+ .type glVertexArrayVertexAttribLFormatEXT, %function
+glVertexArrayVertexAttribLFormatEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexAttribLFormatEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexAttribLFormatEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexAttribLFormatEXT, .-glVertexArrayVertexAttribLFormatEXT
+
+ .align 2
+ .global glUniform3fvARB
+ .type glUniform3fvARB, %function
+glUniform3fvARB:
+ adrp x16, :got:__blue_glCore_glUniform3fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3fvARB, .-glUniform3fvARB
+
+ .align 2
+ .global glProgramUniformMatrix3x2fvEXT
+ .type glProgramUniformMatrix3x2fvEXT, %function
+glProgramUniformMatrix3x2fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3x2fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3x2fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3x2fvEXT, .-glProgramUniformMatrix3x2fvEXT
+
+ .align 2
+ .global glCopyTextureSubImage3DEXT
+ .type glCopyTextureSubImage3DEXT, %function
+glCopyTextureSubImage3DEXT:
+ adrp x16, :got:__blue_glCore_glCopyTextureSubImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTextureSubImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTextureSubImage3DEXT, .-glCopyTextureSubImage3DEXT
+
+ .align 2
+ .global glBindBufferBaseNV
+ .type glBindBufferBaseNV, %function
+glBindBufferBaseNV:
+ adrp x16, :got:__blue_glCore_glBindBufferBaseNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBufferBaseNV]
+ ldr x16, [x16]
+ br x16
+ .size glBindBufferBaseNV, .-glBindBufferBaseNV
+
+ .align 2
+ .global glMultiTexCoord2bvOES
+ .type glMultiTexCoord2bvOES, %function
+glMultiTexCoord2bvOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2bvOES, .-glMultiTexCoord2bvOES
+
+ .align 2
+ .global glUniform3i64vARB
+ .type glUniform3i64vARB, %function
+glUniform3i64vARB:
+ adrp x16, :got:__blue_glCore_glUniform3i64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3i64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3i64vARB, .-glUniform3i64vARB
+
+ .align 2
+ .global glTextureLightEXT
+ .type glTextureLightEXT, %function
+glTextureLightEXT:
+ adrp x16, :got:__blue_glCore_glTextureLightEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureLightEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureLightEXT, .-glTextureLightEXT
+
+ .align 2
+ .global glMultiTexCoord3dARB
+ .type glMultiTexCoord3dARB, %function
+glMultiTexCoord3dARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3dARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3dARB, .-glMultiTexCoord3dARB
+
+ .align 2
+ .global glNamedFramebufferTextureEXT
+ .type glNamedFramebufferTextureEXT, %function
+glNamedFramebufferTextureEXT:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferTextureEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferTextureEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferTextureEXT, .-glNamedFramebufferTextureEXT
+
+ .align 2
+ .global glEvalCoord2xvOES
+ .type glEvalCoord2xvOES, %function
+glEvalCoord2xvOES:
+ adrp x16, :got:__blue_glCore_glEvalCoord2xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEvalCoord2xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glEvalCoord2xvOES, .-glEvalCoord2xvOES
+
+ .align 2
+ .global glBindFragDataLocationEXT
+ .type glBindFragDataLocationEXT, %function
+glBindFragDataLocationEXT:
+ adrp x16, :got:__blue_glCore_glBindFragDataLocationEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindFragDataLocationEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindFragDataLocationEXT, .-glBindFragDataLocationEXT
+
+ .align 2
+ .global glTexImage2DMultisampleCoverageNV
+ .type glTexImage2DMultisampleCoverageNV, %function
+glTexImage2DMultisampleCoverageNV:
+ adrp x16, :got:__blue_glCore_glTexImage2DMultisampleCoverageNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexImage2DMultisampleCoverageNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexImage2DMultisampleCoverageNV, .-glTexImage2DMultisampleCoverageNV
+
+ .align 2
+ .global glGetAttribLocationARB
+ .type glGetAttribLocationARB, %function
+glGetAttribLocationARB:
+ adrp x16, :got:__blue_glCore_glGetAttribLocationARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetAttribLocationARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetAttribLocationARB, .-glGetAttribLocationARB
+
+ .align 2
+ .global glDeleteShader
+ .type glDeleteShader, %function
+glDeleteShader:
+ adrp x16, :got:__blue_glCore_glDeleteShader
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteShader]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteShader, .-glDeleteShader
+
+ .align 2
+ .global glVertexAttrib1fARB
+ .type glVertexAttrib1fARB, %function
+glVertexAttrib1fARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1fARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1fARB, .-glVertexAttrib1fARB
+
+ .align 2
+ .global glTexCoord2fColor4ubVertex3fSUN
+ .type glTexCoord2fColor4ubVertex3fSUN, %function
+glTexCoord2fColor4ubVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord2fColor4ubVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2fColor4ubVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2fColor4ubVertex3fSUN, .-glTexCoord2fColor4ubVertex3fSUN
+
+ .align 2
+ .global glCopyTextureSubImage1D
+ .type glCopyTextureSubImage1D, %function
+glCopyTextureSubImage1D:
+ adrp x16, :got:__blue_glCore_glCopyTextureSubImage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTextureSubImage1D]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTextureSubImage1D, .-glCopyTextureSubImage1D
+
+ .align 2
+ .global glTextureParameteriEXT
+ .type glTextureParameteriEXT, %function
+glTextureParameteriEXT:
+ adrp x16, :got:__blue_glCore_glTextureParameteriEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameteriEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameteriEXT, .-glTextureParameteriEXT
+
+ .align 2
+ .global glMapParameterfvNV
+ .type glMapParameterfvNV, %function
+glMapParameterfvNV:
+ adrp x16, :got:__blue_glCore_glMapParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glMapParameterfvNV, .-glMapParameterfvNV
+
+ .align 2
+ .global glTextureParameterIuiv
+ .type glTextureParameterIuiv, %function
+glTextureParameterIuiv:
+ adrp x16, :got:__blue_glCore_glTextureParameterIuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameterIuiv]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameterIuiv, .-glTextureParameterIuiv
+
+ .align 2
+ .global glGetMinmaxParameterivEXT
+ .type glGetMinmaxParameterivEXT, %function
+glGetMinmaxParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetMinmaxParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMinmaxParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMinmaxParameterivEXT, .-glGetMinmaxParameterivEXT
+
+ .align 2
+ .global glGetVideoi64vNV
+ .type glGetVideoi64vNV, %function
+glGetVideoi64vNV:
+ adrp x16, :got:__blue_glCore_glGetVideoi64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVideoi64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVideoi64vNV, .-glGetVideoi64vNV
+
+ .align 2
+ .global glWindowPos3sARB
+ .type glWindowPos3sARB, %function
+glWindowPos3sARB:
+ adrp x16, :got:__blue_glCore_glWindowPos3sARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3sARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3sARB, .-glWindowPos3sARB
+
+ .align 2
+ .global glGetConvolutionParameterfv
+ .type glGetConvolutionParameterfv, %function
+glGetConvolutionParameterfv:
+ adrp x16, :got:__blue_glCore_glGetConvolutionParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetConvolutionParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetConvolutionParameterfv, .-glGetConvolutionParameterfv
+
+ .align 2
+ .global glUniform2ui
+ .type glUniform2ui, %function
+glUniform2ui:
+ adrp x16, :got:__blue_glCore_glUniform2ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2ui]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2ui, .-glUniform2ui
+
+ .align 2
+ .global glVertexAttribI3i
+ .type glVertexAttribI3i, %function
+glVertexAttribI3i:
+ adrp x16, :got:__blue_glCore_glVertexAttribI3i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI3i]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI3i, .-glVertexAttribI3i
+
+ .align 2
+ .global glTexCoord2xOES
+ .type glTexCoord2xOES, %function
+glTexCoord2xOES:
+ adrp x16, :got:__blue_glCore_glTexCoord2xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2xOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2xOES, .-glTexCoord2xOES
+
+ .align 2
+ .global glVertexAttribFormat
+ .type glVertexAttribFormat, %function
+glVertexAttribFormat:
+ adrp x16, :got:__blue_glCore_glVertexAttribFormat
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribFormat]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribFormat, .-glVertexAttribFormat
+
+ .align 2
+ .global glGetProgramivARB
+ .type glGetProgramivARB, %function
+glGetProgramivARB:
+ adrp x16, :got:__blue_glCore_glGetProgramivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramivARB, .-glGetProgramivARB
+
+ .align 2
+ .global glPathGlyphRangeNV
+ .type glPathGlyphRangeNV, %function
+glPathGlyphRangeNV:
+ adrp x16, :got:__blue_glCore_glPathGlyphRangeNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathGlyphRangeNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathGlyphRangeNV, .-glPathGlyphRangeNV
+
+ .align 2
+ .global glVertexAttribI4usv
+ .type glVertexAttribI4usv, %function
+glVertexAttribI4usv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4usv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4usv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4usv, .-glVertexAttribI4usv
+
+ .align 2
+ .global glTexParameterf
+ .type glTexParameterf, %function
+glTexParameterf:
+ adrp x16, :got:__blue_glCore_glTexParameterf
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexParameterf]
+ ldr x16, [x16]
+ br x16
+ .size glTexParameterf, .-glTexParameterf
+
+ .align 2
+ .global glVertexAttribBinding
+ .type glVertexAttribBinding, %function
+glVertexAttribBinding:
+ adrp x16, :got:__blue_glCore_glVertexAttribBinding
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribBinding]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribBinding, .-glVertexAttribBinding
+
+ .align 2
+ .global glGetHistogramParameteriv
+ .type glGetHistogramParameteriv, %function
+glGetHistogramParameteriv:
+ adrp x16, :got:__blue_glCore_glGetHistogramParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetHistogramParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetHistogramParameteriv, .-glGetHistogramParameteriv
+
+ .align 2
+ .global glTexParameteri
+ .type glTexParameteri, %function
+glTexParameteri:
+ adrp x16, :got:__blue_glCore_glTexParameteri
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexParameteri]
+ ldr x16, [x16]
+ br x16
+ .size glTexParameteri, .-glTexParameteri
+
+ .align 2
+ .global glGetShaderSource
+ .type glGetShaderSource, %function
+glGetShaderSource:
+ adrp x16, :got:__blue_glCore_glGetShaderSource
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetShaderSource]
+ ldr x16, [x16]
+ br x16
+ .size glGetShaderSource, .-glGetShaderSource
+
+ .align 2
+ .global glFramebufferSampleLocationsfvNV
+ .type glFramebufferSampleLocationsfvNV, %function
+glFramebufferSampleLocationsfvNV:
+ adrp x16, :got:__blue_glCore_glFramebufferSampleLocationsfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferSampleLocationsfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferSampleLocationsfvNV, .-glFramebufferSampleLocationsfvNV
+
+ .align 2
+ .global glGetNextPerfQueryIdINTEL
+ .type glGetNextPerfQueryIdINTEL, %function
+glGetNextPerfQueryIdINTEL:
+ adrp x16, :got:__blue_glCore_glGetNextPerfQueryIdINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNextPerfQueryIdINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glGetNextPerfQueryIdINTEL, .-glGetNextPerfQueryIdINTEL
+
+ .align 2
+ .global glTextureBufferEXT
+ .type glTextureBufferEXT, %function
+glTextureBufferEXT:
+ adrp x16, :got:__blue_glCore_glTextureBufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureBufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureBufferEXT, .-glTextureBufferEXT
+
+ .align 2
+ .global glGetMultiTexImageEXT
+ .type glGetMultiTexImageEXT, %function
+glGetMultiTexImageEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexImageEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexImageEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexImageEXT, .-glGetMultiTexImageEXT
+
+ .align 2
+ .global glGetPathCoordsNV
+ .type glGetPathCoordsNV, %function
+glGetPathCoordsNV:
+ adrp x16, :got:__blue_glCore_glGetPathCoordsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathCoordsNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathCoordsNV, .-glGetPathCoordsNV
+
+ .align 2
+ .global glGenProgramPipelines
+ .type glGenProgramPipelines, %function
+glGenProgramPipelines:
+ adrp x16, :got:__blue_glCore_glGenProgramPipelines
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenProgramPipelines]
+ ldr x16, [x16]
+ br x16
+ .size glGenProgramPipelines, .-glGenProgramPipelines
+
+ .align 2
+ .global glBufferParameteriAPPLE
+ .type glBufferParameteriAPPLE, %function
+glBufferParameteriAPPLE:
+ adrp x16, :got:__blue_glCore_glBufferParameteriAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBufferParameteriAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glBufferParameteriAPPLE, .-glBufferParameteriAPPLE
+
+ .align 2
+ .global glTexStorageSparseAMD
+ .type glTexStorageSparseAMD, %function
+glTexStorageSparseAMD:
+ adrp x16, :got:__blue_glCore_glTexStorageSparseAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexStorageSparseAMD]
+ ldr x16, [x16]
+ br x16
+ .size glTexStorageSparseAMD, .-glTexStorageSparseAMD
+
+ .align 2
+ .global glGetNamedBufferParameteriv
+ .type glGetNamedBufferParameteriv, %function
+glGetNamedBufferParameteriv:
+ adrp x16, :got:__blue_glCore_glGetNamedBufferParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedBufferParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedBufferParameteriv, .-glGetNamedBufferParameteriv
+
+ .align 2
+ .global glTransformFeedbackVaryingsEXT
+ .type glTransformFeedbackVaryingsEXT, %function
+glTransformFeedbackVaryingsEXT:
+ adrp x16, :got:__blue_glCore_glTransformFeedbackVaryingsEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTransformFeedbackVaryingsEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTransformFeedbackVaryingsEXT, .-glTransformFeedbackVaryingsEXT
+
+ .align 2
+ .global glVertexAttribP1uiv
+ .type glVertexAttribP1uiv, %function
+glVertexAttribP1uiv:
+ adrp x16, :got:__blue_glCore_glVertexAttribP1uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribP1uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribP1uiv, .-glVertexAttribP1uiv
+
+ .align 2
+ .global glLinkProgram
+ .type glLinkProgram, %function
+glLinkProgram:
+ adrp x16, :got:__blue_glCore_glLinkProgram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLinkProgram]
+ ldr x16, [x16]
+ br x16
+ .size glLinkProgram, .-glLinkProgram
+
+ .align 2
+ .global glGetObjectLabel
+ .type glGetObjectLabel, %function
+glGetObjectLabel:
+ adrp x16, :got:__blue_glCore_glGetObjectLabel
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetObjectLabel]
+ ldr x16, [x16]
+ br x16
+ .size glGetObjectLabel, .-glGetObjectLabel
+
+ .align 2
+ .global glVertexPointerEXT
+ .type glVertexPointerEXT, %function
+glVertexPointerEXT:
+ adrp x16, :got:__blue_glCore_glVertexPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexPointerEXT, .-glVertexPointerEXT
+
+ .align 2
+ .global glDebugMessageCallbackARB
+ .type glDebugMessageCallbackARB, %function
+glDebugMessageCallbackARB:
+ adrp x16, :got:__blue_glCore_glDebugMessageCallbackARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDebugMessageCallbackARB]
+ ldr x16, [x16]
+ br x16
+ .size glDebugMessageCallbackARB, .-glDebugMessageCallbackARB
+
+ .align 2
+ .global glGetString
+ .type glGetString, %function
+glGetString:
+ adrp x16, :got:__blue_glCore_glGetString
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetString]
+ ldr x16, [x16]
+ br x16
+ .size glGetString, .-glGetString
+
+ .align 2
+ .global glGetPathParameterfvNV
+ .type glGetPathParameterfvNV, %function
+glGetPathParameterfvNV:
+ adrp x16, :got:__blue_glCore_glGetPathParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathParameterfvNV, .-glGetPathParameterfvNV
+
+ .align 2
+ .global glLightxvOES
+ .type glLightxvOES, %function
+glLightxvOES:
+ adrp x16, :got:__blue_glCore_glLightxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLightxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glLightxvOES, .-glLightxvOES
+
+ .align 2
+ .global glEndQuery
+ .type glEndQuery, %function
+glEndQuery:
+ adrp x16, :got:__blue_glCore_glEndQuery
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndQuery]
+ ldr x16, [x16]
+ br x16
+ .size glEndQuery, .-glEndQuery
+
+ .align 2
+ .global glSecondaryColor3uiv
+ .type glSecondaryColor3uiv, %function
+glSecondaryColor3uiv:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3uiv, .-glSecondaryColor3uiv
+
+ .align 2
+ .global glPrioritizeTexturesxOES
+ .type glPrioritizeTexturesxOES, %function
+glPrioritizeTexturesxOES:
+ adrp x16, :got:__blue_glCore_glPrioritizeTexturesxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPrioritizeTexturesxOES]
+ ldr x16, [x16]
+ br x16
+ .size glPrioritizeTexturesxOES, .-glPrioritizeTexturesxOES
+
+ .align 2
+ .global glFramebufferParameteri
+ .type glFramebufferParameteri, %function
+glFramebufferParameteri:
+ adrp x16, :got:__blue_glCore_glFramebufferParameteri
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferParameteri]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferParameteri, .-glFramebufferParameteri
+
+ .align 2
+ .global glTexCoord3hNV
+ .type glTexCoord3hNV, %function
+glTexCoord3hNV:
+ adrp x16, :got:__blue_glCore_glTexCoord3hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord3hNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord3hNV, .-glTexCoord3hNV
+
+ .align 2
+ .global glMultiModeDrawElementsIBM
+ .type glMultiModeDrawElementsIBM, %function
+glMultiModeDrawElementsIBM:
+ adrp x16, :got:__blue_glCore_glMultiModeDrawElementsIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiModeDrawElementsIBM]
+ ldr x16, [x16]
+ br x16
+ .size glMultiModeDrawElementsIBM, .-glMultiModeDrawElementsIBM
+
+ .align 2
+ .global glVertexAttribI2ui
+ .type glVertexAttribI2ui, %function
+glVertexAttribI2ui:
+ adrp x16, :got:__blue_glCore_glVertexAttribI2ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI2ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI2ui, .-glVertexAttribI2ui
+
+ .align 2
+ .global glUniform2iARB
+ .type glUniform2iARB, %function
+glUniform2iARB:
+ adrp x16, :got:__blue_glCore_glUniform2iARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2iARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2iARB, .-glUniform2iARB
+
+ .align 2
+ .global glColorPointervINTEL
+ .type glColorPointervINTEL, %function
+glColorPointervINTEL:
+ adrp x16, :got:__blue_glCore_glColorPointervINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorPointervINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glColorPointervINTEL, .-glColorPointervINTEL
+
+ .align 2
+ .global glDeleteTextures
+ .type glDeleteTextures, %function
+glDeleteTextures:
+ adrp x16, :got:__blue_glCore_glDeleteTextures
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteTextures]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteTextures, .-glDeleteTextures
+
+ .align 2
+ .global glGetMinmaxParameterfvEXT
+ .type glGetMinmaxParameterfvEXT, %function
+glGetMinmaxParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glGetMinmaxParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMinmaxParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMinmaxParameterfvEXT, .-glGetMinmaxParameterfvEXT
+
+ .align 2
+ .global glWindowPos3sMESA
+ .type glWindowPos3sMESA, %function
+glWindowPos3sMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos3sMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3sMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3sMESA, .-glWindowPos3sMESA
+
+ .align 2
+ .global glVertexAttrib4f
+ .type glVertexAttrib4f, %function
+glVertexAttrib4f:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4f]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4f, .-glVertexAttrib4f
+
+ .align 2
+ .global glNamedFramebufferParameteri
+ .type glNamedFramebufferParameteri, %function
+glNamedFramebufferParameteri:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferParameteri
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferParameteri]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferParameteri, .-glNamedFramebufferParameteri
+
+ .align 2
+ .global glTexCoord2fVertex3fvSUN
+ .type glTexCoord2fVertex3fvSUN, %function
+glTexCoord2fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord2fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2fVertex3fvSUN, .-glTexCoord2fVertex3fvSUN
+
+ .align 2
+ .global glReplacementCodeusSUN
+ .type glReplacementCodeusSUN, %function
+glReplacementCodeusSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeusSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeusSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeusSUN, .-glReplacementCodeusSUN
+
+ .align 2
+ .global glGetNamedFramebufferParameteriv
+ .type glGetNamedFramebufferParameteriv, %function
+glGetNamedFramebufferParameteriv:
+ adrp x16, :got:__blue_glCore_glGetNamedFramebufferParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedFramebufferParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedFramebufferParameteriv, .-glGetNamedFramebufferParameteriv
+
+ .align 2
+ .global glVertexStream1fvATI
+ .type glVertexStream1fvATI, %function
+glVertexStream1fvATI:
+ adrp x16, :got:__blue_glCore_glVertexStream1fvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream1fvATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream1fvATI, .-glVertexStream1fvATI
+
+ .align 2
+ .global glCreateVertexArrays
+ .type glCreateVertexArrays, %function
+glCreateVertexArrays:
+ adrp x16, :got:__blue_glCore_glCreateVertexArrays
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateVertexArrays]
+ ldr x16, [x16]
+ br x16
+ .size glCreateVertexArrays, .-glCreateVertexArrays
+
+ .align 2
+ .global glBeginConditionalRender
+ .type glBeginConditionalRender, %function
+glBeginConditionalRender:
+ adrp x16, :got:__blue_glCore_glBeginConditionalRender
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginConditionalRender]
+ ldr x16, [x16]
+ br x16
+ .size glBeginConditionalRender, .-glBeginConditionalRender
+
+ .align 2
+ .global glConvolutionFilter1D
+ .type glConvolutionFilter1D, %function
+glConvolutionFilter1D:
+ adrp x16, :got:__blue_glCore_glConvolutionFilter1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionFilter1D]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionFilter1D, .-glConvolutionFilter1D
+
+ .align 2
+ .global glMultiTexCoord3fARB
+ .type glMultiTexCoord3fARB, %function
+glMultiTexCoord3fARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3fARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3fARB, .-glMultiTexCoord3fARB
+
+ .align 2
+ .global glGetQueryObjectuivARB
+ .type glGetQueryObjectuivARB, %function
+glGetQueryObjectuivARB:
+ adrp x16, :got:__blue_glCore_glGetQueryObjectuivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryObjectuivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryObjectuivARB, .-glGetQueryObjectuivARB
+
+ .align 2
+ .global glScalexOES
+ .type glScalexOES, %function
+glScalexOES:
+ adrp x16, :got:__blue_glCore_glScalexOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glScalexOES]
+ ldr x16, [x16]
+ br x16
+ .size glScalexOES, .-glScalexOES
+
+ .align 2
+ .global glSamplerParameteri
+ .type glSamplerParameteri, %function
+glSamplerParameteri:
+ adrp x16, :got:__blue_glCore_glSamplerParameteri
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSamplerParameteri]
+ ldr x16, [x16]
+ br x16
+ .size glSamplerParameteri, .-glSamplerParameteri
+
+ .align 2
+ .global glSamplerParameterf
+ .type glSamplerParameterf, %function
+glSamplerParameterf:
+ adrp x16, :got:__blue_glCore_glSamplerParameterf
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSamplerParameterf]
+ ldr x16, [x16]
+ br x16
+ .size glSamplerParameterf, .-glSamplerParameterf
+
+ .align 2
+ .global glShaderOp1EXT
+ .type glShaderOp1EXT, %function
+glShaderOp1EXT:
+ adrp x16, :got:__blue_glCore_glShaderOp1EXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glShaderOp1EXT]
+ ldr x16, [x16]
+ br x16
+ .size glShaderOp1EXT, .-glShaderOp1EXT
+
+ .align 2
+ .global glBeginVideoCaptureNV
+ .type glBeginVideoCaptureNV, %function
+glBeginVideoCaptureNV:
+ adrp x16, :got:__blue_glCore_glBeginVideoCaptureNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginVideoCaptureNV]
+ ldr x16, [x16]
+ br x16
+ .size glBeginVideoCaptureNV, .-glBeginVideoCaptureNV
+
+ .align 2
+ .global glUniform1f
+ .type glUniform1f, %function
+glUniform1f:
+ adrp x16, :got:__blue_glCore_glUniform1f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1f]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1f, .-glUniform1f
+
+ .align 2
+ .global glUniform1d
+ .type glUniform1d, %function
+glUniform1d:
+ adrp x16, :got:__blue_glCore_glUniform1d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1d]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1d, .-glUniform1d
+
+ .align 2
+ .global glClearColorIiEXT
+ .type glClearColorIiEXT, %function
+glClearColorIiEXT:
+ adrp x16, :got:__blue_glCore_glClearColorIiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearColorIiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glClearColorIiEXT, .-glClearColorIiEXT
+
+ .align 2
+ .global glGetCompressedTexImage
+ .type glGetCompressedTexImage, %function
+glGetCompressedTexImage:
+ adrp x16, :got:__blue_glCore_glGetCompressedTexImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCompressedTexImage]
+ ldr x16, [x16]
+ br x16
+ .size glGetCompressedTexImage, .-glGetCompressedTexImage
+
+ .align 2
+ .global glDetailTexFuncSGIS
+ .type glDetailTexFuncSGIS, %function
+glDetailTexFuncSGIS:
+ adrp x16, :got:__blue_glCore_glDetailTexFuncSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDetailTexFuncSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glDetailTexFuncSGIS, .-glDetailTexFuncSGIS
+
+ .align 2
+ .global glUniform1i
+ .type glUniform1i, %function
+glUniform1i:
+ adrp x16, :got:__blue_glCore_glUniform1i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1i]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1i, .-glUniform1i
+
+ .align 2
+ .global glSetFenceNV
+ .type glSetFenceNV, %function
+glSetFenceNV:
+ adrp x16, :got:__blue_glCore_glSetFenceNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSetFenceNV]
+ ldr x16, [x16]
+ br x16
+ .size glSetFenceNV, .-glSetFenceNV
+
+ .align 2
+ .global glColorTableParameterivSGI
+ .type glColorTableParameterivSGI, %function
+glColorTableParameterivSGI:
+ adrp x16, :got:__blue_glCore_glColorTableParameterivSGI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorTableParameterivSGI]
+ ldr x16, [x16]
+ br x16
+ .size glColorTableParameterivSGI, .-glColorTableParameterivSGI
+
+ .align 2
+ .global glCullFace
+ .type glCullFace, %function
+glCullFace:
+ adrp x16, :got:__blue_glCore_glCullFace
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCullFace]
+ ldr x16, [x16]
+ br x16
+ .size glCullFace, .-glCullFace
+
+ .align 2
+ .global glDeleteFencesAPPLE
+ .type glDeleteFencesAPPLE, %function
+glDeleteFencesAPPLE:
+ adrp x16, :got:__blue_glCore_glDeleteFencesAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteFencesAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteFencesAPPLE, .-glDeleteFencesAPPLE
+
+ .align 2
+ .global glProgramUniform4i
+ .type glProgramUniform4i, %function
+glProgramUniform4i:
+ adrp x16, :got:__blue_glCore_glProgramUniform4i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4i]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4i, .-glProgramUniform4i
+
+ .align 2
+ .global glUniformHandleui64ARB
+ .type glUniformHandleui64ARB, %function
+glUniformHandleui64ARB:
+ adrp x16, :got:__blue_glCore_glUniformHandleui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformHandleui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniformHandleui64ARB, .-glUniformHandleui64ARB
+
+ .align 2
+ .global glProgramUniform4f
+ .type glProgramUniform4f, %function
+glProgramUniform4f:
+ adrp x16, :got:__blue_glCore_glProgramUniform4f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4f]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4f, .-glProgramUniform4f
+
+ .align 2
+ .global glViewportIndexedf
+ .type glViewportIndexedf, %function
+glViewportIndexedf:
+ adrp x16, :got:__blue_glCore_glViewportIndexedf
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glViewportIndexedf]
+ ldr x16, [x16]
+ br x16
+ .size glViewportIndexedf, .-glViewportIndexedf
+
+ .align 2
+ .global glProgramUniform4d
+ .type glProgramUniform4d, %function
+glProgramUniform4d:
+ adrp x16, :got:__blue_glCore_glProgramUniform4d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4d]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4d, .-glProgramUniform4d
+
+ .align 2
+ .global glTexCoord1xOES
+ .type glTexCoord1xOES, %function
+glTexCoord1xOES:
+ adrp x16, :got:__blue_glCore_glTexCoord1xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord1xOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord1xOES, .-glTexCoord1xOES
+
+ .align 2
+ .global glVertexStream3ivATI
+ .type glVertexStream3ivATI, %function
+glVertexStream3ivATI:
+ adrp x16, :got:__blue_glCore_glVertexStream3ivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream3ivATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream3ivATI, .-glVertexStream3ivATI
+
+ .align 2
+ .global glVertexAttribI2uiv
+ .type glVertexAttribI2uiv, %function
+glVertexAttribI2uiv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI2uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI2uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI2uiv, .-glVertexAttribI2uiv
+
+ .align 2
+ .global glEndQueryARB
+ .type glEndQueryARB, %function
+glEndQueryARB:
+ adrp x16, :got:__blue_glCore_glEndQueryARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndQueryARB]
+ ldr x16, [x16]
+ br x16
+ .size glEndQueryARB, .-glEndQueryARB
+
+ .align 2
+ .global glGetConvolutionParameterxvOES
+ .type glGetConvolutionParameterxvOES, %function
+glGetConvolutionParameterxvOES:
+ adrp x16, :got:__blue_glCore_glGetConvolutionParameterxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetConvolutionParameterxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetConvolutionParameterxvOES, .-glGetConvolutionParameterxvOES
+
+ .align 2
+ .global glVertexAttrib4uivARB
+ .type glVertexAttrib4uivARB, %function
+glVertexAttrib4uivARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4uivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4uivARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4uivARB, .-glVertexAttrib4uivARB
+
+ .align 2
+ .global glResumeTransformFeedbackNV
+ .type glResumeTransformFeedbackNV, %function
+glResumeTransformFeedbackNV:
+ adrp x16, :got:__blue_glCore_glResumeTransformFeedbackNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glResumeTransformFeedbackNV]
+ ldr x16, [x16]
+ br x16
+ .size glResumeTransformFeedbackNV, .-glResumeTransformFeedbackNV
+
+ .align 2
+ .global glAttachShader
+ .type glAttachShader, %function
+glAttachShader:
+ adrp x16, :got:__blue_glCore_glAttachShader
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glAttachShader]
+ ldr x16, [x16]
+ br x16
+ .size glAttachShader, .-glAttachShader
+
+ .align 2
+ .global glColor4hNV
+ .type glColor4hNV, %function
+glColor4hNV:
+ adrp x16, :got:__blue_glCore_glColor4hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor4hNV]
+ ldr x16, [x16]
+ br x16
+ .size glColor4hNV, .-glColor4hNV
+
+ .align 2
+ .global glTexCoord2fColor4ubVertex3fvSUN
+ .type glTexCoord2fColor4ubVertex3fvSUN, %function
+glTexCoord2fColor4ubVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord2fColor4ubVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2fColor4ubVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2fColor4ubVertex3fvSUN, .-glTexCoord2fColor4ubVertex3fvSUN
+
+ .align 2
+ .global glQueryCounter
+ .type glQueryCounter, %function
+glQueryCounter:
+ adrp x16, :got:__blue_glCore_glQueryCounter
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glQueryCounter]
+ ldr x16, [x16]
+ br x16
+ .size glQueryCounter, .-glQueryCounter
+
+ .align 2
+ .global glFogCoordPointer
+ .type glFogCoordPointer, %function
+glFogCoordPointer:
+ adrp x16, :got:__blue_glCore_glFogCoordPointer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordPointer]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordPointer, .-glFogCoordPointer
+
+ .align 2
+ .global glGetFogFuncSGIS
+ .type glGetFogFuncSGIS, %function
+glGetFogFuncSGIS:
+ adrp x16, :got:__blue_glCore_glGetFogFuncSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFogFuncSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glGetFogFuncSGIS, .-glGetFogFuncSGIS
+
+ .align 2
+ .global glUnmapNamedBuffer
+ .type glUnmapNamedBuffer, %function
+glUnmapNamedBuffer:
+ adrp x16, :got:__blue_glCore_glUnmapNamedBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUnmapNamedBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glUnmapNamedBuffer, .-glUnmapNamedBuffer
+
+ .align 2
+ .global glTexCoord4bvOES
+ .type glTexCoord4bvOES, %function
+glTexCoord4bvOES:
+ adrp x16, :got:__blue_glCore_glTexCoord4bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord4bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord4bvOES, .-glTexCoord4bvOES
+
+ .align 2
+ .global glVertexAttrib3fARB
+ .type glVertexAttrib3fARB, %function
+glVertexAttrib3fARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3fARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3fARB, .-glVertexAttrib3fARB
+
+ .align 2
+ .global glRasterPos2xOES
+ .type glRasterPos2xOES, %function
+glRasterPos2xOES:
+ adrp x16, :got:__blue_glCore_glRasterPos2xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRasterPos2xOES]
+ ldr x16, [x16]
+ br x16
+ .size glRasterPos2xOES, .-glRasterPos2xOES
+
+ .align 2
+ .global glColor4ubVertex2fvSUN
+ .type glColor4ubVertex2fvSUN, %function
+glColor4ubVertex2fvSUN:
+ adrp x16, :got:__blue_glCore_glColor4ubVertex2fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor4ubVertex2fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glColor4ubVertex2fvSUN, .-glColor4ubVertex2fvSUN
+
+ .align 2
+ .global glSecondaryColor3dv
+ .type glSecondaryColor3dv, %function
+glSecondaryColor3dv:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3dv]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3dv, .-glSecondaryColor3dv
+
+ .align 2
+ .global glVertexAttribI4sv
+ .type glVertexAttribI4sv, %function
+glVertexAttribI4sv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4sv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4sv, .-glVertexAttribI4sv
+
+ .align 2
+ .global glDrawTransformFeedbackStreamInstanced
+ .type glDrawTransformFeedbackStreamInstanced, %function
+glDrawTransformFeedbackStreamInstanced:
+ adrp x16, :got:__blue_glCore_glDrawTransformFeedbackStreamInstanced
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawTransformFeedbackStreamInstanced]
+ ldr x16, [x16]
+ br x16
+ .size glDrawTransformFeedbackStreamInstanced, .-glDrawTransformFeedbackStreamInstanced
+
+ .align 2
+ .global glVertexAttribL3ui64vNV
+ .type glVertexAttribL3ui64vNV, %function
+glVertexAttribL3ui64vNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL3ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL3ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL3ui64vNV, .-glVertexAttribL3ui64vNV
+
+ .align 2
+ .global glSpriteParameterfSGIX
+ .type glSpriteParameterfSGIX, %function
+glSpriteParameterfSGIX:
+ adrp x16, :got:__blue_glCore_glSpriteParameterfSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSpriteParameterfSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glSpriteParameterfSGIX, .-glSpriteParameterfSGIX
+
+ .align 2
+ .global glBindVideoCaptureStreamTextureNV
+ .type glBindVideoCaptureStreamTextureNV, %function
+glBindVideoCaptureStreamTextureNV:
+ adrp x16, :got:__blue_glCore_glBindVideoCaptureStreamTextureNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindVideoCaptureStreamTextureNV]
+ ldr x16, [x16]
+ br x16
+ .size glBindVideoCaptureStreamTextureNV, .-glBindVideoCaptureStreamTextureNV
+
+ .align 2
+ .global glTexParameterIuiv
+ .type glTexParameterIuiv, %function
+glTexParameterIuiv:
+ adrp x16, :got:__blue_glCore_glTexParameterIuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexParameterIuiv]
+ ldr x16, [x16]
+ br x16
+ .size glTexParameterIuiv, .-glTexParameterIuiv
+
+ .align 2
+ .global glFlushPixelDataRangeNV
+ .type glFlushPixelDataRangeNV, %function
+glFlushPixelDataRangeNV:
+ adrp x16, :got:__blue_glCore_glFlushPixelDataRangeNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFlushPixelDataRangeNV]
+ ldr x16, [x16]
+ br x16
+ .size glFlushPixelDataRangeNV, .-glFlushPixelDataRangeNV
+
+ .align 2
+ .global glWindowPos3fv
+ .type glWindowPos3fv, %function
+glWindowPos3fv:
+ adrp x16, :got:__blue_glCore_glWindowPos3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3fv]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3fv, .-glWindowPos3fv
+
+ .align 2
+ .global glVertexAttribLFormatNV
+ .type glVertexAttribLFormatNV, %function
+glVertexAttribLFormatNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribLFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribLFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribLFormatNV, .-glVertexAttribLFormatNV
+
+ .align 2
+ .global glMap2xOES
+ .type glMap2xOES, %function
+glMap2xOES:
+ adrp x16, :got:__blue_glCore_glMap2xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMap2xOES]
+ ldr x16, [x16]
+ br x16
+ .size glMap2xOES, .-glMap2xOES
+
+ .align 2
+ .global glGetColorTableSGI
+ .type glGetColorTableSGI, %function
+glGetColorTableSGI:
+ adrp x16, :got:__blue_glCore_glGetColorTableSGI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetColorTableSGI]
+ ldr x16, [x16]
+ br x16
+ .size glGetColorTableSGI, .-glGetColorTableSGI
+
+ .align 2
+ .global glGetCompressedTexImageARB
+ .type glGetCompressedTexImageARB, %function
+glGetCompressedTexImageARB:
+ adrp x16, :got:__blue_glCore_glGetCompressedTexImageARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCompressedTexImageARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetCompressedTexImageARB, .-glGetCompressedTexImageARB
+
+ .align 2
+ .global glConvolutionParameteri
+ .type glConvolutionParameteri, %function
+glConvolutionParameteri:
+ adrp x16, :got:__blue_glCore_glConvolutionParameteri
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionParameteri]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionParameteri, .-glConvolutionParameteri
+
+ .align 2
+ .global glVertexWeighthNV
+ .type glVertexWeighthNV, %function
+glVertexWeighthNV:
+ adrp x16, :got:__blue_glCore_glVertexWeighthNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexWeighthNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexWeighthNV, .-glVertexWeighthNV
+
+ .align 2
+ .global glConvolutionParameterf
+ .type glConvolutionParameterf, %function
+glConvolutionParameterf:
+ adrp x16, :got:__blue_glCore_glConvolutionParameterf
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionParameterf]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionParameterf, .-glConvolutionParameterf
+
+ .align 2
+ .global glVertexAttribI4ubvEXT
+ .type glVertexAttribI4ubvEXT, %function
+glVertexAttribI4ubvEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4ubvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4ubvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4ubvEXT, .-glVertexAttribI4ubvEXT
+
+ .align 2
+ .global glVertexAttrib1dNV
+ .type glVertexAttrib1dNV, %function
+glVertexAttrib1dNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1dNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1dNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1dNV, .-glVertexAttrib1dNV
+
+ .align 2
+ .global glUnmapObjectBufferATI
+ .type glUnmapObjectBufferATI, %function
+glUnmapObjectBufferATI:
+ adrp x16, :got:__blue_glCore_glUnmapObjectBufferATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUnmapObjectBufferATI]
+ ldr x16, [x16]
+ br x16
+ .size glUnmapObjectBufferATI, .-glUnmapObjectBufferATI
+
+ .align 2
+ .global glNamedProgramLocalParameterI4uiEXT
+ .type glNamedProgramLocalParameterI4uiEXT, %function
+glNamedProgramLocalParameterI4uiEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParameterI4uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParameterI4uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParameterI4uiEXT, .-glNamedProgramLocalParameterI4uiEXT
+
+ .align 2
+ .global glProgramUniform1iEXT
+ .type glProgramUniform1iEXT, %function
+glProgramUniform1iEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform1iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1iEXT, .-glProgramUniform1iEXT
+
+ .align 2
+ .global glDeleteQueriesARB
+ .type glDeleteQueriesARB, %function
+glDeleteQueriesARB:
+ adrp x16, :got:__blue_glCore_glDeleteQueriesARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteQueriesARB]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteQueriesARB, .-glDeleteQueriesARB
+
+ .align 2
+ .global glClearNamedBufferDataEXT
+ .type glClearNamedBufferDataEXT, %function
+glClearNamedBufferDataEXT:
+ adrp x16, :got:__blue_glCore_glClearNamedBufferDataEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearNamedBufferDataEXT]
+ ldr x16, [x16]
+ br x16
+ .size glClearNamedBufferDataEXT, .-glClearNamedBufferDataEXT
+
+ .align 2
+ .global glWindowPos3svARB
+ .type glWindowPos3svARB, %function
+glWindowPos3svARB:
+ adrp x16, :got:__blue_glCore_glWindowPos3svARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3svARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3svARB, .-glWindowPos3svARB
+
+ .align 2
+ .global glTextureStorage3D
+ .type glTextureStorage3D, %function
+glTextureStorage3D:
+ adrp x16, :got:__blue_glCore_glTextureStorage3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorage3D]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorage3D, .-glTextureStorage3D
+
+ .align 2
+ .global glGenPathsNV
+ .type glGenPathsNV, %function
+glGenPathsNV:
+ adrp x16, :got:__blue_glCore_glGenPathsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenPathsNV]
+ ldr x16, [x16]
+ br x16
+ .size glGenPathsNV, .-glGenPathsNV
+
+ .align 2
+ .global glStringMarkerGREMEDY
+ .type glStringMarkerGREMEDY, %function
+glStringMarkerGREMEDY:
+ adrp x16, :got:__blue_glCore_glStringMarkerGREMEDY
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStringMarkerGREMEDY]
+ ldr x16, [x16]
+ br x16
+ .size glStringMarkerGREMEDY, .-glStringMarkerGREMEDY
+
+ .align 2
+ .global glIsTransformFeedback
+ .type glIsTransformFeedback, %function
+glIsTransformFeedback:
+ adrp x16, :got:__blue_glCore_glIsTransformFeedback
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsTransformFeedback]
+ ldr x16, [x16]
+ br x16
+ .size glIsTransformFeedback, .-glIsTransformFeedback
+
+ .align 2
+ .global glProgramUniformMatrix2x3dvEXT
+ .type glProgramUniformMatrix2x3dvEXT, %function
+glProgramUniformMatrix2x3dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2x3dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2x3dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2x3dvEXT, .-glProgramUniformMatrix2x3dvEXT
+
+ .align 2
+ .global glGetObjectLabelEXT
+ .type glGetObjectLabelEXT, %function
+glGetObjectLabelEXT:
+ adrp x16, :got:__blue_glCore_glGetObjectLabelEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetObjectLabelEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetObjectLabelEXT, .-glGetObjectLabelEXT
+
+ .align 2
+ .global glUniformHandleui64vNV
+ .type glUniformHandleui64vNV, %function
+glUniformHandleui64vNV:
+ adrp x16, :got:__blue_glCore_glUniformHandleui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformHandleui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glUniformHandleui64vNV, .-glUniformHandleui64vNV
+
+ .align 2
+ .global glIsProgramPipeline
+ .type glIsProgramPipeline, %function
+glIsProgramPipeline:
+ adrp x16, :got:__blue_glCore_glIsProgramPipeline
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsProgramPipeline]
+ ldr x16, [x16]
+ br x16
+ .size glIsProgramPipeline, .-glIsProgramPipeline
+
+ .align 2
+ .global glGetNamedProgramStringEXT
+ .type glGetNamedProgramStringEXT, %function
+glGetNamedProgramStringEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedProgramStringEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedProgramStringEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedProgramStringEXT, .-glGetNamedProgramStringEXT
+
+ .align 2
+ .global glVertexAttrib4sNV
+ .type glVertexAttrib4sNV, %function
+glVertexAttrib4sNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4sNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4sNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4sNV, .-glVertexAttrib4sNV
+
+ .align 2
+ .global glProgramLocalParameter4dvARB
+ .type glProgramLocalParameter4dvARB, %function
+glProgramLocalParameter4dvARB:
+ adrp x16, :got:__blue_glCore_glProgramLocalParameter4dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParameter4dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParameter4dvARB, .-glProgramLocalParameter4dvARB
+
+ .align 2
+ .global glFogCoordFormatNV
+ .type glFogCoordFormatNV, %function
+glFogCoordFormatNV:
+ adrp x16, :got:__blue_glCore_glFogCoordFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordFormatNV, .-glFogCoordFormatNV
+
+ .align 2
+ .global glUniformMatrix3fv
+ .type glUniformMatrix3fv, %function
+glUniformMatrix3fv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix3fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix3fv, .-glUniformMatrix3fv
+
+ .align 2
+ .global glGetnMapfvARB
+ .type glGetnMapfvARB, %function
+glGetnMapfvARB:
+ adrp x16, :got:__blue_glCore_glGetnMapfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnMapfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnMapfvARB, .-glGetnMapfvARB
+
+ .align 2
+ .global glGetnUniformfv
+ .type glGetnUniformfv, %function
+glGetnUniformfv:
+ adrp x16, :got:__blue_glCore_glGetnUniformfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnUniformfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetnUniformfv, .-glGetnUniformfv
+
+ .align 2
+ .global glVertexAttribL2dv
+ .type glVertexAttribL2dv, %function
+glVertexAttribL2dv:
+ adrp x16, :got:__blue_glCore_glVertexAttribL2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL2dv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL2dv, .-glVertexAttribL2dv
+
+ .align 2
+ .global glVertexWeightPointerEXT
+ .type glVertexWeightPointerEXT, %function
+glVertexWeightPointerEXT:
+ adrp x16, :got:__blue_glCore_glVertexWeightPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexWeightPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexWeightPointerEXT, .-glVertexWeightPointerEXT
+
+ .align 2
+ .global glTangent3sEXT
+ .type glTangent3sEXT, %function
+glTangent3sEXT:
+ adrp x16, :got:__blue_glCore_glTangent3sEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangent3sEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangent3sEXT, .-glTangent3sEXT
+
+ .align 2
+ .global glSecondaryColorPointer
+ .type glSecondaryColorPointer, %function
+glSecondaryColorPointer:
+ adrp x16, :got:__blue_glCore_glSecondaryColorPointer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColorPointer]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColorPointer, .-glSecondaryColorPointer
+
+ .align 2
+ .global glGetNamedStringARB
+ .type glGetNamedStringARB, %function
+glGetNamedStringARB:
+ adrp x16, :got:__blue_glCore_glGetNamedStringARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedStringARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedStringARB, .-glGetNamedStringARB
+
+ .align 2
+ .global glBufferPageCommitmentARB
+ .type glBufferPageCommitmentARB, %function
+glBufferPageCommitmentARB:
+ adrp x16, :got:__blue_glCore_glBufferPageCommitmentARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBufferPageCommitmentARB]
+ ldr x16, [x16]
+ br x16
+ .size glBufferPageCommitmentARB, .-glBufferPageCommitmentARB
+
+ .align 2
+ .global glVertexAttribL2d
+ .type glVertexAttribL2d, %function
+glVertexAttribL2d:
+ adrp x16, :got:__blue_glCore_glVertexAttribL2d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL2d]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL2d, .-glVertexAttribL2d
+
+ .align 2
+ .global glStencilFunc
+ .type glStencilFunc, %function
+glStencilFunc:
+ adrp x16, :got:__blue_glCore_glStencilFunc
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilFunc]
+ ldr x16, [x16]
+ br x16
+ .size glStencilFunc, .-glStencilFunc
+
+ .align 2
+ .global glGetVertexAttribdvNV
+ .type glGetVertexAttribdvNV, %function
+glGetVertexAttribdvNV:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribdvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribdvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribdvNV, .-glGetVertexAttribdvNV
+
+ .align 2
+ .global glGetQueryBufferObjectiv
+ .type glGetQueryBufferObjectiv, %function
+glGetQueryBufferObjectiv:
+ adrp x16, :got:__blue_glCore_glGetQueryBufferObjectiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryBufferObjectiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryBufferObjectiv, .-glGetQueryBufferObjectiv
+
+ .align 2
+ .global glTexGenxOES
+ .type glTexGenxOES, %function
+glTexGenxOES:
+ adrp x16, :got:__blue_glCore_glTexGenxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexGenxOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexGenxOES, .-glTexGenxOES
+
+ .align 2
+ .global glLightEnviSGIX
+ .type glLightEnviSGIX, %function
+glLightEnviSGIX:
+ adrp x16, :got:__blue_glCore_glLightEnviSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLightEnviSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glLightEnviSGIX, .-glLightEnviSGIX
+
+ .align 2
+ .global glGetProgramPipelineiv
+ .type glGetProgramPipelineiv, %function
+glGetProgramPipelineiv:
+ adrp x16, :got:__blue_glCore_glGetProgramPipelineiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramPipelineiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramPipelineiv, .-glGetProgramPipelineiv
+
+ .align 2
+ .global glVertexStream2ivATI
+ .type glVertexStream2ivATI, %function
+glVertexStream2ivATI:
+ adrp x16, :got:__blue_glCore_glVertexStream2ivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream2ivATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream2ivATI, .-glVertexStream2ivATI
+
+ .align 2
+ .global glGetColorTableEXT
+ .type glGetColorTableEXT, %function
+glGetColorTableEXT:
+ adrp x16, :got:__blue_glCore_glGetColorTableEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetColorTableEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetColorTableEXT, .-glGetColorTableEXT
+
+ .align 2
+ .global glGetShaderInfoLog
+ .type glGetShaderInfoLog, %function
+glGetShaderInfoLog:
+ adrp x16, :got:__blue_glCore_glGetShaderInfoLog
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetShaderInfoLog]
+ ldr x16, [x16]
+ br x16
+ .size glGetShaderInfoLog, .-glGetShaderInfoLog
+
+ .align 2
+ .global glGetOcclusionQueryuivNV
+ .type glGetOcclusionQueryuivNV, %function
+glGetOcclusionQueryuivNV:
+ adrp x16, :got:__blue_glCore_glGetOcclusionQueryuivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetOcclusionQueryuivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetOcclusionQueryuivNV, .-glGetOcclusionQueryuivNV
+
+ .align 2
+ .global glInvalidateNamedFramebufferSubData
+ .type glInvalidateNamedFramebufferSubData, %function
+glInvalidateNamedFramebufferSubData:
+ adrp x16, :got:__blue_glCore_glInvalidateNamedFramebufferSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInvalidateNamedFramebufferSubData]
+ ldr x16, [x16]
+ br x16
+ .size glInvalidateNamedFramebufferSubData, .-glInvalidateNamedFramebufferSubData
+
+ .align 2
+ .global glVertexAttribL1i64NV
+ .type glVertexAttribL1i64NV, %function
+glVertexAttribL1i64NV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL1i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL1i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL1i64NV, .-glVertexAttribL1i64NV
+
+ .align 2
+ .global glVDPAUInitNV
+ .type glVDPAUInitNV, %function
+glVDPAUInitNV:
+ adrp x16, :got:__blue_glCore_glVDPAUInitNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVDPAUInitNV]
+ ldr x16, [x16]
+ br x16
+ .size glVDPAUInitNV, .-glVDPAUInitNV
+
+ .align 2
+ .global glVertexAttrib1hvNV
+ .type glVertexAttrib1hvNV, %function
+glVertexAttrib1hvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1hvNV, .-glVertexAttrib1hvNV
+
+ .align 2
+ .global glVertexAttribI4i
+ .type glVertexAttribI4i, %function
+glVertexAttribI4i:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4i]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4i, .-glVertexAttribI4i
+
+ .align 2
+ .global glGetIntegerui64i_vNV
+ .type glGetIntegerui64i_vNV, %function
+glGetIntegerui64i_vNV:
+ adrp x16, :got:__blue_glCore_glGetIntegerui64i_vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetIntegerui64i_vNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetIntegerui64i_vNV, .-glGetIntegerui64i_vNV
+
+ .align 2
+ .global glImageTransformParameterfvHP
+ .type glImageTransformParameterfvHP, %function
+glImageTransformParameterfvHP:
+ adrp x16, :got:__blue_glCore_glImageTransformParameterfvHP
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glImageTransformParameterfvHP]
+ ldr x16, [x16]
+ br x16
+ .size glImageTransformParameterfvHP, .-glImageTransformParameterfvHP
+
+ .align 2
+ .global glEdgeFlagFormatNV
+ .type glEdgeFlagFormatNV, %function
+glEdgeFlagFormatNV:
+ adrp x16, :got:__blue_glCore_glEdgeFlagFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEdgeFlagFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glEdgeFlagFormatNV, .-glEdgeFlagFormatNV
+
+ .align 2
+ .global glUniformHandleui64NV
+ .type glUniformHandleui64NV, %function
+glUniformHandleui64NV:
+ adrp x16, :got:__blue_glCore_glUniformHandleui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformHandleui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glUniformHandleui64NV, .-glUniformHandleui64NV
+
+ .align 2
+ .global glDebugMessageInsertAMD
+ .type glDebugMessageInsertAMD, %function
+glDebugMessageInsertAMD:
+ adrp x16, :got:__blue_glCore_glDebugMessageInsertAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDebugMessageInsertAMD]
+ ldr x16, [x16]
+ br x16
+ .size glDebugMessageInsertAMD, .-glDebugMessageInsertAMD
+
+ .align 2
+ .global glVertexAttribI4ivEXT
+ .type glVertexAttribI4ivEXT, %function
+glVertexAttribI4ivEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4ivEXT, .-glVertexAttribI4ivEXT
+
+ .align 2
+ .global glTexImage4DSGIS
+ .type glTexImage4DSGIS, %function
+glTexImage4DSGIS:
+ adrp x16, :got:__blue_glCore_glTexImage4DSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexImage4DSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glTexImage4DSGIS, .-glTexImage4DSGIS
+
+ .align 2
+ .global glBlendEquationSeparate
+ .type glBlendEquationSeparate, %function
+glBlendEquationSeparate:
+ adrp x16, :got:__blue_glCore_glBlendEquationSeparate
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendEquationSeparate]
+ ldr x16, [x16]
+ br x16
+ .size glBlendEquationSeparate, .-glBlendEquationSeparate
+
+ .align 2
+ .global glDrawElementsInstancedARB
+ .type glDrawElementsInstancedARB, %function
+glDrawElementsInstancedARB:
+ adrp x16, :got:__blue_glCore_glDrawElementsInstancedARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElementsInstancedARB]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElementsInstancedARB, .-glDrawElementsInstancedARB
+
+ .align 2
+ .global glGetSubroutineIndex
+ .type glGetSubroutineIndex, %function
+glGetSubroutineIndex:
+ adrp x16, :got:__blue_glCore_glGetSubroutineIndex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetSubroutineIndex]
+ ldr x16, [x16]
+ br x16
+ .size glGetSubroutineIndex, .-glGetSubroutineIndex
+
+ .align 2
+ .global glVertexAttrib2sv
+ .type glVertexAttrib2sv, %function
+glVertexAttrib2sv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2sv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2sv, .-glVertexAttrib2sv
+
+ .align 2
+ .global glSamplePatternSGIS
+ .type glSamplePatternSGIS, %function
+glSamplePatternSGIS:
+ adrp x16, :got:__blue_glCore_glSamplePatternSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSamplePatternSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glSamplePatternSGIS, .-glSamplePatternSGIS
+
+ .align 2
+ .global glVertex3hNV
+ .type glVertex3hNV, %function
+glVertex3hNV:
+ adrp x16, :got:__blue_glCore_glVertex3hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex3hNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertex3hNV, .-glVertex3hNV
+
+ .align 2
+ .global glRasterPos3xvOES
+ .type glRasterPos3xvOES, %function
+glRasterPos3xvOES:
+ adrp x16, :got:__blue_glCore_glRasterPos3xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRasterPos3xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glRasterPos3xvOES, .-glRasterPos3xvOES
+
+ .align 2
+ .global glCompressedTextureImage1DEXT
+ .type glCompressedTextureImage1DEXT, %function
+glCompressedTextureImage1DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedTextureImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTextureImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTextureImage1DEXT, .-glCompressedTextureImage1DEXT
+
+ .align 2
+ .global glVertexAttribL3dv
+ .type glVertexAttribL3dv, %function
+glVertexAttribL3dv:
+ adrp x16, :got:__blue_glCore_glVertexAttribL3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL3dv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL3dv, .-glVertexAttribL3dv
+
+ .align 2
+ .global glMaterialxvOES
+ .type glMaterialxvOES, %function
+glMaterialxvOES:
+ adrp x16, :got:__blue_glCore_glMaterialxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMaterialxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glMaterialxvOES, .-glMaterialxvOES
+
+ .align 2
+ .global glNamedProgramLocalParameter4fEXT
+ .type glNamedProgramLocalParameter4fEXT, %function
+glNamedProgramLocalParameter4fEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParameter4fEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParameter4fEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParameter4fEXT, .-glNamedProgramLocalParameter4fEXT
+
+ .align 2
+ .global glVertexAttribL1dEXT
+ .type glVertexAttribL1dEXT, %function
+glVertexAttribL1dEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribL1dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL1dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL1dEXT, .-glVertexAttribL1dEXT
+
+ .align 2
+ .global glGetnUniformdvARB
+ .type glGetnUniformdvARB, %function
+glGetnUniformdvARB:
+ adrp x16, :got:__blue_glCore_glGetnUniformdvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnUniformdvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnUniformdvARB, .-glGetnUniformdvARB
+
+ .align 2
+ .global glSecondaryColor3bEXT
+ .type glSecondaryColor3bEXT, %function
+glSecondaryColor3bEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3bEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3bEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3bEXT, .-glSecondaryColor3bEXT
+
+ .align 2
+ .global glBeginPerfQueryINTEL
+ .type glBeginPerfQueryINTEL, %function
+glBeginPerfQueryINTEL:
+ adrp x16, :got:__blue_glCore_glBeginPerfQueryINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginPerfQueryINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glBeginPerfQueryINTEL, .-glBeginPerfQueryINTEL
+
+ .align 2
+ .global glProgramUniform1uivEXT
+ .type glProgramUniform1uivEXT, %function
+glProgramUniform1uivEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform1uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1uivEXT, .-glProgramUniform1uivEXT
+
+ .align 2
+ .global glTextureImage3DEXT
+ .type glTextureImage3DEXT, %function
+glTextureImage3DEXT:
+ adrp x16, :got:__blue_glCore_glTextureImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureImage3DEXT, .-glTextureImage3DEXT
+
+ .align 2
+ .global glDeleteBuffers
+ .type glDeleteBuffers, %function
+glDeleteBuffers:
+ adrp x16, :got:__blue_glCore_glDeleteBuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteBuffers]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteBuffers, .-glDeleteBuffers
+
+ .align 2
+ .global glBindProgramPipeline
+ .type glBindProgramPipeline, %function
+glBindProgramPipeline:
+ adrp x16, :got:__blue_glCore_glBindProgramPipeline
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindProgramPipeline]
+ ldr x16, [x16]
+ br x16
+ .size glBindProgramPipeline, .-glBindProgramPipeline
+
+ .align 2
+ .global glScissor
+ .type glScissor, %function
+glScissor:
+ adrp x16, :got:__blue_glCore_glScissor
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glScissor]
+ ldr x16, [x16]
+ br x16
+ .size glScissor, .-glScissor
+
+ .align 2
+ .global glGetBooleanv
+ .type glGetBooleanv, %function
+glGetBooleanv:
+ adrp x16, :got:__blue_glCore_glGetBooleanv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBooleanv]
+ ldr x16, [x16]
+ br x16
+ .size glGetBooleanv, .-glGetBooleanv
+
+ .align 2
+ .global glWindowPos4fvMESA
+ .type glWindowPos4fvMESA, %function
+glWindowPos4fvMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos4fvMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos4fvMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos4fvMESA, .-glWindowPos4fvMESA
+
+ .align 2
+ .global glVertexAttribIPointerEXT
+ .type glVertexAttribIPointerEXT, %function
+glVertexAttribIPointerEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribIPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribIPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribIPointerEXT, .-glVertexAttribIPointerEXT
+
+ .align 2
+ .global glProgramBufferParametersfvNV
+ .type glProgramBufferParametersfvNV, %function
+glProgramBufferParametersfvNV:
+ adrp x16, :got:__blue_glCore_glProgramBufferParametersfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramBufferParametersfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramBufferParametersfvNV, .-glProgramBufferParametersfvNV
+
+ .align 2
+ .global glAlphaFuncxOES
+ .type glAlphaFuncxOES, %function
+glAlphaFuncxOES:
+ adrp x16, :got:__blue_glCore_glAlphaFuncxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glAlphaFuncxOES]
+ ldr x16, [x16]
+ br x16
+ .size glAlphaFuncxOES, .-glAlphaFuncxOES
+
+ .align 2
+ .global glMultiDrawArraysIndirectAMD
+ .type glMultiDrawArraysIndirectAMD, %function
+glMultiDrawArraysIndirectAMD:
+ adrp x16, :got:__blue_glCore_glMultiDrawArraysIndirectAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawArraysIndirectAMD]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawArraysIndirectAMD, .-glMultiDrawArraysIndirectAMD
+
+ .align 2
+ .global glNormalStream3ivATI
+ .type glNormalStream3ivATI, %function
+glNormalStream3ivATI:
+ adrp x16, :got:__blue_glCore_glNormalStream3ivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalStream3ivATI]
+ ldr x16, [x16]
+ br x16
+ .size glNormalStream3ivATI, .-glNormalStream3ivATI
+
+ .align 2
+ .global glTextureImage3DMultisampleNV
+ .type glTextureImage3DMultisampleNV, %function
+glTextureImage3DMultisampleNV:
+ adrp x16, :got:__blue_glCore_glTextureImage3DMultisampleNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureImage3DMultisampleNV]
+ ldr x16, [x16]
+ br x16
+ .size glTextureImage3DMultisampleNV, .-glTextureImage3DMultisampleNV
+
+ .align 2
+ .global glProgramUniform4uivEXT
+ .type glProgramUniform4uivEXT, %function
+glProgramUniform4uivEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform4uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4uivEXT, .-glProgramUniform4uivEXT
+
+ .align 2
+ .global glGetVertexAttribArrayObjectivATI
+ .type glGetVertexAttribArrayObjectivATI, %function
+glGetVertexAttribArrayObjectivATI:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribArrayObjectivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribArrayObjectivATI]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribArrayObjectivATI, .-glGetVertexAttribArrayObjectivATI
+
+ .align 2
+ .global glPollInstrumentsSGIX
+ .type glPollInstrumentsSGIX, %function
+glPollInstrumentsSGIX:
+ adrp x16, :got:__blue_glCore_glPollInstrumentsSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPollInstrumentsSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glPollInstrumentsSGIX, .-glPollInstrumentsSGIX
+
+ .align 2
+ .global glGetTextureLevelParameteriv
+ .type glGetTextureLevelParameteriv, %function
+glGetTextureLevelParameteriv:
+ adrp x16, :got:__blue_glCore_glGetTextureLevelParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureLevelParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureLevelParameteriv, .-glGetTextureLevelParameteriv
+
+ .align 2
+ .global glGetStringi
+ .type glGetStringi, %function
+glGetStringi:
+ adrp x16, :got:__blue_glCore_glGetStringi
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetStringi]
+ ldr x16, [x16]
+ br x16
+ .size glGetStringi, .-glGetStringi
+
+ .align 2
+ .global glWindowPos3f
+ .type glWindowPos3f, %function
+glWindowPos3f:
+ adrp x16, :got:__blue_glCore_glWindowPos3f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3f]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3f, .-glWindowPos3f
+
+ .align 2
+ .global glMapControlPointsNV
+ .type glMapControlPointsNV, %function
+glMapControlPointsNV:
+ adrp x16, :got:__blue_glCore_glMapControlPointsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapControlPointsNV]
+ ldr x16, [x16]
+ br x16
+ .size glMapControlPointsNV, .-glMapControlPointsNV
+
+ .align 2
+ .global glGetVertexArrayIndexediv
+ .type glGetVertexArrayIndexediv, %function
+glGetVertexArrayIndexediv:
+ adrp x16, :got:__blue_glCore_glGetVertexArrayIndexediv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexArrayIndexediv]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexArrayIndexediv, .-glGetVertexArrayIndexediv
+
+ .align 2
+ .global glMultiTexCoord1hNV
+ .type glMultiTexCoord1hNV, %function
+glMultiTexCoord1hNV:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1hNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1hNV, .-glMultiTexCoord1hNV
+
+ .align 2
+ .global glPointParameterfv
+ .type glPointParameterfv, %function
+glPointParameterfv:
+ adrp x16, :got:__blue_glCore_glPointParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameterfv, .-glPointParameterfv
+
+ .align 2
+ .global glUniformMatrix2fvARB
+ .type glUniformMatrix2fvARB, %function
+glUniformMatrix2fvARB:
+ adrp x16, :got:__blue_glCore_glUniformMatrix2fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix2fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix2fvARB, .-glUniformMatrix2fvARB
+
+ .align 2
+ .global glUniform2fv
+ .type glUniform2fv, %function
+glUniform2fv:
+ adrp x16, :got:__blue_glCore_glUniform2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2fv, .-glUniform2fv
+
+ .align 2
+ .global glVertexPointerListIBM
+ .type glVertexPointerListIBM, %function
+glVertexPointerListIBM:
+ adrp x16, :got:__blue_glCore_glVertexPointerListIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexPointerListIBM]
+ ldr x16, [x16]
+ br x16
+ .size glVertexPointerListIBM, .-glVertexPointerListIBM
+
+ .align 2
+ .global glGetMultiTexGenfvEXT
+ .type glGetMultiTexGenfvEXT, %function
+glGetMultiTexGenfvEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexGenfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexGenfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexGenfvEXT, .-glGetMultiTexGenfvEXT
+
+ .align 2
+ .global glGetMinmaxEXT
+ .type glGetMinmaxEXT, %function
+glGetMinmaxEXT:
+ adrp x16, :got:__blue_glCore_glGetMinmaxEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMinmaxEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMinmaxEXT, .-glGetMinmaxEXT
+
+ .align 2
+ .global glIsFenceNV
+ .type glIsFenceNV, %function
+glIsFenceNV:
+ adrp x16, :got:__blue_glCore_glIsFenceNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsFenceNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsFenceNV, .-glIsFenceNV
+
+ .align 2
+ .global glMatrixFrustumEXT
+ .type glMatrixFrustumEXT, %function
+glMatrixFrustumEXT:
+ adrp x16, :got:__blue_glCore_glMatrixFrustumEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixFrustumEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixFrustumEXT, .-glMatrixFrustumEXT
+
+ .align 2
+ .global glDispatchComputeIndirect
+ .type glDispatchComputeIndirect, %function
+glDispatchComputeIndirect:
+ adrp x16, :got:__blue_glCore_glDispatchComputeIndirect
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDispatchComputeIndirect]
+ ldr x16, [x16]
+ br x16
+ .size glDispatchComputeIndirect, .-glDispatchComputeIndirect
+
+ .align 2
+ .global glMultiTexCoord4bOES
+ .type glMultiTexCoord4bOES, %function
+glMultiTexCoord4bOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4bOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4bOES, .-glMultiTexCoord4bOES
+
+ .align 2
+ .global glProgramEnvParameter4dARB
+ .type glProgramEnvParameter4dARB, %function
+glProgramEnvParameter4dARB:
+ adrp x16, :got:__blue_glCore_glProgramEnvParameter4dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParameter4dARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParameter4dARB, .-glProgramEnvParameter4dARB
+
+ .align 2
+ .global glBindBufferRange
+ .type glBindBufferRange, %function
+glBindBufferRange:
+ adrp x16, :got:__blue_glCore_glBindBufferRange
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBufferRange]
+ ldr x16, [x16]
+ br x16
+ .size glBindBufferRange, .-glBindBufferRange
+
+ .align 2
+ .global glGetUniformi64vNV
+ .type glGetUniformi64vNV, %function
+glGetUniformi64vNV:
+ adrp x16, :got:__blue_glCore_glGetUniformi64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformi64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformi64vNV, .-glGetUniformi64vNV
+
+ .align 2
+ .global glGetUniformdv
+ .type glGetUniformdv, %function
+glGetUniformdv:
+ adrp x16, :got:__blue_glCore_glGetUniformdv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformdv]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformdv, .-glGetUniformdv
+
+ .align 2
+ .global glGetMultiTexLevelParameterfvEXT
+ .type glGetMultiTexLevelParameterfvEXT, %function
+glGetMultiTexLevelParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexLevelParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexLevelParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexLevelParameterfvEXT, .-glGetMultiTexLevelParameterfvEXT
+
+ .align 2
+ .global glFinalCombinerInputNV
+ .type glFinalCombinerInputNV, %function
+glFinalCombinerInputNV:
+ adrp x16, :got:__blue_glCore_glFinalCombinerInputNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFinalCombinerInputNV]
+ ldr x16, [x16]
+ br x16
+ .size glFinalCombinerInputNV, .-glFinalCombinerInputNV
+
+ .align 2
+ .global glCullParameterdvEXT
+ .type glCullParameterdvEXT, %function
+glCullParameterdvEXT:
+ adrp x16, :got:__blue_glCore_glCullParameterdvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCullParameterdvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCullParameterdvEXT, .-glCullParameterdvEXT
+
+ .align 2
+ .global glMultiTexCoord4s
+ .type glMultiTexCoord4s, %function
+glMultiTexCoord4s:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4s]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4s, .-glMultiTexCoord4s
+
+ .align 2
+ .global glMapVertexAttrib1fAPPLE
+ .type glMapVertexAttrib1fAPPLE, %function
+glMapVertexAttrib1fAPPLE:
+ adrp x16, :got:__blue_glCore_glMapVertexAttrib1fAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapVertexAttrib1fAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glMapVertexAttrib1fAPPLE, .-glMapVertexAttrib1fAPPLE
+
+ .align 2
+ .global glTangent3fvEXT
+ .type glTangent3fvEXT, %function
+glTangent3fvEXT:
+ adrp x16, :got:__blue_glCore_glTangent3fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangent3fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangent3fvEXT, .-glTangent3fvEXT
+
+ .align 2
+ .global glProgramUniform3fvEXT
+ .type glProgramUniform3fvEXT, %function
+glProgramUniform3fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform3fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3fvEXT, .-glProgramUniform3fvEXT
+
+ .align 2
+ .global glTexCoord2bOES
+ .type glTexCoord2bOES, %function
+glTexCoord2bOES:
+ adrp x16, :got:__blue_glCore_glTexCoord2bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2bOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2bOES, .-glTexCoord2bOES
+
+ .align 2
+ .global glGetVertexArrayPointervEXT
+ .type glGetVertexArrayPointervEXT, %function
+glGetVertexArrayPointervEXT:
+ adrp x16, :got:__blue_glCore_glGetVertexArrayPointervEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexArrayPointervEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexArrayPointervEXT, .-glGetVertexArrayPointervEXT
+
+ .align 2
+ .global glGlobalAlphaFactorubSUN
+ .type glGlobalAlphaFactorubSUN, %function
+glGlobalAlphaFactorubSUN:
+ adrp x16, :got:__blue_glCore_glGlobalAlphaFactorubSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGlobalAlphaFactorubSUN]
+ ldr x16, [x16]
+ br x16
+ .size glGlobalAlphaFactorubSUN, .-glGlobalAlphaFactorubSUN
+
+ .align 2
+ .global glVertexAttribL1ui64NV
+ .type glVertexAttribL1ui64NV, %function
+glVertexAttribL1ui64NV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL1ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL1ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL1ui64NV, .-glVertexAttribL1ui64NV
+
+ .align 2
+ .global glPointParameterfSGIS
+ .type glPointParameterfSGIS, %function
+glPointParameterfSGIS:
+ adrp x16, :got:__blue_glCore_glPointParameterfSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameterfSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameterfSGIS, .-glPointParameterfSGIS
+
+ .align 2
+ .global glGetImageTransformParameterivHP
+ .type glGetImageTransformParameterivHP, %function
+glGetImageTransformParameterivHP:
+ adrp x16, :got:__blue_glCore_glGetImageTransformParameterivHP
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetImageTransformParameterivHP]
+ ldr x16, [x16]
+ br x16
+ .size glGetImageTransformParameterivHP, .-glGetImageTransformParameterivHP
+
+ .align 2
+ .global glColorSubTableEXT
+ .type glColorSubTableEXT, %function
+glColorSubTableEXT:
+ adrp x16, :got:__blue_glCore_glColorSubTableEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorSubTableEXT]
+ ldr x16, [x16]
+ br x16
+ .size glColorSubTableEXT, .-glColorSubTableEXT
+
+ .align 2
+ .global glPixelTexGenParameterfvSGIS
+ .type glPixelTexGenParameterfvSGIS, %function
+glPixelTexGenParameterfvSGIS:
+ adrp x16, :got:__blue_glCore_glPixelTexGenParameterfvSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelTexGenParameterfvSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glPixelTexGenParameterfvSGIS, .-glPixelTexGenParameterfvSGIS
+
+ .align 2
+ .global glClientWaitSync
+ .type glClientWaitSync, %function
+glClientWaitSync:
+ adrp x16, :got:__blue_glCore_glClientWaitSync
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClientWaitSync]
+ ldr x16, [x16]
+ br x16
+ .size glClientWaitSync, .-glClientWaitSync
+
+ .align 2
+ .global glQueryObjectParameteruiAMD
+ .type glQueryObjectParameteruiAMD, %function
+glQueryObjectParameteruiAMD:
+ adrp x16, :got:__blue_glCore_glQueryObjectParameteruiAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glQueryObjectParameteruiAMD]
+ ldr x16, [x16]
+ br x16
+ .size glQueryObjectParameteruiAMD, .-glQueryObjectParameteruiAMD
+
+ .align 2
+ .global glVertexAttribs1fvNV
+ .type glVertexAttribs1fvNV, %function
+glVertexAttribs1fvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs1fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs1fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs1fvNV, .-glVertexAttribs1fvNV
+
+ .align 2
+ .global glVertexAttrib4NusvARB
+ .type glVertexAttrib4NusvARB, %function
+glVertexAttrib4NusvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4NusvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4NusvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4NusvARB, .-glVertexAttrib4NusvARB
+
+ .align 2
+ .global glVariantPointerEXT
+ .type glVariantPointerEXT, %function
+glVariantPointerEXT:
+ adrp x16, :got:__blue_glCore_glVariantPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVariantPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVariantPointerEXT, .-glVariantPointerEXT
+
+ .align 2
+ .global glNamedFramebufferParameteriEXT
+ .type glNamedFramebufferParameteriEXT, %function
+glNamedFramebufferParameteriEXT:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferParameteriEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferParameteriEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferParameteriEXT, .-glNamedFramebufferParameteriEXT
+
+ .align 2
+ .global glBlendFunciARB
+ .type glBlendFunciARB, %function
+glBlendFunciARB:
+ adrp x16, :got:__blue_glCore_glBlendFunciARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendFunciARB]
+ ldr x16, [x16]
+ br x16
+ .size glBlendFunciARB, .-glBlendFunciARB
+
+ .align 2
+ .global glInvalidateTexImage
+ .type glInvalidateTexImage, %function
+glInvalidateTexImage:
+ adrp x16, :got:__blue_glCore_glInvalidateTexImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInvalidateTexImage]
+ ldr x16, [x16]
+ br x16
+ .size glInvalidateTexImage, .-glInvalidateTexImage
+
+ .align 2
+ .global glProgramEnvParametersI4ivNV
+ .type glProgramEnvParametersI4ivNV, %function
+glProgramEnvParametersI4ivNV:
+ adrp x16, :got:__blue_glCore_glProgramEnvParametersI4ivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParametersI4ivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParametersI4ivNV, .-glProgramEnvParametersI4ivNV
+
+ .align 2
+ .global glPathGlyphIndexArrayNV
+ .type glPathGlyphIndexArrayNV, %function
+glPathGlyphIndexArrayNV:
+ adrp x16, :got:__blue_glCore_glPathGlyphIndexArrayNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathGlyphIndexArrayNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathGlyphIndexArrayNV, .-glPathGlyphIndexArrayNV
+
+ .align 2
+ .global glCopyImageSubData
+ .type glCopyImageSubData, %function
+glCopyImageSubData:
+ adrp x16, :got:__blue_glCore_glCopyImageSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyImageSubData]
+ ldr x16, [x16]
+ br x16
+ .size glCopyImageSubData, .-glCopyImageSubData
+
+ .align 2
+ .global glGetUniformSubroutineuiv
+ .type glGetUniformSubroutineuiv, %function
+glGetUniformSubroutineuiv:
+ adrp x16, :got:__blue_glCore_glGetUniformSubroutineuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformSubroutineuiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformSubroutineuiv, .-glGetUniformSubroutineuiv
+
+ .align 2
+ .global glBindVertexBuffer
+ .type glBindVertexBuffer, %function
+glBindVertexBuffer:
+ adrp x16, :got:__blue_glCore_glBindVertexBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindVertexBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glBindVertexBuffer, .-glBindVertexBuffer
+
+ .align 2
+ .global glMultiTexCoord1iARB
+ .type glMultiTexCoord1iARB, %function
+glMultiTexCoord1iARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1iARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1iARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1iARB, .-glMultiTexCoord1iARB
+
+ .align 2
+ .global glDebugMessageInsert
+ .type glDebugMessageInsert, %function
+glDebugMessageInsert:
+ adrp x16, :got:__blue_glCore_glDebugMessageInsert
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDebugMessageInsert]
+ ldr x16, [x16]
+ br x16
+ .size glDebugMessageInsert, .-glDebugMessageInsert
+
+ .align 2
+ .global glBeginVertexShaderEXT
+ .type glBeginVertexShaderEXT, %function
+glBeginVertexShaderEXT:
+ adrp x16, :got:__blue_glCore_glBeginVertexShaderEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginVertexShaderEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBeginVertexShaderEXT, .-glBeginVertexShaderEXT
+
+ .align 2
+ .global glIsVariantEnabledEXT
+ .type glIsVariantEnabledEXT, %function
+glIsVariantEnabledEXT:
+ adrp x16, :got:__blue_glCore_glIsVariantEnabledEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsVariantEnabledEXT]
+ ldr x16, [x16]
+ br x16
+ .size glIsVariantEnabledEXT, .-glIsVariantEnabledEXT
+
+ .align 2
+ .global glPassThroughxOES
+ .type glPassThroughxOES, %function
+glPassThroughxOES:
+ adrp x16, :got:__blue_glCore_glPassThroughxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPassThroughxOES]
+ ldr x16, [x16]
+ br x16
+ .size glPassThroughxOES, .-glPassThroughxOES
+
+ .align 2
+ .global glIsSampler
+ .type glIsSampler, %function
+glIsSampler:
+ adrp x16, :got:__blue_glCore_glIsSampler
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsSampler]
+ ldr x16, [x16]
+ br x16
+ .size glIsSampler, .-glIsSampler
+
+ .align 2
+ .global glConservativeRasterParameterfNV
+ .type glConservativeRasterParameterfNV, %function
+glConservativeRasterParameterfNV:
+ adrp x16, :got:__blue_glCore_glConservativeRasterParameterfNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConservativeRasterParameterfNV]
+ ldr x16, [x16]
+ br x16
+ .size glConservativeRasterParameterfNV, .-glConservativeRasterParameterfNV
+
+ .align 2
+ .global glMultiTexGenivEXT
+ .type glMultiTexGenivEXT, %function
+glMultiTexGenivEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexGenivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexGenivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexGenivEXT, .-glMultiTexGenivEXT
+
+ .align 2
+ .global glNamedFramebufferTexture2DEXT
+ .type glNamedFramebufferTexture2DEXT, %function
+glNamedFramebufferTexture2DEXT:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferTexture2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferTexture2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferTexture2DEXT, .-glNamedFramebufferTexture2DEXT
+
+ .align 2
+ .global glGetTexParameterxvOES
+ .type glGetTexParameterxvOES, %function
+glGetTexParameterxvOES:
+ adrp x16, :got:__blue_glCore_glGetTexParameterxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexParameterxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexParameterxvOES, .-glGetTexParameterxvOES
+
+ .align 2
+ .global glCheckFramebufferStatus
+ .type glCheckFramebufferStatus, %function
+glCheckFramebufferStatus:
+ adrp x16, :got:__blue_glCore_glCheckFramebufferStatus
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCheckFramebufferStatus]
+ ldr x16, [x16]
+ br x16
+ .size glCheckFramebufferStatus, .-glCheckFramebufferStatus
+
+ .align 2
+ .global glDrawElementArrayAPPLE
+ .type glDrawElementArrayAPPLE, %function
+glDrawElementArrayAPPLE:
+ adrp x16, :got:__blue_glCore_glDrawElementArrayAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElementArrayAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElementArrayAPPLE, .-glDrawElementArrayAPPLE
+
+ .align 2
+ .global glFragmentLightivSGIX
+ .type glFragmentLightivSGIX, %function
+glFragmentLightivSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentLightivSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentLightivSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentLightivSGIX, .-glFragmentLightivSGIX
+
+ .align 2
+ .global glNamedBufferStorageEXT
+ .type glNamedBufferStorageEXT, %function
+glNamedBufferStorageEXT:
+ adrp x16, :got:__blue_glCore_glNamedBufferStorageEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedBufferStorageEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedBufferStorageEXT, .-glNamedBufferStorageEXT
+
+ .align 2
+ .global glBindImageTexture
+ .type glBindImageTexture, %function
+glBindImageTexture:
+ adrp x16, :got:__blue_glCore_glBindImageTexture
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindImageTexture]
+ ldr x16, [x16]
+ br x16
+ .size glBindImageTexture, .-glBindImageTexture
+
+ .align 2
+ .global glIsPathNV
+ .type glIsPathNV, %function
+glIsPathNV:
+ adrp x16, :got:__blue_glCore_glIsPathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsPathNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsPathNV, .-glIsPathNV
+
+ .align 2
+ .global glDrawRangeElements
+ .type glDrawRangeElements, %function
+glDrawRangeElements:
+ adrp x16, :got:__blue_glCore_glDrawRangeElements
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawRangeElements]
+ ldr x16, [x16]
+ br x16
+ .size glDrawRangeElements, .-glDrawRangeElements
+
+ .align 2
+ .global glMultiTexCoordPointerEXT
+ .type glMultiTexCoordPointerEXT, %function
+glMultiTexCoordPointerEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexCoordPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoordPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoordPointerEXT, .-glMultiTexCoordPointerEXT
+
+ .align 2
+ .global glSamplerParameterIiv
+ .type glSamplerParameterIiv, %function
+glSamplerParameterIiv:
+ adrp x16, :got:__blue_glCore_glSamplerParameterIiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSamplerParameterIiv]
+ ldr x16, [x16]
+ br x16
+ .size glSamplerParameterIiv, .-glSamplerParameterIiv
+
+ .align 2
+ .global glSyncTextureINTEL
+ .type glSyncTextureINTEL, %function
+glSyncTextureINTEL:
+ adrp x16, :got:__blue_glCore_glSyncTextureINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSyncTextureINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glSyncTextureINTEL, .-glSyncTextureINTEL
+
+ .align 2
+ .global glCreateSamplers
+ .type glCreateSamplers, %function
+glCreateSamplers:
+ adrp x16, :got:__blue_glCore_glCreateSamplers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateSamplers]
+ ldr x16, [x16]
+ br x16
+ .size glCreateSamplers, .-glCreateSamplers
+
+ .align 2
+ .global glCombinerParameterfNV
+ .type glCombinerParameterfNV, %function
+glCombinerParameterfNV:
+ adrp x16, :got:__blue_glCore_glCombinerParameterfNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCombinerParameterfNV]
+ ldr x16, [x16]
+ br x16
+ .size glCombinerParameterfNV, .-glCombinerParameterfNV
+
+ .align 2
+ .global glGetArrayObjectivATI
+ .type glGetArrayObjectivATI, %function
+glGetArrayObjectivATI:
+ adrp x16, :got:__blue_glCore_glGetArrayObjectivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetArrayObjectivATI]
+ ldr x16, [x16]
+ br x16
+ .size glGetArrayObjectivATI, .-glGetArrayObjectivATI
+
+ .align 2
+ .global glVertexStream3fvATI
+ .type glVertexStream3fvATI, %function
+glVertexStream3fvATI:
+ adrp x16, :got:__blue_glCore_glVertexStream3fvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream3fvATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream3fvATI, .-glVertexStream3fvATI
+
+ .align 2
+ .global glMultiTexCoord4i
+ .type glMultiTexCoord4i, %function
+glMultiTexCoord4i:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4i]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4i, .-glMultiTexCoord4i
+
+ .align 2
+ .global glSampleMapATI
+ .type glSampleMapATI, %function
+glSampleMapATI:
+ adrp x16, :got:__blue_glCore_glSampleMapATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSampleMapATI]
+ ldr x16, [x16]
+ br x16
+ .size glSampleMapATI, .-glSampleMapATI
+
+ .align 2
+ .global glVertexAttrib4bvARB
+ .type glVertexAttrib4bvARB, %function
+glVertexAttrib4bvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4bvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4bvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4bvARB, .-glVertexAttrib4bvARB
+
+ .align 2
+ .global glBinormal3ivEXT
+ .type glBinormal3ivEXT, %function
+glBinormal3ivEXT:
+ adrp x16, :got:__blue_glCore_glBinormal3ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormal3ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormal3ivEXT, .-glBinormal3ivEXT
+
+ .align 2
+ .global glMultiDrawArraysIndirectCountARB
+ .type glMultiDrawArraysIndirectCountARB, %function
+glMultiDrawArraysIndirectCountARB:
+ adrp x16, :got:__blue_glCore_glMultiDrawArraysIndirectCountARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawArraysIndirectCountARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawArraysIndirectCountARB, .-glMultiDrawArraysIndirectCountARB
+
+ .align 2
+ .global glUniformBufferEXT
+ .type glUniformBufferEXT, %function
+glUniformBufferEXT:
+ adrp x16, :got:__blue_glCore_glUniformBufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformBufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUniformBufferEXT, .-glUniformBufferEXT
+
+ .align 2
+ .global glWindowPos2ivMESA
+ .type glWindowPos2ivMESA, %function
+glWindowPos2ivMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos2ivMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2ivMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2ivMESA, .-glWindowPos2ivMESA
+
+ .align 2
+ .global glVertexAttribL1d
+ .type glVertexAttribL1d, %function
+glVertexAttribL1d:
+ adrp x16, :got:__blue_glCore_glVertexAttribL1d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL1d]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL1d, .-glVertexAttribL1d
+
+ .align 2
+ .global glMultiTexSubImage1DEXT
+ .type glMultiTexSubImage1DEXT, %function
+glMultiTexSubImage1DEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexSubImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexSubImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexSubImage1DEXT, .-glMultiTexSubImage1DEXT
+
+ .align 2
+ .global glVertexAttribI3uiv
+ .type glVertexAttribI3uiv, %function
+glVertexAttribI3uiv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI3uiv, .-glVertexAttribI3uiv
+
+ .align 2
+ .global glBufferDataARB
+ .type glBufferDataARB, %function
+glBufferDataARB:
+ adrp x16, :got:__blue_glCore_glBufferDataARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBufferDataARB]
+ ldr x16, [x16]
+ br x16
+ .size glBufferDataARB, .-glBufferDataARB
+
+ .align 2
+ .global glVertexAttribIFormat
+ .type glVertexAttribIFormat, %function
+glVertexAttribIFormat:
+ adrp x16, :got:__blue_glCore_glVertexAttribIFormat
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribIFormat]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribIFormat, .-glVertexAttribIFormat
+
+ .align 2
+ .global glCreateFramebuffers
+ .type glCreateFramebuffers, %function
+glCreateFramebuffers:
+ adrp x16, :got:__blue_glCore_glCreateFramebuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateFramebuffers]
+ ldr x16, [x16]
+ br x16
+ .size glCreateFramebuffers, .-glCreateFramebuffers
+
+ .align 2
+ .global glVertexAttribL2i64vNV
+ .type glVertexAttribL2i64vNV, %function
+glVertexAttribL2i64vNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL2i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL2i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL2i64vNV, .-glVertexAttribL2i64vNV
+
+ .align 2
+ .global glNormalStream3dvATI
+ .type glNormalStream3dvATI, %function
+glNormalStream3dvATI:
+ adrp x16, :got:__blue_glCore_glNormalStream3dvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalStream3dvATI]
+ ldr x16, [x16]
+ br x16
+ .size glNormalStream3dvATI, .-glNormalStream3dvATI
+
+ .align 2
+ .global glVertexAttribs4dvNV
+ .type glVertexAttribs4dvNV, %function
+glVertexAttribs4dvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs4dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs4dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs4dvNV, .-glVertexAttribs4dvNV
+
+ .align 2
+ .global glUniform3i64vNV
+ .type glUniform3i64vNV, %function
+glUniform3i64vNV:
+ adrp x16, :got:__blue_glCore_glUniform3i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3i64vNV, .-glUniform3i64vNV
+
+ .align 2
+ .global glPathTexGenNV
+ .type glPathTexGenNV, %function
+glPathTexGenNV:
+ adrp x16, :got:__blue_glCore_glPathTexGenNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathTexGenNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathTexGenNV, .-glPathTexGenNV
+
+ .align 2
+ .global glUniform2uivEXT
+ .type glUniform2uivEXT, %function
+glUniform2uivEXT:
+ adrp x16, :got:__blue_glCore_glUniform2uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2uivEXT, .-glUniform2uivEXT
+
+ .align 2
+ .global glMultiDrawElementsIndirect
+ .type glMultiDrawElementsIndirect, %function
+glMultiDrawElementsIndirect:
+ adrp x16, :got:__blue_glCore_glMultiDrawElementsIndirect
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawElementsIndirect]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawElementsIndirect, .-glMultiDrawElementsIndirect
+
+ .align 2
+ .global glStencilThenCoverStrokePathInstancedNV
+ .type glStencilThenCoverStrokePathInstancedNV, %function
+glStencilThenCoverStrokePathInstancedNV:
+ adrp x16, :got:__blue_glCore_glStencilThenCoverStrokePathInstancedNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilThenCoverStrokePathInstancedNV]
+ ldr x16, [x16]
+ br x16
+ .size glStencilThenCoverStrokePathInstancedNV, .-glStencilThenCoverStrokePathInstancedNV
+
+ .align 2
+ .global glBindBuffer
+ .type glBindBuffer, %function
+glBindBuffer:
+ adrp x16, :got:__blue_glCore_glBindBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glBindBuffer, .-glBindBuffer
+
+ .align 2
+ .global glMakeImageHandleResidentNV
+ .type glMakeImageHandleResidentNV, %function
+glMakeImageHandleResidentNV:
+ adrp x16, :got:__blue_glCore_glMakeImageHandleResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeImageHandleResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glMakeImageHandleResidentNV, .-glMakeImageHandleResidentNV
+
+ .align 2
+ .global glUniformMatrix2x4fv
+ .type glUniformMatrix2x4fv, %function
+glUniformMatrix2x4fv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix2x4fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix2x4fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix2x4fv, .-glUniformMatrix2x4fv
+
+ .align 2
+ .global glGetMultiTexParameterfvEXT
+ .type glGetMultiTexParameterfvEXT, %function
+glGetMultiTexParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexParameterfvEXT, .-glGetMultiTexParameterfvEXT
+
+ .align 2
+ .global glDepthRangeIndexed
+ .type glDepthRangeIndexed, %function
+glDepthRangeIndexed:
+ adrp x16, :got:__blue_glCore_glDepthRangeIndexed
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthRangeIndexed]
+ ldr x16, [x16]
+ br x16
+ .size glDepthRangeIndexed, .-glDepthRangeIndexed
+
+ .align 2
+ .global glMultiTexCoord1s
+ .type glMultiTexCoord1s, %function
+glMultiTexCoord1s:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1s]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1s, .-glMultiTexCoord1s
+
+ .align 2
+ .global glMatrixScalefEXT
+ .type glMatrixScalefEXT, %function
+glMatrixScalefEXT:
+ adrp x16, :got:__blue_glCore_glMatrixScalefEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixScalefEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixScalefEXT, .-glMatrixScalefEXT
+
+ .align 2
+ .global glGetError
+ .type glGetError, %function
+glGetError:
+ adrp x16, :got:__blue_glCore_glGetError
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetError]
+ ldr x16, [x16]
+ br x16
+ .size glGetError, .-glGetError
+
+ .align 2
+ .global glBindTextureUnitParameterEXT
+ .type glBindTextureUnitParameterEXT, %function
+glBindTextureUnitParameterEXT:
+ adrp x16, :got:__blue_glCore_glBindTextureUnitParameterEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindTextureUnitParameterEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindTextureUnitParameterEXT, .-glBindTextureUnitParameterEXT
+
+ .align 2
+ .global glDrawCommandsStatesNV
+ .type glDrawCommandsStatesNV, %function
+glDrawCommandsStatesNV:
+ adrp x16, :got:__blue_glCore_glDrawCommandsStatesNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawCommandsStatesNV]
+ ldr x16, [x16]
+ br x16
+ .size glDrawCommandsStatesNV, .-glDrawCommandsStatesNV
+
+ .align 2
+ .global glReplacementCodeuiNormal3fVertex3fvSUN
+ .type glReplacementCodeuiNormal3fVertex3fvSUN, %function
+glReplacementCodeuiNormal3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiNormal3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiNormal3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiNormal3fVertex3fvSUN, .-glReplacementCodeuiNormal3fVertex3fvSUN
+
+ .align 2
+ .global glDeletePerfQueryINTEL
+ .type glDeletePerfQueryINTEL, %function
+glDeletePerfQueryINTEL:
+ adrp x16, :got:__blue_glCore_glDeletePerfQueryINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeletePerfQueryINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glDeletePerfQueryINTEL, .-glDeletePerfQueryINTEL
+
+ .align 2
+ .global glGetUniformivARB
+ .type glGetUniformivARB, %function
+glGetUniformivARB:
+ adrp x16, :got:__blue_glCore_glGetUniformivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformivARB, .-glGetUniformivARB
+
+ .align 2
+ .global glGetActiveUniformARB
+ .type glGetActiveUniformARB, %function
+glGetActiveUniformARB:
+ adrp x16, :got:__blue_glCore_glGetActiveUniformARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveUniformARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveUniformARB, .-glGetActiveUniformARB
+
+ .align 2
+ .global glDeleteOcclusionQueriesNV
+ .type glDeleteOcclusionQueriesNV, %function
+glDeleteOcclusionQueriesNV:
+ adrp x16, :got:__blue_glCore_glDeleteOcclusionQueriesNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteOcclusionQueriesNV]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteOcclusionQueriesNV, .-glDeleteOcclusionQueriesNV
+
+ .align 2
+ .global glVertexAttribI3ivEXT
+ .type glVertexAttribI3ivEXT, %function
+glVertexAttribI3ivEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI3ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI3ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI3ivEXT, .-glVertexAttribI3ivEXT
+
+ .align 2
+ .global glGetTexLevelParameterfv
+ .type glGetTexLevelParameterfv, %function
+glGetTexLevelParameterfv:
+ adrp x16, :got:__blue_glCore_glGetTexLevelParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexLevelParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexLevelParameterfv, .-glGetTexLevelParameterfv
+
+ .align 2
+ .global glVertexAttribI1ivEXT
+ .type glVertexAttribI1ivEXT, %function
+glVertexAttribI1ivEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI1ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI1ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI1ivEXT, .-glVertexAttribI1ivEXT
+
+ .align 2
+ .global glCreateSyncFromCLeventARB
+ .type glCreateSyncFromCLeventARB, %function
+glCreateSyncFromCLeventARB:
+ adrp x16, :got:__blue_glCore_glCreateSyncFromCLeventARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateSyncFromCLeventARB]
+ ldr x16, [x16]
+ br x16
+ .size glCreateSyncFromCLeventARB, .-glCreateSyncFromCLeventARB
+
+ .align 2
+ .global glGetnColorTableARB
+ .type glGetnColorTableARB, %function
+glGetnColorTableARB:
+ adrp x16, :got:__blue_glCore_glGetnColorTableARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnColorTableARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnColorTableARB, .-glGetnColorTableARB
+
+ .align 2
+ .global glUniform4i64ARB
+ .type glUniform4i64ARB, %function
+glUniform4i64ARB:
+ adrp x16, :got:__blue_glCore_glUniform4i64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4i64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4i64ARB, .-glUniform4i64ARB
+
+ .align 2
+ .global glGetnUniformui64vARB
+ .type glGetnUniformui64vARB, %function
+glGetnUniformui64vARB:
+ adrp x16, :got:__blue_glCore_glGetnUniformui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnUniformui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnUniformui64vARB, .-glGetnUniformui64vARB
+
+ .align 2
+ .global glVertexAttribI1uiEXT
+ .type glVertexAttribI1uiEXT, %function
+glVertexAttribI1uiEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI1uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI1uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI1uiEXT, .-glVertexAttribI1uiEXT
+
+ .align 2
+ .global glLoadTransposeMatrixdARB
+ .type glLoadTransposeMatrixdARB, %function
+glLoadTransposeMatrixdARB:
+ adrp x16, :got:__blue_glCore_glLoadTransposeMatrixdARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLoadTransposeMatrixdARB]
+ ldr x16, [x16]
+ br x16
+ .size glLoadTransposeMatrixdARB, .-glLoadTransposeMatrixdARB
+
+ .align 2
+ .global glProgramUniform2ui
+ .type glProgramUniform2ui, %function
+glProgramUniform2ui:
+ adrp x16, :got:__blue_glCore_glProgramUniform2ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2ui]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2ui, .-glProgramUniform2ui
+
+ .align 2
+ .global glProgramUniform4ui
+ .type glProgramUniform4ui, %function
+glProgramUniform4ui:
+ adrp x16, :got:__blue_glCore_glProgramUniform4ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4ui]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4ui, .-glProgramUniform4ui
+
+ .align 2
+ .global glStencilMask
+ .type glStencilMask, %function
+glStencilMask:
+ adrp x16, :got:__blue_glCore_glStencilMask
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilMask]
+ ldr x16, [x16]
+ br x16
+ .size glStencilMask, .-glStencilMask
+
+ .align 2
+ .global glResetHistogramEXT
+ .type glResetHistogramEXT, %function
+glResetHistogramEXT:
+ adrp x16, :got:__blue_glCore_glResetHistogramEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glResetHistogramEXT]
+ ldr x16, [x16]
+ br x16
+ .size glResetHistogramEXT, .-glResetHistogramEXT
+
+ .align 2
+ .global glLightxOES
+ .type glLightxOES, %function
+glLightxOES:
+ adrp x16, :got:__blue_glCore_glLightxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLightxOES]
+ ldr x16, [x16]
+ br x16
+ .size glLightxOES, .-glLightxOES
+
+ .align 2
+ .global glNamedBufferData
+ .type glNamedBufferData, %function
+glNamedBufferData:
+ adrp x16, :got:__blue_glCore_glNamedBufferData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedBufferData]
+ ldr x16, [x16]
+ br x16
+ .size glNamedBufferData, .-glNamedBufferData
+
+ .align 2
+ .global glVertexStream3sATI
+ .type glVertexStream3sATI, %function
+glVertexStream3sATI:
+ adrp x16, :got:__blue_glCore_glVertexStream3sATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream3sATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream3sATI, .-glVertexStream3sATI
+
+ .align 2
+ .global glVertexAttrib3fvARB
+ .type glVertexAttrib3fvARB, %function
+glVertexAttrib3fvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3fvARB, .-glVertexAttrib3fvARB
+
+ .align 2
+ .global glClearNamedBufferSubData
+ .type glClearNamedBufferSubData, %function
+glClearNamedBufferSubData:
+ adrp x16, :got:__blue_glCore_glClearNamedBufferSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearNamedBufferSubData]
+ ldr x16, [x16]
+ br x16
+ .size glClearNamedBufferSubData, .-glClearNamedBufferSubData
+
+ .align 2
+ .global glProgramUniformHandleui64ARB
+ .type glProgramUniformHandleui64ARB, %function
+glProgramUniformHandleui64ARB:
+ adrp x16, :got:__blue_glCore_glProgramUniformHandleui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformHandleui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformHandleui64ARB, .-glProgramUniformHandleui64ARB
+
+ .align 2
+ .global glUniform3iARB
+ .type glUniform3iARB, %function
+glUniform3iARB:
+ adrp x16, :got:__blue_glCore_glUniform3iARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3iARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3iARB, .-glUniform3iARB
+
+ .align 2
+ .global glCreateProgramObjectARB
+ .type glCreateProgramObjectARB, %function
+glCreateProgramObjectARB:
+ adrp x16, :got:__blue_glCore_glCreateProgramObjectARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateProgramObjectARB]
+ ldr x16, [x16]
+ br x16
+ .size glCreateProgramObjectARB, .-glCreateProgramObjectARB
+
+ .align 2
+ .global glMultiTexCoord1dvARB
+ .type glMultiTexCoord1dvARB, %function
+glMultiTexCoord1dvARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1dvARB, .-glMultiTexCoord1dvARB
+
+ .align 2
+ .global glGetObjectParameterfvARB
+ .type glGetObjectParameterfvARB, %function
+glGetObjectParameterfvARB:
+ adrp x16, :got:__blue_glCore_glGetObjectParameterfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetObjectParameterfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetObjectParameterfvARB, .-glGetObjectParameterfvARB
+
+ .align 2
+ .global glListDrawCommandsStatesClientNV
+ .type glListDrawCommandsStatesClientNV, %function
+glListDrawCommandsStatesClientNV:
+ adrp x16, :got:__blue_glCore_glListDrawCommandsStatesClientNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glListDrawCommandsStatesClientNV]
+ ldr x16, [x16]
+ br x16
+ .size glListDrawCommandsStatesClientNV, .-glListDrawCommandsStatesClientNV
+
+ .align 2
+ .global glMultiTexImage2DEXT
+ .type glMultiTexImage2DEXT, %function
+glMultiTexImage2DEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexImage2DEXT, .-glMultiTexImage2DEXT
+
+ .align 2
+ .global glProgramUniform1i64NV
+ .type glProgramUniform1i64NV, %function
+glProgramUniform1i64NV:
+ adrp x16, :got:__blue_glCore_glProgramUniform1i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1i64NV, .-glProgramUniform1i64NV
+
+ .align 2
+ .global glGetObjectBufferivATI
+ .type glGetObjectBufferivATI, %function
+glGetObjectBufferivATI:
+ adrp x16, :got:__blue_glCore_glGetObjectBufferivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetObjectBufferivATI]
+ ldr x16, [x16]
+ br x16
+ .size glGetObjectBufferivATI, .-glGetObjectBufferivATI
+
+ .align 2
+ .global glMultiTexCoord1fvARB
+ .type glMultiTexCoord1fvARB, %function
+glMultiTexCoord1fvARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1fvARB, .-glMultiTexCoord1fvARB
+
+ .align 2
+ .global glReplacementCodeuiColor4ubVertex3fvSUN
+ .type glReplacementCodeuiColor4ubVertex3fvSUN, %function
+glReplacementCodeuiColor4ubVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiColor4ubVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiColor4ubVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiColor4ubVertex3fvSUN, .-glReplacementCodeuiColor4ubVertex3fvSUN
+
+ .align 2
+ .global glBlendFuncSeparateINGR
+ .type glBlendFuncSeparateINGR, %function
+glBlendFuncSeparateINGR:
+ adrp x16, :got:__blue_glCore_glBlendFuncSeparateINGR
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendFuncSeparateINGR]
+ ldr x16, [x16]
+ br x16
+ .size glBlendFuncSeparateINGR, .-glBlendFuncSeparateINGR
+
+ .align 2
+ .global glGetVideoCaptureStreamfvNV
+ .type glGetVideoCaptureStreamfvNV, %function
+glGetVideoCaptureStreamfvNV:
+ adrp x16, :got:__blue_glCore_glGetVideoCaptureStreamfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVideoCaptureStreamfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVideoCaptureStreamfvNV, .-glGetVideoCaptureStreamfvNV
+
+ .align 2
+ .global glVertexAttrib2fARB
+ .type glVertexAttrib2fARB, %function
+glVertexAttrib2fARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2fARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2fARB, .-glVertexAttrib2fARB
+
+ .align 2
+ .global glGetCompressedTextureSubImage
+ .type glGetCompressedTextureSubImage, %function
+glGetCompressedTextureSubImage:
+ adrp x16, :got:__blue_glCore_glGetCompressedTextureSubImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCompressedTextureSubImage]
+ ldr x16, [x16]
+ br x16
+ .size glGetCompressedTextureSubImage, .-glGetCompressedTextureSubImage
+
+ .align 2
+ .global glCopyImageSubDataNV
+ .type glCopyImageSubDataNV, %function
+glCopyImageSubDataNV:
+ adrp x16, :got:__blue_glCore_glCopyImageSubDataNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyImageSubDataNV]
+ ldr x16, [x16]
+ br x16
+ .size glCopyImageSubDataNV, .-glCopyImageSubDataNV
+
+ .align 2
+ .global glPixelStoref
+ .type glPixelStoref, %function
+glPixelStoref:
+ adrp x16, :got:__blue_glCore_glPixelStoref
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelStoref]
+ ldr x16, [x16]
+ br x16
+ .size glPixelStoref, .-glPixelStoref
+
+ .align 2
+ .global glVertexStream1iATI
+ .type glVertexStream1iATI, %function
+glVertexStream1iATI:
+ adrp x16, :got:__blue_glCore_glVertexStream1iATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream1iATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream1iATI, .-glVertexStream1iATI
+
+ .align 2
+ .global glPatchParameterfv
+ .type glPatchParameterfv, %function
+glPatchParameterfv:
+ adrp x16, :got:__blue_glCore_glPatchParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPatchParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glPatchParameterfv, .-glPatchParameterfv
+
+ .align 2
+ .global glIsFramebufferEXT
+ .type glIsFramebufferEXT, %function
+glIsFramebufferEXT:
+ adrp x16, :got:__blue_glCore_glIsFramebufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsFramebufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glIsFramebufferEXT, .-glIsFramebufferEXT
+
+ .align 2
+ .global glTextureStorage2D
+ .type glTextureStorage2D, %function
+glTextureStorage2D:
+ adrp x16, :got:__blue_glCore_glTextureStorage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorage2D]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorage2D, .-glTextureStorage2D
+
+ .align 2
+ .global glProgramUniform1ui64ARB
+ .type glProgramUniform1ui64ARB, %function
+glProgramUniform1ui64ARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform1ui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1ui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1ui64ARB, .-glProgramUniform1ui64ARB
+
+ .align 2
+ .global glTexBufferRange
+ .type glTexBufferRange, %function
+glTexBufferRange:
+ adrp x16, :got:__blue_glCore_glTexBufferRange
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexBufferRange]
+ ldr x16, [x16]
+ br x16
+ .size glTexBufferRange, .-glTexBufferRange
+
+ .align 2
+ .global glGetPixelTexGenParameterivSGIS
+ .type glGetPixelTexGenParameterivSGIS, %function
+glGetPixelTexGenParameterivSGIS:
+ adrp x16, :got:__blue_glCore_glGetPixelTexGenParameterivSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPixelTexGenParameterivSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glGetPixelTexGenParameterivSGIS, .-glGetPixelTexGenParameterivSGIS
+
+ .align 2
+ .global glTextureSubImage3DEXT
+ .type glTextureSubImage3DEXT, %function
+glTextureSubImage3DEXT:
+ adrp x16, :got:__blue_glCore_glTextureSubImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureSubImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureSubImage3DEXT, .-glTextureSubImage3DEXT
+
+ .align 2
+ .global glProgramUniform1uiEXT
+ .type glProgramUniform1uiEXT, %function
+glProgramUniform1uiEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform1uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1uiEXT, .-glProgramUniform1uiEXT
+
+ .align 2
+ .global glUniform2i64NV
+ .type glUniform2i64NV, %function
+glUniform2i64NV:
+ adrp x16, :got:__blue_glCore_glUniform2i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2i64NV, .-glUniform2i64NV
+
+ .align 2
+ .global glVertexAttribI3ui
+ .type glVertexAttribI3ui, %function
+glVertexAttribI3ui:
+ adrp x16, :got:__blue_glCore_glVertexAttribI3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI3ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI3ui, .-glVertexAttribI3ui
+
+ .align 2
+ .global glSampleMaskSGIS
+ .type glSampleMaskSGIS, %function
+glSampleMaskSGIS:
+ adrp x16, :got:__blue_glCore_glSampleMaskSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSampleMaskSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glSampleMaskSGIS, .-glSampleMaskSGIS
+
+ .align 2
+ .global glVertexAttrib4NivARB
+ .type glVertexAttrib4NivARB, %function
+glVertexAttrib4NivARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4NivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4NivARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4NivARB, .-glVertexAttrib4NivARB
+
+ .align 2
+ .global glGlobalAlphaFactorfSUN
+ .type glGlobalAlphaFactorfSUN, %function
+glGlobalAlphaFactorfSUN:
+ adrp x16, :got:__blue_glCore_glGlobalAlphaFactorfSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGlobalAlphaFactorfSUN]
+ ldr x16, [x16]
+ br x16
+ .size glGlobalAlphaFactorfSUN, .-glGlobalAlphaFactorfSUN
+
+ .align 2
+ .global glBlendEquationSeparateIndexedAMD
+ .type glBlendEquationSeparateIndexedAMD, %function
+glBlendEquationSeparateIndexedAMD:
+ adrp x16, :got:__blue_glCore_glBlendEquationSeparateIndexedAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendEquationSeparateIndexedAMD]
+ ldr x16, [x16]
+ br x16
+ .size glBlendEquationSeparateIndexedAMD, .-glBlendEquationSeparateIndexedAMD
+
+ .align 2
+ .global glGetPerfCounterInfoINTEL
+ .type glGetPerfCounterInfoINTEL, %function
+glGetPerfCounterInfoINTEL:
+ adrp x16, :got:__blue_glCore_glGetPerfCounterInfoINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPerfCounterInfoINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glGetPerfCounterInfoINTEL, .-glGetPerfCounterInfoINTEL
+
+ .align 2
+ .global glProgramLocalParameterI4uiNV
+ .type glProgramLocalParameterI4uiNV, %function
+glProgramLocalParameterI4uiNV:
+ adrp x16, :got:__blue_glCore_glProgramLocalParameterI4uiNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParameterI4uiNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParameterI4uiNV, .-glProgramLocalParameterI4uiNV
+
+ .align 2
+ .global glPixelZoomxOES
+ .type glPixelZoomxOES, %function
+glPixelZoomxOES:
+ adrp x16, :got:__blue_glCore_glPixelZoomxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelZoomxOES]
+ ldr x16, [x16]
+ br x16
+ .size glPixelZoomxOES, .-glPixelZoomxOES
+
+ .align 2
+ .global glGetCombinerOutputParameterivNV
+ .type glGetCombinerOutputParameterivNV, %function
+glGetCombinerOutputParameterivNV:
+ adrp x16, :got:__blue_glCore_glGetCombinerOutputParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCombinerOutputParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetCombinerOutputParameterivNV, .-glGetCombinerOutputParameterivNV
+
+ .align 2
+ .global glRasterPos2xvOES
+ .type glRasterPos2xvOES, %function
+glRasterPos2xvOES:
+ adrp x16, :got:__blue_glCore_glRasterPos2xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRasterPos2xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glRasterPos2xvOES, .-glRasterPos2xvOES
+
+ .align 2
+ .global glProgramLocalParametersI4ivNV
+ .type glProgramLocalParametersI4ivNV, %function
+glProgramLocalParametersI4ivNV:
+ adrp x16, :got:__blue_glCore_glProgramLocalParametersI4ivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParametersI4ivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParametersI4ivNV, .-glProgramLocalParametersI4ivNV
+
+ .align 2
+ .global glVertexArrayVertexBuffers
+ .type glVertexArrayVertexBuffers, %function
+glVertexArrayVertexBuffers:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexBuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexBuffers]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexBuffers, .-glVertexArrayVertexBuffers
+
+ .align 2
+ .global glUniform1ui64NV
+ .type glUniform1ui64NV, %function
+glUniform1ui64NV:
+ adrp x16, :got:__blue_glCore_glUniform1ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1ui64NV, .-glUniform1ui64NV
+
+ .align 2
+ .global glProgramParameteri
+ .type glProgramParameteri, %function
+glProgramParameteri:
+ adrp x16, :got:__blue_glCore_glProgramParameteri
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramParameteri]
+ ldr x16, [x16]
+ br x16
+ .size glProgramParameteri, .-glProgramParameteri
+
+ .align 2
+ .global glGetProgramParameterdvNV
+ .type glGetProgramParameterdvNV, %function
+glGetProgramParameterdvNV:
+ adrp x16, :got:__blue_glCore_glGetProgramParameterdvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramParameterdvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramParameterdvNV, .-glGetProgramParameterdvNV
+
+ .align 2
+ .global glVertexStream2dvATI
+ .type glVertexStream2dvATI, %function
+glVertexStream2dvATI:
+ adrp x16, :got:__blue_glCore_glVertexStream2dvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream2dvATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream2dvATI, .-glVertexStream2dvATI
+
+ .align 2
+ .global glPathStencilDepthOffsetNV
+ .type glPathStencilDepthOffsetNV, %function
+glPathStencilDepthOffsetNV:
+ adrp x16, :got:__blue_glCore_glPathStencilDepthOffsetNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathStencilDepthOffsetNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathStencilDepthOffsetNV, .-glPathStencilDepthOffsetNV
+
+ .align 2
+ .global glIsStateNV
+ .type glIsStateNV, %function
+glIsStateNV:
+ adrp x16, :got:__blue_glCore_glIsStateNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsStateNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsStateNV, .-glIsStateNV
+
+ .align 2
+ .global glVertexAttribL2dEXT
+ .type glVertexAttribL2dEXT, %function
+glVertexAttribL2dEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribL2dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL2dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL2dEXT, .-glVertexAttribL2dEXT
+
+ .align 2
+ .global glGetImageTransformParameterfvHP
+ .type glGetImageTransformParameterfvHP, %function
+glGetImageTransformParameterfvHP:
+ adrp x16, :got:__blue_glCore_glGetImageTransformParameterfvHP
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetImageTransformParameterfvHP]
+ ldr x16, [x16]
+ br x16
+ .size glGetImageTransformParameterfvHP, .-glGetImageTransformParameterfvHP
+
+ .align 2
+ .global glVertex3xOES
+ .type glVertex3xOES, %function
+glVertex3xOES:
+ adrp x16, :got:__blue_glCore_glVertex3xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex3xOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex3xOES, .-glVertex3xOES
+
+ .align 2
+ .global glFogFuncSGIS
+ .type glFogFuncSGIS, %function
+glFogFuncSGIS:
+ adrp x16, :got:__blue_glCore_glFogFuncSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogFuncSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glFogFuncSGIS, .-glFogFuncSGIS
+
+ .align 2
+ .global glWeightPointerARB
+ .type glWeightPointerARB, %function
+glWeightPointerARB:
+ adrp x16, :got:__blue_glCore_glWeightPointerARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWeightPointerARB]
+ ldr x16, [x16]
+ br x16
+ .size glWeightPointerARB, .-glWeightPointerARB
+
+ .align 2
+ .global glFinishFenceNV
+ .type glFinishFenceNV, %function
+glFinishFenceNV:
+ adrp x16, :got:__blue_glCore_glFinishFenceNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFinishFenceNV]
+ ldr x16, [x16]
+ br x16
+ .size glFinishFenceNV, .-glFinishFenceNV
+
+ .align 2
+ .global glDepthRangexOES
+ .type glDepthRangexOES, %function
+glDepthRangexOES:
+ adrp x16, :got:__blue_glCore_glDepthRangexOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthRangexOES]
+ ldr x16, [x16]
+ br x16
+ .size glDepthRangexOES, .-glDepthRangexOES
+
+ .align 2
+ .global glEnableVertexArrayAttribEXT
+ .type glEnableVertexArrayAttribEXT, %function
+glEnableVertexArrayAttribEXT:
+ adrp x16, :got:__blue_glCore_glEnableVertexArrayAttribEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnableVertexArrayAttribEXT]
+ ldr x16, [x16]
+ br x16
+ .size glEnableVertexArrayAttribEXT, .-glEnableVertexArrayAttribEXT
+
+ .align 2
+ .global glProgramUniform2uivEXT
+ .type glProgramUniform2uivEXT, %function
+glProgramUniform2uivEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform2uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2uivEXT, .-glProgramUniform2uivEXT
+
+ .align 2
+ .global glGetDoubleIndexedvEXT
+ .type glGetDoubleIndexedvEXT, %function
+glGetDoubleIndexedvEXT:
+ adrp x16, :got:__blue_glCore_glGetDoubleIndexedvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetDoubleIndexedvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetDoubleIndexedvEXT, .-glGetDoubleIndexedvEXT
+
+ .align 2
+ .global glVertexAttrib3fvNV
+ .type glVertexAttrib3fvNV, %function
+glVertexAttrib3fvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3fvNV, .-glVertexAttrib3fvNV
+
+ .align 2
+ .global glVertexAttribL1ui64vNV
+ .type glVertexAttribL1ui64vNV, %function
+glVertexAttribL1ui64vNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL1ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL1ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL1ui64vNV, .-glVertexAttribL1ui64vNV
+
+ .align 2
+ .global glWindowPos2fMESA
+ .type glWindowPos2fMESA, %function
+glWindowPos2fMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos2fMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2fMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2fMESA, .-glWindowPos2fMESA
+
+ .align 2
+ .global glCopyConvolutionFilter1DEXT
+ .type glCopyConvolutionFilter1DEXT, %function
+glCopyConvolutionFilter1DEXT:
+ adrp x16, :got:__blue_glCore_glCopyConvolutionFilter1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyConvolutionFilter1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyConvolutionFilter1DEXT, .-glCopyConvolutionFilter1DEXT
+
+ .align 2
+ .global glWindowPos2sv
+ .type glWindowPos2sv, %function
+glWindowPos2sv:
+ adrp x16, :got:__blue_glCore_glWindowPos2sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2sv]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2sv, .-glWindowPos2sv
+
+ .align 2
+ .global glBindFramebufferEXT
+ .type glBindFramebufferEXT, %function
+glBindFramebufferEXT:
+ adrp x16, :got:__blue_glCore_glBindFramebufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindFramebufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindFramebufferEXT, .-glBindFramebufferEXT
+
+ .align 2
+ .global glCreateShader
+ .type glCreateShader, %function
+glCreateShader:
+ adrp x16, :got:__blue_glCore_glCreateShader
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateShader]
+ ldr x16, [x16]
+ br x16
+ .size glCreateShader, .-glCreateShader
+
+ .align 2
+ .global glGetColorTableParameterfvEXT
+ .type glGetColorTableParameterfvEXT, %function
+glGetColorTableParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glGetColorTableParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetColorTableParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetColorTableParameterfvEXT, .-glGetColorTableParameterfvEXT
+
+ .align 2
+ .global glGenRenderbuffers
+ .type glGenRenderbuffers, %function
+glGenRenderbuffers:
+ adrp x16, :got:__blue_glCore_glGenRenderbuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenRenderbuffers]
+ ldr x16, [x16]
+ br x16
+ .size glGenRenderbuffers, .-glGenRenderbuffers
+
+ .align 2
+ .global glCopyTexSubImage2D
+ .type glCopyTexSubImage2D, %function
+glCopyTexSubImage2D:
+ adrp x16, :got:__blue_glCore_glCopyTexSubImage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTexSubImage2D]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTexSubImage2D, .-glCopyTexSubImage2D
+
+ .align 2
+ .global glVertexAttrib4ubvARB
+ .type glVertexAttrib4ubvARB, %function
+glVertexAttrib4ubvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4ubvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4ubvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4ubvARB, .-glVertexAttrib4ubvARB
+
+ .align 2
+ .global glDrawTextureNV
+ .type glDrawTextureNV, %function
+glDrawTextureNV:
+ adrp x16, :got:__blue_glCore_glDrawTextureNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawTextureNV]
+ ldr x16, [x16]
+ br x16
+ .size glDrawTextureNV, .-glDrawTextureNV
+
+ .align 2
+ .global glVertexStream2dATI
+ .type glVertexStream2dATI, %function
+glVertexStream2dATI:
+ adrp x16, :got:__blue_glCore_glVertexStream2dATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream2dATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream2dATI, .-glVertexStream2dATI
+
+ .align 2
+ .global glGetCombinerInputParameterfvNV
+ .type glGetCombinerInputParameterfvNV, %function
+glGetCombinerInputParameterfvNV:
+ adrp x16, :got:__blue_glCore_glGetCombinerInputParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCombinerInputParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetCombinerInputParameterfvNV, .-glGetCombinerInputParameterfvNV
+
+ .align 2
+ .global glBlendFuncSeparate
+ .type glBlendFuncSeparate, %function
+glBlendFuncSeparate:
+ adrp x16, :got:__blue_glCore_glBlendFuncSeparate
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendFuncSeparate]
+ ldr x16, [x16]
+ br x16
+ .size glBlendFuncSeparate, .-glBlendFuncSeparate
+
+ .align 2
+ .global glPointParameterfARB
+ .type glPointParameterfARB, %function
+glPointParameterfARB:
+ adrp x16, :got:__blue_glCore_glPointParameterfARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameterfARB]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameterfARB, .-glPointParameterfARB
+
+ .align 2
+ .global glUniform1fvARB
+ .type glUniform1fvARB, %function
+glUniform1fvARB:
+ adrp x16, :got:__blue_glCore_glUniform1fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1fvARB, .-glUniform1fvARB
+
+ .align 2
+ .global glCopyTexSubImage1D
+ .type glCopyTexSubImage1D, %function
+glCopyTexSubImage1D:
+ adrp x16, :got:__blue_glCore_glCopyTexSubImage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTexSubImage1D]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTexSubImage1D, .-glCopyTexSubImage1D
+
+ .align 2
+ .global glGetVariantFloatvEXT
+ .type glGetVariantFloatvEXT, %function
+glGetVariantFloatvEXT:
+ adrp x16, :got:__blue_glCore_glGetVariantFloatvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVariantFloatvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVariantFloatvEXT, .-glGetVariantFloatvEXT
+
+ .align 2
+ .global glVertexP2ui
+ .type glVertexP2ui, %function
+glVertexP2ui:
+ adrp x16, :got:__blue_glCore_glVertexP2ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexP2ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexP2ui, .-glVertexP2ui
+
+ .align 2
+ .global glWindowPos2dMESA
+ .type glWindowPos2dMESA, %function
+glWindowPos2dMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos2dMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2dMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2dMESA, .-glWindowPos2dMESA
+
+ .align 2
+ .global glCompressedTexSubImage1DARB
+ .type glCompressedTexSubImage1DARB, %function
+glCompressedTexSubImage1DARB:
+ adrp x16, :got:__blue_glCore_glCompressedTexSubImage1DARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexSubImage1DARB]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexSubImage1DARB, .-glCompressedTexSubImage1DARB
+
+ .align 2
+ .global glGetTextureImageEXT
+ .type glGetTextureImageEXT, %function
+glGetTextureImageEXT:
+ adrp x16, :got:__blue_glCore_glGetTextureImageEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureImageEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureImageEXT, .-glGetTextureImageEXT
+
+ .align 2
+ .global glPointSize
+ .type glPointSize, %function
+glPointSize:
+ adrp x16, :got:__blue_glCore_glPointSize
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointSize]
+ ldr x16, [x16]
+ br x16
+ .size glPointSize, .-glPointSize
+
+ .align 2
+ .global glBindTextureUnit
+ .type glBindTextureUnit, %function
+glBindTextureUnit:
+ adrp x16, :got:__blue_glCore_glBindTextureUnit
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindTextureUnit]
+ ldr x16, [x16]
+ br x16
+ .size glBindTextureUnit, .-glBindTextureUnit
+
+ .align 2
+ .global glProgramEnvParameterI4uiNV
+ .type glProgramEnvParameterI4uiNV, %function
+glProgramEnvParameterI4uiNV:
+ adrp x16, :got:__blue_glCore_glProgramEnvParameterI4uiNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParameterI4uiNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParameterI4uiNV, .-glProgramEnvParameterI4uiNV
+
+ .align 2
+ .global glGetProgramPipelineInfoLog
+ .type glGetProgramPipelineInfoLog, %function
+glGetProgramPipelineInfoLog:
+ adrp x16, :got:__blue_glCore_glGetProgramPipelineInfoLog
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramPipelineInfoLog]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramPipelineInfoLog, .-glGetProgramPipelineInfoLog
+
+ .align 2
+ .global glProgramUniform4i64vARB
+ .type glProgramUniform4i64vARB, %function
+glProgramUniform4i64vARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform4i64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4i64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4i64vARB, .-glProgramUniform4i64vARB
+
+ .align 2
+ .global glVertexAttrib4Nuiv
+ .type glVertexAttrib4Nuiv, %function
+glVertexAttrib4Nuiv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4Nuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4Nuiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4Nuiv, .-glVertexAttrib4Nuiv
+
+ .align 2
+ .global glRenderbufferStorage
+ .type glRenderbufferStorage, %function
+glRenderbufferStorage:
+ adrp x16, :got:__blue_glCore_glRenderbufferStorage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRenderbufferStorage]
+ ldr x16, [x16]
+ br x16
+ .size glRenderbufferStorage, .-glRenderbufferStorage
+
+ .align 2
+ .global glWaitSync
+ .type glWaitSync, %function
+glWaitSync:
+ adrp x16, :got:__blue_glCore_glWaitSync
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWaitSync]
+ ldr x16, [x16]
+ br x16
+ .size glWaitSync, .-glWaitSync
+
+ .align 2
+ .global glUniform3i
+ .type glUniform3i, %function
+glUniform3i:
+ adrp x16, :got:__blue_glCore_glUniform3i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3i]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3i, .-glUniform3i
+
+ .align 2
+ .global glBlendEquationSeparatei
+ .type glBlendEquationSeparatei, %function
+glBlendEquationSeparatei:
+ adrp x16, :got:__blue_glCore_glBlendEquationSeparatei
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendEquationSeparatei]
+ ldr x16, [x16]
+ br x16
+ .size glBlendEquationSeparatei, .-glBlendEquationSeparatei
+
+ .align 2
+ .global glVertexAttrib2hvNV
+ .type glVertexAttrib2hvNV, %function
+glVertexAttrib2hvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2hvNV, .-glVertexAttrib2hvNV
+
+ .align 2
+ .global glTextureParameterivEXT
+ .type glTextureParameterivEXT, %function
+glTextureParameterivEXT:
+ adrp x16, :got:__blue_glCore_glTextureParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameterivEXT, .-glTextureParameterivEXT
+
+ .align 2
+ .global glUniform3d
+ .type glUniform3d, %function
+glUniform3d:
+ adrp x16, :got:__blue_glCore_glUniform3d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3d]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3d, .-glUniform3d
+
+ .align 2
+ .global glUniform3f
+ .type glUniform3f, %function
+glUniform3f:
+ adrp x16, :got:__blue_glCore_glUniform3f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3f]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3f, .-glUniform3f
+
+ .align 2
+ .global glActiveProgramEXT
+ .type glActiveProgramEXT, %function
+glActiveProgramEXT:
+ adrp x16, :got:__blue_glCore_glActiveProgramEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glActiveProgramEXT]
+ ldr x16, [x16]
+ br x16
+ .size glActiveProgramEXT, .-glActiveProgramEXT
+
+ .align 2
+ .global glProgramUniform3uiv
+ .type glProgramUniform3uiv, %function
+glProgramUniform3uiv:
+ adrp x16, :got:__blue_glCore_glProgramUniform3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3uiv, .-glProgramUniform3uiv
+
+ .align 2
+ .global glUniform3ui64vARB
+ .type glUniform3ui64vARB, %function
+glUniform3ui64vARB:
+ adrp x16, :got:__blue_glCore_glUniform3ui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3ui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3ui64vARB, .-glUniform3ui64vARB
+
+ .align 2
+ .global glProgramUniform1ui64vARB
+ .type glProgramUniform1ui64vARB, %function
+glProgramUniform1ui64vARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform1ui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1ui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1ui64vARB, .-glProgramUniform1ui64vARB
+
+ .align 2
+ .global glTextureParameterfEXT
+ .type glTextureParameterfEXT, %function
+glTextureParameterfEXT:
+ adrp x16, :got:__blue_glCore_glTextureParameterfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameterfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameterfEXT, .-glTextureParameterfEXT
+
+ .align 2
+ .global glDeformationMap3dSGIX
+ .type glDeformationMap3dSGIX, %function
+glDeformationMap3dSGIX:
+ adrp x16, :got:__blue_glCore_glDeformationMap3dSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeformationMap3dSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glDeformationMap3dSGIX, .-glDeformationMap3dSGIX
+
+ .align 2
+ .global glSetFragmentShaderConstantATI
+ .type glSetFragmentShaderConstantATI, %function
+glSetFragmentShaderConstantATI:
+ adrp x16, :got:__blue_glCore_glSetFragmentShaderConstantATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSetFragmentShaderConstantATI]
+ ldr x16, [x16]
+ br x16
+ .size glSetFragmentShaderConstantATI, .-glSetFragmentShaderConstantATI
+
+ .align 2
+ .global glNamedFramebufferTextureLayerEXT
+ .type glNamedFramebufferTextureLayerEXT, %function
+glNamedFramebufferTextureLayerEXT:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferTextureLayerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferTextureLayerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferTextureLayerEXT, .-glNamedFramebufferTextureLayerEXT
+
+ .align 2
+ .global glReplacementCodeuiSUN
+ .type glReplacementCodeuiSUN, %function
+glReplacementCodeuiSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiSUN, .-glReplacementCodeuiSUN
+
+ .align 2
+ .global glVertexAttrib4sARB
+ .type glVertexAttrib4sARB, %function
+glVertexAttrib4sARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4sARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4sARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4sARB, .-glVertexAttrib4sARB
+
+ .align 2
+ .global glWeightusvARB
+ .type glWeightusvARB, %function
+glWeightusvARB:
+ adrp x16, :got:__blue_glCore_glWeightusvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWeightusvARB]
+ ldr x16, [x16]
+ br x16
+ .size glWeightusvARB, .-glWeightusvARB
+
+ .align 2
+ .global glGetFragDataIndex
+ .type glGetFragDataIndex, %function
+glGetFragDataIndex:
+ adrp x16, :got:__blue_glCore_glGetFragDataIndex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFragDataIndex]
+ ldr x16, [x16]
+ br x16
+ .size glGetFragDataIndex, .-glGetFragDataIndex
+
+ .align 2
+ .global glReplacementCodeuiNormal3fVertex3fSUN
+ .type glReplacementCodeuiNormal3fVertex3fSUN, %function
+glReplacementCodeuiNormal3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiNormal3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiNormal3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiNormal3fVertex3fSUN, .-glReplacementCodeuiNormal3fVertex3fSUN
+
+ .align 2
+ .global glMultiTexCoord2xOES
+ .type glMultiTexCoord2xOES, %function
+glMultiTexCoord2xOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2xOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2xOES, .-glMultiTexCoord2xOES
+
+ .align 2
+ .global glTexCoord2fVertex3fSUN
+ .type glTexCoord2fVertex3fSUN, %function
+glTexCoord2fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord2fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2fVertex3fSUN, .-glTexCoord2fVertex3fSUN
+
+ .align 2
+ .global glPolygonOffsetEXT
+ .type glPolygonOffsetEXT, %function
+glPolygonOffsetEXT:
+ adrp x16, :got:__blue_glCore_glPolygonOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPolygonOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPolygonOffsetEXT, .-glPolygonOffsetEXT
+
+ .align 2
+ .global glWeightPathsNV
+ .type glWeightPathsNV, %function
+glWeightPathsNV:
+ adrp x16, :got:__blue_glCore_glWeightPathsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWeightPathsNV]
+ ldr x16, [x16]
+ br x16
+ .size glWeightPathsNV, .-glWeightPathsNV
+
+ .align 2
+ .global glCombinerStageParameterfvNV
+ .type glCombinerStageParameterfvNV, %function
+glCombinerStageParameterfvNV:
+ adrp x16, :got:__blue_glCore_glCombinerStageParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCombinerStageParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glCombinerStageParameterfvNV, .-glCombinerStageParameterfvNV
+
+ .align 2
+ .global glPointParameterfEXT
+ .type glPointParameterfEXT, %function
+glPointParameterfEXT:
+ adrp x16, :got:__blue_glCore_glPointParameterfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameterfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameterfEXT, .-glPointParameterfEXT
+
+ .align 2
+ .global glCopyTexImage1DEXT
+ .type glCopyTexImage1DEXT, %function
+glCopyTexImage1DEXT:
+ adrp x16, :got:__blue_glCore_glCopyTexImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTexImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTexImage1DEXT, .-glCopyTexImage1DEXT
+
+ .align 2
+ .global glMatrixMultfEXT
+ .type glMatrixMultfEXT, %function
+glMatrixMultfEXT:
+ adrp x16, :got:__blue_glCore_glMatrixMultfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixMultfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixMultfEXT, .-glMatrixMultfEXT
+
+ .align 2
+ .global glCompressedTextureSubImage3DEXT
+ .type glCompressedTextureSubImage3DEXT, %function
+glCompressedTextureSubImage3DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedTextureSubImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTextureSubImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTextureSubImage3DEXT, .-glCompressedTextureSubImage3DEXT
+
+ .align 2
+ .global glGetTexLevelParameterxvOES
+ .type glGetTexLevelParameterxvOES, %function
+glGetTexLevelParameterxvOES:
+ adrp x16, :got:__blue_glCore_glGetTexLevelParameterxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexLevelParameterxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexLevelParameterxvOES, .-glGetTexLevelParameterxvOES
+
+ .align 2
+ .global glVertexAttribL3dvEXT
+ .type glVertexAttribL3dvEXT, %function
+glVertexAttribL3dvEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribL3dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL3dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL3dvEXT, .-glVertexAttribL3dvEXT
+
+ .align 2
+ .global glMultiTexCoordP4ui
+ .type glMultiTexCoordP4ui, %function
+glMultiTexCoordP4ui:
+ adrp x16, :got:__blue_glCore_glMultiTexCoordP4ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoordP4ui]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoordP4ui, .-glMultiTexCoordP4ui
+
+ .align 2
+ .global glGetTextureLevelParameterivEXT
+ .type glGetTextureLevelParameterivEXT, %function
+glGetTextureLevelParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetTextureLevelParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureLevelParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureLevelParameterivEXT, .-glGetTextureLevelParameterivEXT
+
+ .align 2
+ .global glAlphaFragmentOp2ATI
+ .type glAlphaFragmentOp2ATI, %function
+glAlphaFragmentOp2ATI:
+ adrp x16, :got:__blue_glCore_glAlphaFragmentOp2ATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glAlphaFragmentOp2ATI]
+ ldr x16, [x16]
+ br x16
+ .size glAlphaFragmentOp2ATI, .-glAlphaFragmentOp2ATI
+
+ .align 2
+ .global glDeleteFramebuffers
+ .type glDeleteFramebuffers, %function
+glDeleteFramebuffers:
+ adrp x16, :got:__blue_glCore_glDeleteFramebuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteFramebuffers]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteFramebuffers, .-glDeleteFramebuffers
+
+ .align 2
+ .global glDrawArrays
+ .type glDrawArrays, %function
+glDrawArrays:
+ adrp x16, :got:__blue_glCore_glDrawArrays
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawArrays]
+ ldr x16, [x16]
+ br x16
+ .size glDrawArrays, .-glDrawArrays
+
+ .align 2
+ .global glGetnTexImageARB
+ .type glGetnTexImageARB, %function
+glGetnTexImageARB:
+ adrp x16, :got:__blue_glCore_glGetnTexImageARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnTexImageARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnTexImageARB, .-glGetnTexImageARB
+
+ .align 2
+ .global glClear
+ .type glClear, %function
+glClear:
+ adrp x16, :got:__blue_glCore_glClear
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClear]
+ ldr x16, [x16]
+ br x16
+ .size glClear, .-glClear
+
+ .align 2
+ .global glVertexArrayParameteriAPPLE
+ .type glVertexArrayParameteriAPPLE, %function
+glVertexArrayParameteriAPPLE:
+ adrp x16, :got:__blue_glCore_glVertexArrayParameteriAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayParameteriAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayParameteriAPPLE, .-glVertexArrayParameteriAPPLE
+
+ .align 2
+ .global glBlendFuncSeparateiARB
+ .type glBlendFuncSeparateiARB, %function
+glBlendFuncSeparateiARB:
+ adrp x16, :got:__blue_glCore_glBlendFuncSeparateiARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendFuncSeparateiARB]
+ ldr x16, [x16]
+ br x16
+ .size glBlendFuncSeparateiARB, .-glBlendFuncSeparateiARB
+
+ .align 2
+ .global glWindowPos2iARB
+ .type glWindowPos2iARB, %function
+glWindowPos2iARB:
+ adrp x16, :got:__blue_glCore_glWindowPos2iARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2iARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2iARB, .-glWindowPos2iARB
+
+ .align 2
+ .global glFragmentLightModelivSGIX
+ .type glFragmentLightModelivSGIX, %function
+glFragmentLightModelivSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentLightModelivSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentLightModelivSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentLightModelivSGIX, .-glFragmentLightModelivSGIX
+
+ .align 2
+ .global glVertexAttribP2ui
+ .type glVertexAttribP2ui, %function
+glVertexAttribP2ui:
+ adrp x16, :got:__blue_glCore_glVertexAttribP2ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribP2ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribP2ui, .-glVertexAttribP2ui
+
+ .align 2
+ .global glSecondaryColor3hNV
+ .type glSecondaryColor3hNV, %function
+glSecondaryColor3hNV:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3hNV]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3hNV, .-glSecondaryColor3hNV
+
+ .align 2
+ .global glProgramUniform3iEXT
+ .type glProgramUniform3iEXT, %function
+glProgramUniform3iEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform3iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3iEXT, .-glProgramUniform3iEXT
+
+ .align 2
+ .global glVertexAttrib4Nub
+ .type glVertexAttrib4Nub, %function
+glVertexAttrib4Nub:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4Nub
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4Nub]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4Nub, .-glVertexAttrib4Nub
+
+ .align 2
+ .global glBindBufferBase
+ .type glBindBufferBase, %function
+glBindBufferBase:
+ adrp x16, :got:__blue_glCore_glBindBufferBase
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBufferBase]
+ ldr x16, [x16]
+ br x16
+ .size glBindBufferBase, .-glBindBufferBase
+
+ .align 2
+ .global glTexCoord4hNV
+ .type glTexCoord4hNV, %function
+glTexCoord4hNV:
+ adrp x16, :got:__blue_glCore_glTexCoord4hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord4hNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord4hNV, .-glTexCoord4hNV
+
+ .align 2
+ .global glTexImage1D
+ .type glTexImage1D, %function
+glTexImage1D:
+ adrp x16, :got:__blue_glCore_glTexImage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexImage1D]
+ ldr x16, [x16]
+ br x16
+ .size glTexImage1D, .-glTexImage1D
+
+ .align 2
+ .global glDeletePerfMonitorsAMD
+ .type glDeletePerfMonitorsAMD, %function
+glDeletePerfMonitorsAMD:
+ adrp x16, :got:__blue_glCore_glDeletePerfMonitorsAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeletePerfMonitorsAMD]
+ ldr x16, [x16]
+ br x16
+ .size glDeletePerfMonitorsAMD, .-glDeletePerfMonitorsAMD
+
+ .align 2
+ .global glIsRenderbufferEXT
+ .type glIsRenderbufferEXT, %function
+glIsRenderbufferEXT:
+ adrp x16, :got:__blue_glCore_glIsRenderbufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsRenderbufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glIsRenderbufferEXT, .-glIsRenderbufferEXT
+
+ .align 2
+ .global glDrawCommandsNV
+ .type glDrawCommandsNV, %function
+glDrawCommandsNV:
+ adrp x16, :got:__blue_glCore_glDrawCommandsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawCommandsNV]
+ ldr x16, [x16]
+ br x16
+ .size glDrawCommandsNV, .-glDrawCommandsNV
+
+ .align 2
+ .global glUniform3ivARB
+ .type glUniform3ivARB, %function
+glUniform3ivARB:
+ adrp x16, :got:__blue_glCore_glUniform3ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3ivARB, .-glUniform3ivARB
+
+ .align 2
+ .global glBufferSubData
+ .type glBufferSubData, %function
+glBufferSubData:
+ adrp x16, :got:__blue_glCore_glBufferSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBufferSubData]
+ ldr x16, [x16]
+ br x16
+ .size glBufferSubData, .-glBufferSubData
+
+ .align 2
+ .global glSecondaryColor3bv
+ .type glSecondaryColor3bv, %function
+glSecondaryColor3bv:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3bv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3bv]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3bv, .-glSecondaryColor3bv
+
+ .align 2
+ .global glVertexPointervINTEL
+ .type glVertexPointervINTEL, %function
+glVertexPointervINTEL:
+ adrp x16, :got:__blue_glCore_glVertexPointervINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexPointervINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glVertexPointervINTEL, .-glVertexPointervINTEL
+
+ .align 2
+ .global glMatrixMultTransposedEXT
+ .type glMatrixMultTransposedEXT, %function
+glMatrixMultTransposedEXT:
+ adrp x16, :got:__blue_glCore_glMatrixMultTransposedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixMultTransposedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixMultTransposedEXT, .-glMatrixMultTransposedEXT
+
+ .align 2
+ .global glRequestResidentProgramsNV
+ .type glRequestResidentProgramsNV, %function
+glRequestResidentProgramsNV:
+ adrp x16, :got:__blue_glCore_glRequestResidentProgramsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRequestResidentProgramsNV]
+ ldr x16, [x16]
+ br x16
+ .size glRequestResidentProgramsNV, .-glRequestResidentProgramsNV
+
+ .align 2
+ .global glGetQueryObjecti64v
+ .type glGetQueryObjecti64v, %function
+glGetQueryObjecti64v:
+ adrp x16, :got:__blue_glCore_glGetQueryObjecti64v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryObjecti64v]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryObjecti64v, .-glGetQueryObjecti64v
+
+ .align 2
+ .global glMatrixMult3x3fNV
+ .type glMatrixMult3x3fNV, %function
+glMatrixMult3x3fNV:
+ adrp x16, :got:__blue_glCore_glMatrixMult3x3fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixMult3x3fNV]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixMult3x3fNV, .-glMatrixMult3x3fNV
+
+ .align 2
+ .global glUniform4iARB
+ .type glUniform4iARB, %function
+glUniform4iARB:
+ adrp x16, :got:__blue_glCore_glUniform4iARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4iARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4iARB, .-glUniform4iARB
+
+ .align 2
+ .global glPathSubCommandsNV
+ .type glPathSubCommandsNV, %function
+glPathSubCommandsNV:
+ adrp x16, :got:__blue_glCore_glPathSubCommandsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathSubCommandsNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathSubCommandsNV, .-glPathSubCommandsNV
+
+ .align 2
+ .global glGetFinalCombinerInputParameterivNV
+ .type glGetFinalCombinerInputParameterivNV, %function
+glGetFinalCombinerInputParameterivNV:
+ adrp x16, :got:__blue_glCore_glGetFinalCombinerInputParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFinalCombinerInputParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetFinalCombinerInputParameterivNV, .-glGetFinalCombinerInputParameterivNV
+
+ .align 2
+ .global glIsRenderbuffer
+ .type glIsRenderbuffer, %function
+glIsRenderbuffer:
+ adrp x16, :got:__blue_glCore_glIsRenderbuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsRenderbuffer]
+ ldr x16, [x16]
+ br x16
+ .size glIsRenderbuffer, .-glIsRenderbuffer
+
+ .align 2
+ .global glFrustumfOES
+ .type glFrustumfOES, %function
+glFrustumfOES:
+ adrp x16, :got:__blue_glCore_glFrustumfOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFrustumfOES]
+ ldr x16, [x16]
+ br x16
+ .size glFrustumfOES, .-glFrustumfOES
+
+ .align 2
+ .global glBindVertexBuffers
+ .type glBindVertexBuffers, %function
+glBindVertexBuffers:
+ adrp x16, :got:__blue_glCore_glBindVertexBuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindVertexBuffers]
+ ldr x16, [x16]
+ br x16
+ .size glBindVertexBuffers, .-glBindVertexBuffers
+
+ .align 2
+ .global glIsVertexArray
+ .type glIsVertexArray, %function
+glIsVertexArray:
+ adrp x16, :got:__blue_glCore_glIsVertexArray
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsVertexArray]
+ ldr x16, [x16]
+ br x16
+ .size glIsVertexArray, .-glIsVertexArray
+
+ .align 2
+ .global glDisableVertexAttribArray
+ .type glDisableVertexAttribArray, %function
+glDisableVertexAttribArray:
+ adrp x16, :got:__blue_glCore_glDisableVertexAttribArray
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisableVertexAttribArray]
+ ldr x16, [x16]
+ br x16
+ .size glDisableVertexAttribArray, .-glDisableVertexAttribArray
+
+ .align 2
+ .global glWindowPos3ivARB
+ .type glWindowPos3ivARB, %function
+glWindowPos3ivARB:
+ adrp x16, :got:__blue_glCore_glWindowPos3ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3ivARB, .-glWindowPos3ivARB
+
+ .align 2
+ .global glTexCoordFormatNV
+ .type glTexCoordFormatNV, %function
+glTexCoordFormatNV:
+ adrp x16, :got:__blue_glCore_glTexCoordFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordFormatNV, .-glTexCoordFormatNV
+
+ .align 2
+ .global glBlitNamedFramebuffer
+ .type glBlitNamedFramebuffer, %function
+glBlitNamedFramebuffer:
+ adrp x16, :got:__blue_glCore_glBlitNamedFramebuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlitNamedFramebuffer]
+ ldr x16, [x16]
+ br x16
+ .size glBlitNamedFramebuffer, .-glBlitNamedFramebuffer
+
+ .align 2
+ .global glMatrixLoadTransposefEXT
+ .type glMatrixLoadTransposefEXT, %function
+glMatrixLoadTransposefEXT:
+ adrp x16, :got:__blue_glCore_glMatrixLoadTransposefEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixLoadTransposefEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixLoadTransposefEXT, .-glMatrixLoadTransposefEXT
+
+ .align 2
+ .global glMultiTexGenfEXT
+ .type glMultiTexGenfEXT, %function
+glMultiTexGenfEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexGenfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexGenfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexGenfEXT, .-glMultiTexGenfEXT
+
+ .align 2
+ .global glShaderStorageBlockBinding
+ .type glShaderStorageBlockBinding, %function
+glShaderStorageBlockBinding:
+ adrp x16, :got:__blue_glCore_glShaderStorageBlockBinding
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glShaderStorageBlockBinding]
+ ldr x16, [x16]
+ br x16
+ .size glShaderStorageBlockBinding, .-glShaderStorageBlockBinding
+
+ .align 2
+ .global glReplacementCodeuiColor4fNormal3fVertex3fSUN
+ .type glReplacementCodeuiColor4fNormal3fVertex3fSUN, %function
+glReplacementCodeuiColor4fNormal3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiColor4fNormal3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiColor4fNormal3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiColor4fNormal3fVertex3fSUN, .-glReplacementCodeuiColor4fNormal3fVertex3fSUN
+
+ .align 2
+ .global glVertexAttribI4ubv
+ .type glVertexAttribI4ubv, %function
+glVertexAttribI4ubv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4ubv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4ubv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4ubv, .-glVertexAttribI4ubv
+
+ .align 2
+ .global glVertexArrayVertexAttribFormatEXT
+ .type glVertexArrayVertexAttribFormatEXT, %function
+glVertexArrayVertexAttribFormatEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexAttribFormatEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexAttribFormatEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexAttribFormatEXT, .-glVertexArrayVertexAttribFormatEXT
+
+ .align 2
+ .global glVertex2hNV
+ .type glVertex2hNV, %function
+glVertex2hNV:
+ adrp x16, :got:__blue_glCore_glVertex2hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex2hNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertex2hNV, .-glVertex2hNV
+
+ .align 2
+ .global glDeleteVertexShaderEXT
+ .type glDeleteVertexShaderEXT, %function
+glDeleteVertexShaderEXT:
+ adrp x16, :got:__blue_glCore_glDeleteVertexShaderEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteVertexShaderEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteVertexShaderEXT, .-glDeleteVertexShaderEXT
+
+ .align 2
+ .global glTexImage3DEXT
+ .type glTexImage3DEXT, %function
+glTexImage3DEXT:
+ adrp x16, :got:__blue_glCore_glTexImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTexImage3DEXT, .-glTexImage3DEXT
+
+ .align 2
+ .global glProgramLocalParameterI4ivNV
+ .type glProgramLocalParameterI4ivNV, %function
+glProgramLocalParameterI4ivNV:
+ adrp x16, :got:__blue_glCore_glProgramLocalParameterI4ivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParameterI4ivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParameterI4ivNV, .-glProgramLocalParameterI4ivNV
+
+ .align 2
+ .global glGlobalAlphaFactoriSUN
+ .type glGlobalAlphaFactoriSUN, %function
+glGlobalAlphaFactoriSUN:
+ adrp x16, :got:__blue_glCore_glGlobalAlphaFactoriSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGlobalAlphaFactoriSUN]
+ ldr x16, [x16]
+ br x16
+ .size glGlobalAlphaFactoriSUN, .-glGlobalAlphaFactoriSUN
+
+ .align 2
+ .global glTextureStorage1D
+ .type glTextureStorage1D, %function
+glTextureStorage1D:
+ adrp x16, :got:__blue_glCore_glTextureStorage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorage1D]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorage1D, .-glTextureStorage1D
+
+ .align 2
+ .global glPathCommandsNV
+ .type glPathCommandsNV, %function
+glPathCommandsNV:
+ adrp x16, :got:__blue_glCore_glPathCommandsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathCommandsNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathCommandsNV, .-glPathCommandsNV
+
+ .align 2
+ .global glBinormal3sEXT
+ .type glBinormal3sEXT, %function
+glBinormal3sEXT:
+ adrp x16, :got:__blue_glCore_glBinormal3sEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormal3sEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormal3sEXT, .-glBinormal3sEXT
+
+ .align 2
+ .global glGetProgramInterfaceiv
+ .type glGetProgramInterfaceiv, %function
+glGetProgramInterfaceiv:
+ adrp x16, :got:__blue_glCore_glGetProgramInterfaceiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramInterfaceiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramInterfaceiv, .-glGetProgramInterfaceiv
+
+ .align 2
+ .global glMatrixIndexPointerARB
+ .type glMatrixIndexPointerARB, %function
+glMatrixIndexPointerARB:
+ adrp x16, :got:__blue_glCore_glMatrixIndexPointerARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixIndexPointerARB]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixIndexPointerARB, .-glMatrixIndexPointerARB
+
+ .align 2
+ .global glTexCoordPointerEXT
+ .type glTexCoordPointerEXT, %function
+glTexCoordPointerEXT:
+ adrp x16, :got:__blue_glCore_glTexCoordPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordPointerEXT, .-glTexCoordPointerEXT
+
+ .align 2
+ .global glMultiTexGeniEXT
+ .type glMultiTexGeniEXT, %function
+glMultiTexGeniEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexGeniEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexGeniEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexGeniEXT, .-glMultiTexGeniEXT
+
+ .align 2
+ .global glVertexAttrib2fNV
+ .type glVertexAttrib2fNV, %function
+glVertexAttrib2fNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2fNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2fNV, .-glVertexAttrib2fNV
+
+ .align 2
+ .global glMultiDrawArrays
+ .type glMultiDrawArrays, %function
+glMultiDrawArrays:
+ adrp x16, :got:__blue_glCore_glMultiDrawArrays
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawArrays]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawArrays, .-glMultiDrawArrays
+
+ .align 2
+ .global glMapNamedBuffer
+ .type glMapNamedBuffer, %function
+glMapNamedBuffer:
+ adrp x16, :got:__blue_glCore_glMapNamedBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapNamedBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glMapNamedBuffer, .-glMapNamedBuffer
+
+ .align 2
+ .global glGetMinmaxParameteriv
+ .type glGetMinmaxParameteriv, %function
+glGetMinmaxParameteriv:
+ adrp x16, :got:__blue_glCore_glGetMinmaxParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMinmaxParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetMinmaxParameteriv, .-glGetMinmaxParameteriv
+
+ .align 2
+ .global glGetnUniformdv
+ .type glGetnUniformdv, %function
+glGetnUniformdv:
+ adrp x16, :got:__blue_glCore_glGetnUniformdv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnUniformdv]
+ ldr x16, [x16]
+ br x16
+ .size glGetnUniformdv, .-glGetnUniformdv
+
+ .align 2
+ .global glGetTextureSubImage
+ .type glGetTextureSubImage, %function
+glGetTextureSubImage:
+ adrp x16, :got:__blue_glCore_glGetTextureSubImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureSubImage]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureSubImage, .-glGetTextureSubImage
+
+ .align 2
+ .global glBinormal3fEXT
+ .type glBinormal3fEXT, %function
+glBinormal3fEXT:
+ adrp x16, :got:__blue_glCore_glBinormal3fEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormal3fEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormal3fEXT, .-glBinormal3fEXT
+
+ .align 2
+ .global glNormalStream3iATI
+ .type glNormalStream3iATI, %function
+glNormalStream3iATI:
+ adrp x16, :got:__blue_glCore_glNormalStream3iATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalStream3iATI]
+ ldr x16, [x16]
+ br x16
+ .size glNormalStream3iATI, .-glNormalStream3iATI
+
+ .align 2
+ .global glProgramBufferParametersIivNV
+ .type glProgramBufferParametersIivNV, %function
+glProgramBufferParametersIivNV:
+ adrp x16, :got:__blue_glCore_glProgramBufferParametersIivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramBufferParametersIivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramBufferParametersIivNV, .-glProgramBufferParametersIivNV
+
+ .align 2
+ .global glPolygonOffset
+ .type glPolygonOffset, %function
+glPolygonOffset:
+ adrp x16, :got:__blue_glCore_glPolygonOffset
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPolygonOffset]
+ ldr x16, [x16]
+ br x16
+ .size glPolygonOffset, .-glPolygonOffset
+
+ .align 2
+ .global glBindBuffersBase
+ .type glBindBuffersBase, %function
+glBindBuffersBase:
+ adrp x16, :got:__blue_glCore_glBindBuffersBase
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBuffersBase]
+ ldr x16, [x16]
+ br x16
+ .size glBindBuffersBase, .-glBindBuffersBase
+
+ .align 2
+ .global glFlushMappedNamedBufferRangeEXT
+ .type glFlushMappedNamedBufferRangeEXT, %function
+glFlushMappedNamedBufferRangeEXT:
+ adrp x16, :got:__blue_glCore_glFlushMappedNamedBufferRangeEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFlushMappedNamedBufferRangeEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFlushMappedNamedBufferRangeEXT, .-glFlushMappedNamedBufferRangeEXT
+
+ .align 2
+ .global glGetVertexAttribIiv
+ .type glGetVertexAttribIiv, %function
+glGetVertexAttribIiv:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribIiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribIiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribIiv, .-glGetVertexAttribIiv
+
+ .align 2
+ .global glGetProgramSubroutineParameteruivNV
+ .type glGetProgramSubroutineParameteruivNV, %function
+glGetProgramSubroutineParameteruivNV:
+ adrp x16, :got:__blue_glCore_glGetProgramSubroutineParameteruivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramSubroutineParameteruivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramSubroutineParameteruivNV, .-glGetProgramSubroutineParameteruivNV
+
+ .align 2
+ .global glUniformui64NV
+ .type glUniformui64NV, %function
+glUniformui64NV:
+ adrp x16, :got:__blue_glCore_glUniformui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glUniformui64NV, .-glUniformui64NV
+
+ .align 2
+ .global glVertexAttrib2fvNV
+ .type glVertexAttrib2fvNV, %function
+glVertexAttrib2fvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2fvNV, .-glVertexAttrib2fvNV
+
+ .align 2
+ .global glTexParameterxvOES
+ .type glTexParameterxvOES, %function
+glTexParameterxvOES:
+ adrp x16, :got:__blue_glCore_glTexParameterxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexParameterxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexParameterxvOES, .-glTexParameterxvOES
+
+ .align 2
+ .global glPatchParameteri
+ .type glPatchParameteri, %function
+glPatchParameteri:
+ adrp x16, :got:__blue_glCore_glPatchParameteri
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPatchParameteri]
+ ldr x16, [x16]
+ br x16
+ .size glPatchParameteri, .-glPatchParameteri
+
+ .align 2
+ .global glGetTexFilterFuncSGIS
+ .type glGetTexFilterFuncSGIS, %function
+glGetTexFilterFuncSGIS:
+ adrp x16, :got:__blue_glCore_glGetTexFilterFuncSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexFilterFuncSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexFilterFuncSGIS, .-glGetTexFilterFuncSGIS
+
+ .align 2
+ .global glVertexStream3dATI
+ .type glVertexStream3dATI, %function
+glVertexStream3dATI:
+ adrp x16, :got:__blue_glCore_glVertexStream3dATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream3dATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream3dATI, .-glVertexStream3dATI
+
+ .align 2
+ .global glVertexArrayVertexBindingDivisorEXT
+ .type glVertexArrayVertexBindingDivisorEXT, %function
+glVertexArrayVertexBindingDivisorEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexBindingDivisorEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexBindingDivisorEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexBindingDivisorEXT, .-glVertexArrayVertexBindingDivisorEXT
+
+ .align 2
+ .global glMultiTexCoord3svARB
+ .type glMultiTexCoord3svARB, %function
+glMultiTexCoord3svARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3svARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3svARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3svARB, .-glMultiTexCoord3svARB
+
+ .align 2
+ .global glBindProgramNV
+ .type glBindProgramNV, %function
+glBindProgramNV:
+ adrp x16, :got:__blue_glCore_glBindProgramNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindProgramNV]
+ ldr x16, [x16]
+ br x16
+ .size glBindProgramNV, .-glBindProgramNV
+
+ .align 2
+ .global glGetConvolutionParameteriv
+ .type glGetConvolutionParameteriv, %function
+glGetConvolutionParameteriv:
+ adrp x16, :got:__blue_glCore_glGetConvolutionParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetConvolutionParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetConvolutionParameteriv, .-glGetConvolutionParameteriv
+
+ .align 2
+ .global glGetProgramLocalParameterfvARB
+ .type glGetProgramLocalParameterfvARB, %function
+glGetProgramLocalParameterfvARB:
+ adrp x16, :got:__blue_glCore_glGetProgramLocalParameterfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramLocalParameterfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramLocalParameterfvARB, .-glGetProgramLocalParameterfvARB
+
+ .align 2
+ .global glGenFragmentShadersATI
+ .type glGenFragmentShadersATI, %function
+glGenFragmentShadersATI:
+ adrp x16, :got:__blue_glCore_glGenFragmentShadersATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenFragmentShadersATI]
+ ldr x16, [x16]
+ br x16
+ .size glGenFragmentShadersATI, .-glGenFragmentShadersATI
+
+ .align 2
+ .global glTexBumpParameterivATI
+ .type glTexBumpParameterivATI, %function
+glTexBumpParameterivATI:
+ adrp x16, :got:__blue_glCore_glTexBumpParameterivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexBumpParameterivATI]
+ ldr x16, [x16]
+ br x16
+ .size glTexBumpParameterivATI, .-glTexBumpParameterivATI
+
+ .align 2
+ .global glGetNamedFramebufferAttachmentParameteriv
+ .type glGetNamedFramebufferAttachmentParameteriv, %function
+glGetNamedFramebufferAttachmentParameteriv:
+ adrp x16, :got:__blue_glCore_glGetNamedFramebufferAttachmentParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedFramebufferAttachmentParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedFramebufferAttachmentParameteriv, .-glGetNamedFramebufferAttachmentParameteriv
+
+ .align 2
+ .global glGenVertexArraysAPPLE
+ .type glGenVertexArraysAPPLE, %function
+glGenVertexArraysAPPLE:
+ adrp x16, :got:__blue_glCore_glGenVertexArraysAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenVertexArraysAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glGenVertexArraysAPPLE, .-glGenVertexArraysAPPLE
+
+ .align 2
+ .global glProgramUniformMatrix4x3dvEXT
+ .type glProgramUniformMatrix4x3dvEXT, %function
+glProgramUniformMatrix4x3dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4x3dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4x3dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4x3dvEXT, .-glProgramUniformMatrix4x3dvEXT
+
+ .align 2
+ .global glPassTexCoordATI
+ .type glPassTexCoordATI, %function
+glPassTexCoordATI:
+ adrp x16, :got:__blue_glCore_glPassTexCoordATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPassTexCoordATI]
+ ldr x16, [x16]
+ br x16
+ .size glPassTexCoordATI, .-glPassTexCoordATI
+
+ .align 2
+ .global glFramebufferTextureFaceARB
+ .type glFramebufferTextureFaceARB, %function
+glFramebufferTextureFaceARB:
+ adrp x16, :got:__blue_glCore_glFramebufferTextureFaceARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTextureFaceARB]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTextureFaceARB, .-glFramebufferTextureFaceARB
+
+ .align 2
+ .global glTextureStorage2DEXT
+ .type glTextureStorage2DEXT, %function
+glTextureStorage2DEXT:
+ adrp x16, :got:__blue_glCore_glTextureStorage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorage2DEXT, .-glTextureStorage2DEXT
+
+ .align 2
+ .global glVertexArrayFogCoordOffsetEXT
+ .type glVertexArrayFogCoordOffsetEXT, %function
+glVertexArrayFogCoordOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayFogCoordOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayFogCoordOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayFogCoordOffsetEXT, .-glVertexArrayFogCoordOffsetEXT
+
+ .align 2
+ .global glDeleteNamedStringARB
+ .type glDeleteNamedStringARB, %function
+glDeleteNamedStringARB:
+ adrp x16, :got:__blue_glCore_glDeleteNamedStringARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteNamedStringARB]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteNamedStringARB, .-glDeleteNamedStringARB
+
+ .align 2
+ .global glGenOcclusionQueriesNV
+ .type glGenOcclusionQueriesNV, %function
+glGenOcclusionQueriesNV:
+ adrp x16, :got:__blue_glCore_glGenOcclusionQueriesNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenOcclusionQueriesNV]
+ ldr x16, [x16]
+ br x16
+ .size glGenOcclusionQueriesNV, .-glGenOcclusionQueriesNV
+
+ .align 2
+ .global glClientAttribDefaultEXT
+ .type glClientAttribDefaultEXT, %function
+glClientAttribDefaultEXT:
+ adrp x16, :got:__blue_glCore_glClientAttribDefaultEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClientAttribDefaultEXT]
+ ldr x16, [x16]
+ br x16
+ .size glClientAttribDefaultEXT, .-glClientAttribDefaultEXT
+
+ .align 2
+ .global glProgramUniform2i64ARB
+ .type glProgramUniform2i64ARB, %function
+glProgramUniform2i64ARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform2i64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2i64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2i64ARB, .-glProgramUniform2i64ARB
+
+ .align 2
+ .global glVertexAttribIFormatNV
+ .type glVertexAttribIFormatNV, %function
+glVertexAttribIFormatNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribIFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribIFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribIFormatNV, .-glVertexAttribIFormatNV
+
+ .align 2
+ .global glStencilFuncSeparate
+ .type glStencilFuncSeparate, %function
+glStencilFuncSeparate:
+ adrp x16, :got:__blue_glCore_glStencilFuncSeparate
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilFuncSeparate]
+ ldr x16, [x16]
+ br x16
+ .size glStencilFuncSeparate, .-glStencilFuncSeparate
+
+ .align 2
+ .global glGetVertexAttribfvARB
+ .type glGetVertexAttribfvARB, %function
+glGetVertexAttribfvARB:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribfvARB, .-glGetVertexAttribfvARB
+
+ .align 2
+ .global glVertexAttrib2dNV
+ .type glVertexAttrib2dNV, %function
+glVertexAttrib2dNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2dNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2dNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2dNV, .-glVertexAttrib2dNV
+
+ .align 2
+ .global glProgramUniform2iEXT
+ .type glProgramUniform2iEXT, %function
+glProgramUniform2iEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform2iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2iEXT, .-glProgramUniform2iEXT
+
+ .align 2
+ .global glClientActiveVertexStreamATI
+ .type glClientActiveVertexStreamATI, %function
+glClientActiveVertexStreamATI:
+ adrp x16, :got:__blue_glCore_glClientActiveVertexStreamATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClientActiveVertexStreamATI]
+ ldr x16, [x16]
+ br x16
+ .size glClientActiveVertexStreamATI, .-glClientActiveVertexStreamATI
+
+ .align 2
+ .global glRasterPos3xOES
+ .type glRasterPos3xOES, %function
+glRasterPos3xOES:
+ adrp x16, :got:__blue_glCore_glRasterPos3xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRasterPos3xOES]
+ ldr x16, [x16]
+ br x16
+ .size glRasterPos3xOES, .-glRasterPos3xOES
+
+ .align 2
+ .global glMapVertexAttrib2fAPPLE
+ .type glMapVertexAttrib2fAPPLE, %function
+glMapVertexAttrib2fAPPLE:
+ adrp x16, :got:__blue_glCore_glMapVertexAttrib2fAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapVertexAttrib2fAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glMapVertexAttrib2fAPPLE, .-glMapVertexAttrib2fAPPLE
+
+ .align 2
+ .global glClearDepthxOES
+ .type glClearDepthxOES, %function
+glClearDepthxOES:
+ adrp x16, :got:__blue_glCore_glClearDepthxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearDepthxOES]
+ ldr x16, [x16]
+ br x16
+ .size glClearDepthxOES, .-glClearDepthxOES
+
+ .align 2
+ .global glTexCoord2fNormal3fVertex3fvSUN
+ .type glTexCoord2fNormal3fVertex3fvSUN, %function
+glTexCoord2fNormal3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord2fNormal3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2fNormal3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2fNormal3fVertex3fvSUN, .-glTexCoord2fNormal3fVertex3fvSUN
+
+ .align 2
+ .global glGetFirstPerfQueryIdINTEL
+ .type glGetFirstPerfQueryIdINTEL, %function
+glGetFirstPerfQueryIdINTEL:
+ adrp x16, :got:__blue_glCore_glGetFirstPerfQueryIdINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFirstPerfQueryIdINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glGetFirstPerfQueryIdINTEL, .-glGetFirstPerfQueryIdINTEL
+
+ .align 2
+ .global glUnmapNamedBufferEXT
+ .type glUnmapNamedBufferEXT, %function
+glUnmapNamedBufferEXT:
+ adrp x16, :got:__blue_glCore_glUnmapNamedBufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUnmapNamedBufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUnmapNamedBufferEXT, .-glUnmapNamedBufferEXT
+
+ .align 2
+ .global glGetTransformFeedbacki_v
+ .type glGetTransformFeedbacki_v, %function
+glGetTransformFeedbacki_v:
+ adrp x16, :got:__blue_glCore_glGetTransformFeedbacki_v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTransformFeedbacki_v]
+ ldr x16, [x16]
+ br x16
+ .size glGetTransformFeedbacki_v, .-glGetTransformFeedbacki_v
+
+ .align 2
+ .global glUniform4fvARB
+ .type glUniform4fvARB, %function
+glUniform4fvARB:
+ adrp x16, :got:__blue_glCore_glUniform4fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4fvARB, .-glUniform4fvARB
+
+ .align 2
+ .global glRenderbufferStorageMultisampleCoverageNV
+ .type glRenderbufferStorageMultisampleCoverageNV, %function
+glRenderbufferStorageMultisampleCoverageNV:
+ adrp x16, :got:__blue_glCore_glRenderbufferStorageMultisampleCoverageNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRenderbufferStorageMultisampleCoverageNV]
+ ldr x16, [x16]
+ br x16
+ .size glRenderbufferStorageMultisampleCoverageNV, .-glRenderbufferStorageMultisampleCoverageNV
+
+ .align 2
+ .global glGetFloati_vEXT
+ .type glGetFloati_vEXT, %function
+glGetFloati_vEXT:
+ adrp x16, :got:__blue_glCore_glGetFloati_vEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFloati_vEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetFloati_vEXT, .-glGetFloati_vEXT
+
+ .align 2
+ .global glBindAttribLocationARB
+ .type glBindAttribLocationARB, %function
+glBindAttribLocationARB:
+ adrp x16, :got:__blue_glCore_glBindAttribLocationARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindAttribLocationARB]
+ ldr x16, [x16]
+ br x16
+ .size glBindAttribLocationARB, .-glBindAttribLocationARB
+
+ .align 2
+ .global glBufferAddressRangeNV
+ .type glBufferAddressRangeNV, %function
+glBufferAddressRangeNV:
+ adrp x16, :got:__blue_glCore_glBufferAddressRangeNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBufferAddressRangeNV]
+ ldr x16, [x16]
+ br x16
+ .size glBufferAddressRangeNV, .-glBufferAddressRangeNV
+
+ .align 2
+ .global glGenProgramsARB
+ .type glGenProgramsARB, %function
+glGenProgramsARB:
+ adrp x16, :got:__blue_glCore_glGenProgramsARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenProgramsARB]
+ ldr x16, [x16]
+ br x16
+ .size glGenProgramsARB, .-glGenProgramsARB
+
+ .align 2
+ .global glMultiTexEnvivEXT
+ .type glMultiTexEnvivEXT, %function
+glMultiTexEnvivEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexEnvivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexEnvivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexEnvivEXT, .-glMultiTexEnvivEXT
+
+ .align 2
+ .global glSecondaryColor3uiEXT
+ .type glSecondaryColor3uiEXT, %function
+glSecondaryColor3uiEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3uiEXT, .-glSecondaryColor3uiEXT
+
+ .align 2
+ .global glCompressedTextureImage2DEXT
+ .type glCompressedTextureImage2DEXT, %function
+glCompressedTextureImage2DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedTextureImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTextureImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTextureImage2DEXT, .-glCompressedTextureImage2DEXT
+
+ .align 2
+ .global glUniform2i
+ .type glUniform2i, %function
+glUniform2i:
+ adrp x16, :got:__blue_glCore_glUniform2i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2i]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2i, .-glUniform2i
+
+ .align 2
+ .global glUniform2f
+ .type glUniform2f, %function
+glUniform2f:
+ adrp x16, :got:__blue_glCore_glUniform2f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2f]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2f, .-glUniform2f
+
+ .align 2
+ .global glUniform2d
+ .type glUniform2d, %function
+glUniform2d:
+ adrp x16, :got:__blue_glCore_glUniform2d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2d]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2d, .-glUniform2d
+
+ .align 2
+ .global glTexCoordP4ui
+ .type glTexCoordP4ui, %function
+glTexCoordP4ui:
+ adrp x16, :got:__blue_glCore_glTexCoordP4ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordP4ui]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordP4ui, .-glTexCoordP4ui
+
+ .align 2
+ .global glFramebufferTextureFaceEXT
+ .type glFramebufferTextureFaceEXT, %function
+glFramebufferTextureFaceEXT:
+ adrp x16, :got:__blue_glCore_glFramebufferTextureFaceEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTextureFaceEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTextureFaceEXT, .-glFramebufferTextureFaceEXT
+
+ .align 2
+ .global glFramebufferTextureLayer
+ .type glFramebufferTextureLayer, %function
+glFramebufferTextureLayer:
+ adrp x16, :got:__blue_glCore_glFramebufferTextureLayer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTextureLayer]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTextureLayer, .-glFramebufferTextureLayer
+
+ .align 2
+ .global glMultiTexCoord4bvOES
+ .type glMultiTexCoord4bvOES, %function
+glMultiTexCoord4bvOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4bvOES, .-glMultiTexCoord4bvOES
+
+ .align 2
+ .global glGetVertexArrayPointeri_vEXT
+ .type glGetVertexArrayPointeri_vEXT, %function
+glGetVertexArrayPointeri_vEXT:
+ adrp x16, :got:__blue_glCore_glGetVertexArrayPointeri_vEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexArrayPointeri_vEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexArrayPointeri_vEXT, .-glGetVertexArrayPointeri_vEXT
+
+ .align 2
+ .global glProgramUniformMatrix2x3fvEXT
+ .type glProgramUniformMatrix2x3fvEXT, %function
+glProgramUniformMatrix2x3fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2x3fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2x3fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2x3fvEXT, .-glProgramUniformMatrix2x3fvEXT
+
+ .align 2
+ .global glBinormal3bEXT
+ .type glBinormal3bEXT, %function
+glBinormal3bEXT:
+ adrp x16, :got:__blue_glCore_glBinormal3bEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormal3bEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormal3bEXT, .-glBinormal3bEXT
+
+ .align 2
+ .global glProgramUniform2fv
+ .type glProgramUniform2fv, %function
+glProgramUniform2fv:
+ adrp x16, :got:__blue_glCore_glProgramUniform2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2fv, .-glProgramUniform2fv
+
+ .align 2
+ .global glColor3fVertex3fSUN
+ .type glColor3fVertex3fSUN, %function
+glColor3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glColor3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glColor3fVertex3fSUN, .-glColor3fVertex3fSUN
+
+ .align 2
+ .global glNormal3fVertex3fvSUN
+ .type glNormal3fVertex3fvSUN, %function
+glNormal3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glNormal3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormal3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glNormal3fVertex3fvSUN, .-glNormal3fVertex3fvSUN
+
+ .align 2
+ .global glCopyMultiTexSubImage3DEXT
+ .type glCopyMultiTexSubImage3DEXT, %function
+glCopyMultiTexSubImage3DEXT:
+ adrp x16, :got:__blue_glCore_glCopyMultiTexSubImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyMultiTexSubImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyMultiTexSubImage3DEXT, .-glCopyMultiTexSubImage3DEXT
+
+ .align 2
+ .global glProgramLocalParameterI4iNV
+ .type glProgramLocalParameterI4iNV, %function
+glProgramLocalParameterI4iNV:
+ adrp x16, :got:__blue_glCore_glProgramLocalParameterI4iNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParameterI4iNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParameterI4iNV, .-glProgramLocalParameterI4iNV
+
+ .align 2
+ .global glProgramUniformMatrix2x4dv
+ .type glProgramUniformMatrix2x4dv, %function
+glProgramUniformMatrix2x4dv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2x4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2x4dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2x4dv, .-glProgramUniformMatrix2x4dv
+
+ .align 2
+ .global glPathMemoryGlyphIndexArrayNV
+ .type glPathMemoryGlyphIndexArrayNV, %function
+glPathMemoryGlyphIndexArrayNV:
+ adrp x16, :got:__blue_glCore_glPathMemoryGlyphIndexArrayNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathMemoryGlyphIndexArrayNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathMemoryGlyphIndexArrayNV, .-glPathMemoryGlyphIndexArrayNV
+
+ .align 2
+ .global glDrawArraysEXT
+ .type glDrawArraysEXT, %function
+glDrawArraysEXT:
+ adrp x16, :got:__blue_glCore_glDrawArraysEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawArraysEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDrawArraysEXT, .-glDrawArraysEXT
+
+ .align 2
+ .global glBlendEquationEXT
+ .type glBlendEquationEXT, %function
+glBlendEquationEXT:
+ adrp x16, :got:__blue_glCore_glBlendEquationEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendEquationEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBlendEquationEXT, .-glBlendEquationEXT
+
+ .align 2
+ .global glCopyTextureSubImage2DEXT
+ .type glCopyTextureSubImage2DEXT, %function
+glCopyTextureSubImage2DEXT:
+ adrp x16, :got:__blue_glCore_glCopyTextureSubImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTextureSubImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTextureSubImage2DEXT, .-glCopyTextureSubImage2DEXT
+
+ .align 2
+ .global glVertexAttrib2dvNV
+ .type glVertexAttrib2dvNV, %function
+glVertexAttrib2dvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2dvNV, .-glVertexAttrib2dvNV
+
+ .align 2
+ .global glGenPerfMonitorsAMD
+ .type glGenPerfMonitorsAMD, %function
+glGenPerfMonitorsAMD:
+ adrp x16, :got:__blue_glCore_glGenPerfMonitorsAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenPerfMonitorsAMD]
+ ldr x16, [x16]
+ br x16
+ .size glGenPerfMonitorsAMD, .-glGenPerfMonitorsAMD
+
+ .align 2
+ .global glGetInteger64i_v
+ .type glGetInteger64i_v, %function
+glGetInteger64i_v:
+ adrp x16, :got:__blue_glCore_glGetInteger64i_v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetInteger64i_v]
+ ldr x16, [x16]
+ br x16
+ .size glGetInteger64i_v, .-glGetInteger64i_v
+
+ .align 2
+ .global glGetHistogramParameterfv
+ .type glGetHistogramParameterfv, %function
+glGetHistogramParameterfv:
+ adrp x16, :got:__blue_glCore_glGetHistogramParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetHistogramParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetHistogramParameterfv, .-glGetHistogramParameterfv
+
+ .align 2
+ .global glVertexFormatNV
+ .type glVertexFormatNV, %function
+glVertexFormatNV:
+ adrp x16, :got:__blue_glCore_glVertexFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexFormatNV, .-glVertexFormatNV
+
+ .align 2
+ .global glBlendFuncIndexedAMD
+ .type glBlendFuncIndexedAMD, %function
+glBlendFuncIndexedAMD:
+ adrp x16, :got:__blue_glCore_glBlendFuncIndexedAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendFuncIndexedAMD]
+ ldr x16, [x16]
+ br x16
+ .size glBlendFuncIndexedAMD, .-glBlendFuncIndexedAMD
+
+ .align 2
+ .global glMultiTexCoord1iv
+ .type glMultiTexCoord1iv, %function
+glMultiTexCoord1iv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1iv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1iv, .-glMultiTexCoord1iv
+
+ .align 2
+ .global glIsEnabledi
+ .type glIsEnabledi, %function
+glIsEnabledi:
+ adrp x16, :got:__blue_glCore_glIsEnabledi
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsEnabledi]
+ ldr x16, [x16]
+ br x16
+ .size glIsEnabledi, .-glIsEnabledi
+
+ .align 2
+ .global glVertexAttribL2ui64vNV
+ .type glVertexAttribL2ui64vNV, %function
+glVertexAttribL2ui64vNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL2ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL2ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL2ui64vNV, .-glVertexAttribL2ui64vNV
+
+ .align 2
+ .global glVertexAttribL4i64NV
+ .type glVertexAttribL4i64NV, %function
+glVertexAttribL4i64NV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL4i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL4i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL4i64NV, .-glVertexAttribL4i64NV
+
+ .align 2
+ .global glMatrixTranslatedEXT
+ .type glMatrixTranslatedEXT, %function
+glMatrixTranslatedEXT:
+ adrp x16, :got:__blue_glCore_glMatrixTranslatedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixTranslatedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixTranslatedEXT, .-glMatrixTranslatedEXT
+
+ .align 2
+ .global glUniform1ui64vARB
+ .type glUniform1ui64vARB, %function
+glUniform1ui64vARB:
+ adrp x16, :got:__blue_glCore_glUniform1ui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1ui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1ui64vARB, .-glUniform1ui64vARB
+
+ .align 2
+ .global glMatrixMultdEXT
+ .type glMatrixMultdEXT, %function
+glMatrixMultdEXT:
+ adrp x16, :got:__blue_glCore_glMatrixMultdEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixMultdEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixMultdEXT, .-glMatrixMultdEXT
+
+ .align 2
+ .global glBinormal3dvEXT
+ .type glBinormal3dvEXT, %function
+glBinormal3dvEXT:
+ adrp x16, :got:__blue_glCore_glBinormal3dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormal3dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormal3dvEXT, .-glBinormal3dvEXT
+
+ .align 2
+ .global glImportSyncEXT
+ .type glImportSyncEXT, %function
+glImportSyncEXT:
+ adrp x16, :got:__blue_glCore_glImportSyncEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glImportSyncEXT]
+ ldr x16, [x16]
+ br x16
+ .size glImportSyncEXT, .-glImportSyncEXT
+
+ .align 2
+ .global glGetListParameterfvSGIX
+ .type glGetListParameterfvSGIX, %function
+glGetListParameterfvSGIX:
+ adrp x16, :got:__blue_glCore_glGetListParameterfvSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetListParameterfvSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glGetListParameterfvSGIX, .-glGetListParameterfvSGIX
+
+ .align 2
+ .global glMultiTexCoord4sv
+ .type glMultiTexCoord4sv, %function
+glMultiTexCoord4sv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4sv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4sv, .-glMultiTexCoord4sv
+
+ .align 2
+ .global glProgramUniformMatrix3fv
+ .type glProgramUniformMatrix3fv, %function
+glProgramUniformMatrix3fv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3fv, .-glProgramUniformMatrix3fv
+
+ .align 2
+ .global glBindVertexArrayAPPLE
+ .type glBindVertexArrayAPPLE, %function
+glBindVertexArrayAPPLE:
+ adrp x16, :got:__blue_glCore_glBindVertexArrayAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindVertexArrayAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glBindVertexArrayAPPLE, .-glBindVertexArrayAPPLE
+
+ .align 2
+ .global glObjectPtrLabel
+ .type glObjectPtrLabel, %function
+glObjectPtrLabel:
+ adrp x16, :got:__blue_glCore_glObjectPtrLabel
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glObjectPtrLabel]
+ ldr x16, [x16]
+ br x16
+ .size glObjectPtrLabel, .-glObjectPtrLabel
+
+ .align 2
+ .global glGetDebugMessageLog
+ .type glGetDebugMessageLog, %function
+glGetDebugMessageLog:
+ adrp x16, :got:__blue_glCore_glGetDebugMessageLog
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetDebugMessageLog]
+ ldr x16, [x16]
+ br x16
+ .size glGetDebugMessageLog, .-glGetDebugMessageLog
+
+ .align 2
+ .global glTrackMatrixNV
+ .type glTrackMatrixNV, %function
+glTrackMatrixNV:
+ adrp x16, :got:__blue_glCore_glTrackMatrixNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTrackMatrixNV]
+ ldr x16, [x16]
+ br x16
+ .size glTrackMatrixNV, .-glTrackMatrixNV
+
+ .align 2
+ .global glBindFragDataLocation
+ .type glBindFragDataLocation, %function
+glBindFragDataLocation:
+ adrp x16, :got:__blue_glCore_glBindFragDataLocation
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindFragDataLocation]
+ ldr x16, [x16]
+ br x16
+ .size glBindFragDataLocation, .-glBindFragDataLocation
+
+ .align 2
+ .global glTangent3ivEXT
+ .type glTangent3ivEXT, %function
+glTangent3ivEXT:
+ adrp x16, :got:__blue_glCore_glTangent3ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangent3ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangent3ivEXT, .-glTangent3ivEXT
+
+ .align 2
+ .global glSecondaryColor3ubv
+ .type glSecondaryColor3ubv, %function
+glSecondaryColor3ubv:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3ubv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3ubv]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3ubv, .-glSecondaryColor3ubv
+
+ .align 2
+ .global glMakeTextureHandleNonResidentNV
+ .type glMakeTextureHandleNonResidentNV, %function
+glMakeTextureHandleNonResidentNV:
+ adrp x16, :got:__blue_glCore_glMakeTextureHandleNonResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeTextureHandleNonResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glMakeTextureHandleNonResidentNV, .-glMakeTextureHandleNonResidentNV
+
+ .align 2
+ .global glVertexAttribs4ubvNV
+ .type glVertexAttribs4ubvNV, %function
+glVertexAttribs4ubvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs4ubvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs4ubvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs4ubvNV, .-glVertexAttribs4ubvNV
+
+ .align 2
+ .global glClipPlanexOES
+ .type glClipPlanexOES, %function
+glClipPlanexOES:
+ adrp x16, :got:__blue_glCore_glClipPlanexOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClipPlanexOES]
+ ldr x16, [x16]
+ br x16
+ .size glClipPlanexOES, .-glClipPlanexOES
+
+ .align 2
+ .global glMultiTexCoord3iv
+ .type glMultiTexCoord3iv, %function
+glMultiTexCoord3iv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3iv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3iv, .-glMultiTexCoord3iv
+
+ .align 2
+ .global glGetnPolygonStippleARB
+ .type glGetnPolygonStippleARB, %function
+glGetnPolygonStippleARB:
+ adrp x16, :got:__blue_glCore_glGetnPolygonStippleARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnPolygonStippleARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnPolygonStippleARB, .-glGetnPolygonStippleARB
+
+ .align 2
+ .global glUniform2i64vNV
+ .type glUniform2i64vNV, %function
+glUniform2i64vNV:
+ adrp x16, :got:__blue_glCore_glUniform2i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2i64vNV, .-glUniform2i64vNV
+
+ .align 2
+ .global glMultiTexSubImage2DEXT
+ .type glMultiTexSubImage2DEXT, %function
+glMultiTexSubImage2DEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexSubImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexSubImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexSubImage2DEXT, .-glMultiTexSubImage2DEXT
+
+ .align 2
+ .global glReplacementCodeuiColor3fVertex3fSUN
+ .type glReplacementCodeuiColor3fVertex3fSUN, %function
+glReplacementCodeuiColor3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiColor3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiColor3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiColor3fVertex3fSUN, .-glReplacementCodeuiColor3fVertex3fSUN
+
+ .align 2
+ .global glTangent3dvEXT
+ .type glTangent3dvEXT, %function
+glTangent3dvEXT:
+ adrp x16, :got:__blue_glCore_glTangent3dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangent3dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangent3dvEXT, .-glTangent3dvEXT
+
+ .align 2
+ .global glVertexWeighthvNV
+ .type glVertexWeighthvNV, %function
+glVertexWeighthvNV:
+ adrp x16, :got:__blue_glCore_glVertexWeighthvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexWeighthvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexWeighthvNV, .-glVertexWeighthvNV
+
+ .align 2
+ .global glWindowPos3iv
+ .type glWindowPos3iv, %function
+glWindowPos3iv:
+ adrp x16, :got:__blue_glCore_glWindowPos3iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3iv]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3iv, .-glWindowPos3iv
+
+ .align 2
+ .global glMultiTexCoord1xvOES
+ .type glMultiTexCoord1xvOES, %function
+glMultiTexCoord1xvOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1xvOES, .-glMultiTexCoord1xvOES
+
+ .align 2
+ .global glTransformPathNV
+ .type glTransformPathNV, %function
+glTransformPathNV:
+ adrp x16, :got:__blue_glCore_glTransformPathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTransformPathNV]
+ ldr x16, [x16]
+ br x16
+ .size glTransformPathNV, .-glTransformPathNV
+
+ .align 2
+ .global glProgramNamedParameter4dNV
+ .type glProgramNamedParameter4dNV, %function
+glProgramNamedParameter4dNV:
+ adrp x16, :got:__blue_glCore_glProgramNamedParameter4dNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramNamedParameter4dNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramNamedParameter4dNV, .-glProgramNamedParameter4dNV
+
+ .align 2
+ .global glBeginQuery
+ .type glBeginQuery, %function
+glBeginQuery:
+ adrp x16, :got:__blue_glCore_glBeginQuery
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginQuery]
+ ldr x16, [x16]
+ br x16
+ .size glBeginQuery, .-glBeginQuery
+
+ .align 2
+ .global glProgramUniform1dEXT
+ .type glProgramUniform1dEXT, %function
+glProgramUniform1dEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform1dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1dEXT, .-glProgramUniform1dEXT
+
+ .align 2
+ .global glNormal3hvNV
+ .type glNormal3hvNV, %function
+glNormal3hvNV:
+ adrp x16, :got:__blue_glCore_glNormal3hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormal3hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glNormal3hvNV, .-glNormal3hvNV
+
+ .align 2
+ .global glGetCombinerOutputParameterfvNV
+ .type glGetCombinerOutputParameterfvNV, %function
+glGetCombinerOutputParameterfvNV:
+ adrp x16, :got:__blue_glCore_glGetCombinerOutputParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCombinerOutputParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetCombinerOutputParameterfvNV, .-glGetCombinerOutputParameterfvNV
+
+ .align 2
+ .global glPushDebugGroup
+ .type glPushDebugGroup, %function
+glPushDebugGroup:
+ adrp x16, :got:__blue_glCore_glPushDebugGroup
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPushDebugGroup]
+ ldr x16, [x16]
+ br x16
+ .size glPushDebugGroup, .-glPushDebugGroup
+
+ .align 2
+ .global glCopyTexSubImage3D
+ .type glCopyTexSubImage3D, %function
+glCopyTexSubImage3D:
+ adrp x16, :got:__blue_glCore_glCopyTexSubImage3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTexSubImage3D]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTexSubImage3D, .-glCopyTexSubImage3D
+
+ .align 2
+ .global glCreateShaderObjectARB
+ .type glCreateShaderObjectARB, %function
+glCreateShaderObjectARB:
+ adrp x16, :got:__blue_glCore_glCreateShaderObjectARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateShaderObjectARB]
+ ldr x16, [x16]
+ br x16
+ .size glCreateShaderObjectARB, .-glCreateShaderObjectARB
+
+ .align 2
+ .global glGetStageIndexNV
+ .type glGetStageIndexNV, %function
+glGetStageIndexNV:
+ adrp x16, :got:__blue_glCore_glGetStageIndexNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetStageIndexNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetStageIndexNV, .-glGetStageIndexNV
+
+ .align 2
+ .global glGetColorTableParameterfv
+ .type glGetColorTableParameterfv, %function
+glGetColorTableParameterfv:
+ adrp x16, :got:__blue_glCore_glGetColorTableParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetColorTableParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetColorTableParameterfv, .-glGetColorTableParameterfv
+
+ .align 2
+ .global glGetNamedBufferPointervEXT
+ .type glGetNamedBufferPointervEXT, %function
+glGetNamedBufferPointervEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedBufferPointervEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedBufferPointervEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedBufferPointervEXT, .-glGetNamedBufferPointervEXT
+
+ .align 2
+ .global glTextureBarrierNV
+ .type glTextureBarrierNV, %function
+glTextureBarrierNV:
+ adrp x16, :got:__blue_glCore_glTextureBarrierNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureBarrierNV]
+ ldr x16, [x16]
+ br x16
+ .size glTextureBarrierNV, .-glTextureBarrierNV
+
+ .align 2
+ .global glColor4ubVertex3fvSUN
+ .type glColor4ubVertex3fvSUN, %function
+glColor4ubVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glColor4ubVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor4ubVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glColor4ubVertex3fvSUN, .-glColor4ubVertex3fvSUN
+
+ .align 2
+ .global glGetCommandHeaderNV
+ .type glGetCommandHeaderNV, %function
+glGetCommandHeaderNV:
+ adrp x16, :got:__blue_glCore_glGetCommandHeaderNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCommandHeaderNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetCommandHeaderNV, .-glGetCommandHeaderNV
+
+ .align 2
+ .global glGetPerfMonitorCounterInfoAMD
+ .type glGetPerfMonitorCounterInfoAMD, %function
+glGetPerfMonitorCounterInfoAMD:
+ adrp x16, :got:__blue_glCore_glGetPerfMonitorCounterInfoAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPerfMonitorCounterInfoAMD]
+ ldr x16, [x16]
+ br x16
+ .size glGetPerfMonitorCounterInfoAMD, .-glGetPerfMonitorCounterInfoAMD
+
+ .align 2
+ .global glVertexAttrib1svARB
+ .type glVertexAttrib1svARB, %function
+glVertexAttrib1svARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1svARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1svARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1svARB, .-glVertexAttrib1svARB
+
+ .align 2
+ .global glVertexArrayBindingDivisor
+ .type glVertexArrayBindingDivisor, %function
+glVertexArrayBindingDivisor:
+ adrp x16, :got:__blue_glCore_glVertexArrayBindingDivisor
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayBindingDivisor]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayBindingDivisor, .-glVertexArrayBindingDivisor
+
+ .align 2
+ .global glMatrixMultTransposefEXT
+ .type glMatrixMultTransposefEXT, %function
+glMatrixMultTransposefEXT:
+ adrp x16, :got:__blue_glCore_glMatrixMultTransposefEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixMultTransposefEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixMultTransposefEXT, .-glMatrixMultTransposefEXT
+
+ .align 2
+ .global glGetActiveUniformBlockiv
+ .type glGetActiveUniformBlockiv, %function
+glGetActiveUniformBlockiv:
+ adrp x16, :got:__blue_glCore_glGetActiveUniformBlockiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveUniformBlockiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveUniformBlockiv, .-glGetActiveUniformBlockiv
+
+ .align 2
+ .global glIndexPointerListIBM
+ .type glIndexPointerListIBM, %function
+glIndexPointerListIBM:
+ adrp x16, :got:__blue_glCore_glIndexPointerListIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIndexPointerListIBM]
+ ldr x16, [x16]
+ br x16
+ .size glIndexPointerListIBM, .-glIndexPointerListIBM
+
+ .align 2
+ .global glVertexAttribI4iEXT
+ .type glVertexAttribI4iEXT, %function
+glVertexAttribI4iEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4iEXT, .-glVertexAttribI4iEXT
+
+ .align 2
+ .global glBeginTransformFeedbackNV
+ .type glBeginTransformFeedbackNV, %function
+glBeginTransformFeedbackNV:
+ adrp x16, :got:__blue_glCore_glBeginTransformFeedbackNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginTransformFeedbackNV]
+ ldr x16, [x16]
+ br x16
+ .size glBeginTransformFeedbackNV, .-glBeginTransformFeedbackNV
+
+ .align 2
+ .global glColorFragmentOp3ATI
+ .type glColorFragmentOp3ATI, %function
+glColorFragmentOp3ATI:
+ adrp x16, :got:__blue_glCore_glColorFragmentOp3ATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorFragmentOp3ATI]
+ ldr x16, [x16]
+ br x16
+ .size glColorFragmentOp3ATI, .-glColorFragmentOp3ATI
+
+ .align 2
+ .global glMapGrid1xOES
+ .type glMapGrid1xOES, %function
+glMapGrid1xOES:
+ adrp x16, :got:__blue_glCore_glMapGrid1xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapGrid1xOES]
+ ldr x16, [x16]
+ br x16
+ .size glMapGrid1xOES, .-glMapGrid1xOES
+
+ .align 2
+ .global glResizeBuffersMESA
+ .type glResizeBuffersMESA, %function
+glResizeBuffersMESA:
+ adrp x16, :got:__blue_glCore_glResizeBuffersMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glResizeBuffersMESA]
+ ldr x16, [x16]
+ br x16
+ .size glResizeBuffersMESA, .-glResizeBuffersMESA
+
+ .align 2
+ .global glGetMinmaxParameterfv
+ .type glGetMinmaxParameterfv, %function
+glGetMinmaxParameterfv:
+ adrp x16, :got:__blue_glCore_glGetMinmaxParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMinmaxParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetMinmaxParameterfv, .-glGetMinmaxParameterfv
+
+ .align 2
+ .global glClientActiveTextureARB
+ .type glClientActiveTextureARB, %function
+glClientActiveTextureARB:
+ adrp x16, :got:__blue_glCore_glClientActiveTextureARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClientActiveTextureARB]
+ ldr x16, [x16]
+ br x16
+ .size glClientActiveTextureARB, .-glClientActiveTextureARB
+
+ .align 2
+ .global glBindVertexArray
+ .type glBindVertexArray, %function
+glBindVertexArray:
+ adrp x16, :got:__blue_glCore_glBindVertexArray
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindVertexArray]
+ ldr x16, [x16]
+ br x16
+ .size glBindVertexArray, .-glBindVertexArray
+
+ .align 2
+ .global glProgramUniform1dvEXT
+ .type glProgramUniform1dvEXT, %function
+glProgramUniform1dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform1dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1dvEXT, .-glProgramUniform1dvEXT
+
+ .align 2
+ .global glNamedBufferSubData
+ .type glNamedBufferSubData, %function
+glNamedBufferSubData:
+ adrp x16, :got:__blue_glCore_glNamedBufferSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedBufferSubData]
+ ldr x16, [x16]
+ br x16
+ .size glNamedBufferSubData, .-glNamedBufferSubData
+
+ .align 2
+ .global glGetMultiTexParameterIivEXT
+ .type glGetMultiTexParameterIivEXT, %function
+glGetMultiTexParameterIivEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexParameterIivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexParameterIivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexParameterIivEXT, .-glGetMultiTexParameterIivEXT
+
+ .align 2
+ .global glDisableVertexArrayAttribEXT
+ .type glDisableVertexArrayAttribEXT, %function
+glDisableVertexArrayAttribEXT:
+ adrp x16, :got:__blue_glCore_glDisableVertexArrayAttribEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisableVertexArrayAttribEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDisableVertexArrayAttribEXT, .-glDisableVertexArrayAttribEXT
+
+ .align 2
+ .global glObjectUnpurgeableAPPLE
+ .type glObjectUnpurgeableAPPLE, %function
+glObjectUnpurgeableAPPLE:
+ adrp x16, :got:__blue_glCore_glObjectUnpurgeableAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glObjectUnpurgeableAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glObjectUnpurgeableAPPLE, .-glObjectUnpurgeableAPPLE
+
+ .align 2
+ .global glVertexAttribs2dvNV
+ .type glVertexAttribs2dvNV, %function
+glVertexAttribs2dvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs2dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs2dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs2dvNV, .-glVertexAttribs2dvNV
+
+ .align 2
+ .global glReplacementCodeuiTexCoord2fVertex3fSUN
+ .type glReplacementCodeuiTexCoord2fVertex3fSUN, %function
+glReplacementCodeuiTexCoord2fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiTexCoord2fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiTexCoord2fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiTexCoord2fVertex3fSUN, .-glReplacementCodeuiTexCoord2fVertex3fSUN
+
+ .align 2
+ .global glGetMapParameterfvNV
+ .type glGetMapParameterfvNV, %function
+glGetMapParameterfvNV:
+ adrp x16, :got:__blue_glCore_glGetMapParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMapParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetMapParameterfvNV, .-glGetMapParameterfvNV
+
+ .align 2
+ .global glProgramUniform4ivEXT
+ .type glProgramUniform4ivEXT, %function
+glProgramUniform4ivEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform4ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4ivEXT, .-glProgramUniform4ivEXT
+
+ .align 2
+ .global glProgramUniform3ui64vNV
+ .type glProgramUniform3ui64vNV, %function
+glProgramUniform3ui64vNV:
+ adrp x16, :got:__blue_glCore_glProgramUniform3ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3ui64vNV, .-glProgramUniform3ui64vNV
+
+ .align 2
+ .global glTexFilterFuncSGIS
+ .type glTexFilterFuncSGIS, %function
+glTexFilterFuncSGIS:
+ adrp x16, :got:__blue_glCore_glTexFilterFuncSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexFilterFuncSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glTexFilterFuncSGIS, .-glTexFilterFuncSGIS
+
+ .align 2
+ .global glSpriteParameterfvSGIX
+ .type glSpriteParameterfvSGIX, %function
+glSpriteParameterfvSGIX:
+ adrp x16, :got:__blue_glCore_glSpriteParameterfvSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSpriteParameterfvSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glSpriteParameterfvSGIX, .-glSpriteParameterfvSGIX
+
+ .align 2
+ .global glCopyMultiTexImage1DEXT
+ .type glCopyMultiTexImage1DEXT, %function
+glCopyMultiTexImage1DEXT:
+ adrp x16, :got:__blue_glCore_glCopyMultiTexImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyMultiTexImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyMultiTexImage1DEXT, .-glCopyMultiTexImage1DEXT
+
+ .align 2
+ .global glColorMaskIndexedEXT
+ .type glColorMaskIndexedEXT, %function
+glColorMaskIndexedEXT:
+ adrp x16, :got:__blue_glCore_glColorMaskIndexedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorMaskIndexedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glColorMaskIndexedEXT, .-glColorMaskIndexedEXT
+
+ .align 2
+ .global glUniformMatrix2x4dv
+ .type glUniformMatrix2x4dv, %function
+glUniformMatrix2x4dv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix2x4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix2x4dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix2x4dv, .-glUniformMatrix2x4dv
+
+ .align 2
+ .global glGetProgramResourceLocationIndex
+ .type glGetProgramResourceLocationIndex, %function
+glGetProgramResourceLocationIndex:
+ adrp x16, :got:__blue_glCore_glGetProgramResourceLocationIndex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramResourceLocationIndex]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramResourceLocationIndex, .-glGetProgramResourceLocationIndex
+
+ .align 2
+ .global glColor3hNV
+ .type glColor3hNV, %function
+glColor3hNV:
+ adrp x16, :got:__blue_glCore_glColor3hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor3hNV]
+ ldr x16, [x16]
+ br x16
+ .size glColor3hNV, .-glColor3hNV
+
+ .align 2
+ .global glViewport
+ .type glViewport, %function
+glViewport:
+ adrp x16, :got:__blue_glCore_glViewport
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glViewport]
+ ldr x16, [x16]
+ br x16
+ .size glViewport, .-glViewport
+
+ .align 2
+ .global glProgramNamedParameter4fNV
+ .type glProgramNamedParameter4fNV, %function
+glProgramNamedParameter4fNV:
+ adrp x16, :got:__blue_glCore_glProgramNamedParameter4fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramNamedParameter4fNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramNamedParameter4fNV, .-glProgramNamedParameter4fNV
+
+ .align 2
+ .global glGetInvariantBooleanvEXT
+ .type glGetInvariantBooleanvEXT, %function
+glGetInvariantBooleanvEXT:
+ adrp x16, :got:__blue_glCore_glGetInvariantBooleanvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetInvariantBooleanvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetInvariantBooleanvEXT, .-glGetInvariantBooleanvEXT
+
+ .align 2
+ .global glTexStorage2DMultisample
+ .type glTexStorage2DMultisample, %function
+glTexStorage2DMultisample:
+ adrp x16, :got:__blue_glCore_glTexStorage2DMultisample
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexStorage2DMultisample]
+ ldr x16, [x16]
+ br x16
+ .size glTexStorage2DMultisample, .-glTexStorage2DMultisample
+
+ .align 2
+ .global glPixelStorex
+ .type glPixelStorex, %function
+glPixelStorex:
+ adrp x16, :got:__blue_glCore_glPixelStorex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelStorex]
+ ldr x16, [x16]
+ br x16
+ .size glPixelStorex, .-glPixelStorex
+
+ .align 2
+ .global glVertexAttribL1dvEXT
+ .type glVertexAttribL1dvEXT, %function
+glVertexAttribL1dvEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribL1dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL1dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL1dvEXT, .-glVertexAttribL1dvEXT
+
+ .align 2
+ .global glGetActiveSubroutineUniformiv
+ .type glGetActiveSubroutineUniformiv, %function
+glGetActiveSubroutineUniformiv:
+ adrp x16, :got:__blue_glCore_glGetActiveSubroutineUniformiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveSubroutineUniformiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveSubroutineUniformiv, .-glGetActiveSubroutineUniformiv
+
+ .align 2
+ .global glCompressedTexSubImage2DARB
+ .type glCompressedTexSubImage2DARB, %function
+glCompressedTexSubImage2DARB:
+ adrp x16, :got:__blue_glCore_glCompressedTexSubImage2DARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexSubImage2DARB]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexSubImage2DARB, .-glCompressedTexSubImage2DARB
+
+ .align 2
+ .global glVertex2hvNV
+ .type glVertex2hvNV, %function
+glVertex2hvNV:
+ adrp x16, :got:__blue_glCore_glVertex2hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex2hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertex2hvNV, .-glVertex2hvNV
+
+ .align 2
+ .global glTexBuffer
+ .type glTexBuffer, %function
+glTexBuffer:
+ adrp x16, :got:__blue_glCore_glTexBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glTexBuffer, .-glTexBuffer
+
+ .align 2
+ .global glPixelStorei
+ .type glPixelStorei, %function
+glPixelStorei:
+ adrp x16, :got:__blue_glCore_glPixelStorei
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelStorei]
+ ldr x16, [x16]
+ br x16
+ .size glPixelStorei, .-glPixelStorei
+
+ .align 2
+ .global glValidateProgram
+ .type glValidateProgram, %function
+glValidateProgram:
+ adrp x16, :got:__blue_glCore_glValidateProgram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glValidateProgram]
+ ldr x16, [x16]
+ br x16
+ .size glValidateProgram, .-glValidateProgram
+
+ .align 2
+ .global glActiveShaderProgram
+ .type glActiveShaderProgram, %function
+glActiveShaderProgram:
+ adrp x16, :got:__blue_glCore_glActiveShaderProgram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glActiveShaderProgram]
+ ldr x16, [x16]
+ br x16
+ .size glActiveShaderProgram, .-glActiveShaderProgram
+
+ .align 2
+ .global glWindowPos3dARB
+ .type glWindowPos3dARB, %function
+glWindowPos3dARB:
+ adrp x16, :got:__blue_glCore_glWindowPos3dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3dARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3dARB, .-glWindowPos3dARB
+
+ .align 2
+ .global glClipControl
+ .type glClipControl, %function
+glClipControl:
+ adrp x16, :got:__blue_glCore_glClipControl
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClipControl]
+ ldr x16, [x16]
+ br x16
+ .size glClipControl, .-glClipControl
+
+ .align 2
+ .global glMultiTexCoordP2uiv
+ .type glMultiTexCoordP2uiv, %function
+glMultiTexCoordP2uiv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoordP2uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoordP2uiv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoordP2uiv, .-glMultiTexCoordP2uiv
+
+ .align 2
+ .global glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN
+ .type glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, %function
+glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, .-glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN
+
+ .align 2
+ .global glTexCoord1bOES
+ .type glTexCoord1bOES, %function
+glTexCoord1bOES:
+ adrp x16, :got:__blue_glCore_glTexCoord1bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord1bOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord1bOES, .-glTexCoord1bOES
+
+ .align 2
+ .global glProgramUniform2i64vARB
+ .type glProgramUniform2i64vARB, %function
+glProgramUniform2i64vARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform2i64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2i64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2i64vARB, .-glProgramUniform2i64vARB
+
+ .align 2
+ .global glWindowPos2dARB
+ .type glWindowPos2dARB, %function
+glWindowPos2dARB:
+ adrp x16, :got:__blue_glCore_glWindowPos2dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2dARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2dARB, .-glWindowPos2dARB
+
+ .align 2
+ .global glNormal3xOES
+ .type glNormal3xOES, %function
+glNormal3xOES:
+ adrp x16, :got:__blue_glCore_glNormal3xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormal3xOES]
+ ldr x16, [x16]
+ br x16
+ .size glNormal3xOES, .-glNormal3xOES
+
+ .align 2
+ .global glMap1xOES
+ .type glMap1xOES, %function
+glMap1xOES:
+ adrp x16, :got:__blue_glCore_glMap1xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMap1xOES]
+ ldr x16, [x16]
+ br x16
+ .size glMap1xOES, .-glMap1xOES
+
+ .align 2
+ .global glTexCoord4fVertex4fvSUN
+ .type glTexCoord4fVertex4fvSUN, %function
+glTexCoord4fVertex4fvSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord4fVertex4fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord4fVertex4fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord4fVertex4fvSUN, .-glTexCoord4fVertex4fvSUN
+
+ .align 2
+ .global glActiveVaryingNV
+ .type glActiveVaryingNV, %function
+glActiveVaryingNV:
+ adrp x16, :got:__blue_glCore_glActiveVaryingNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glActiveVaryingNV]
+ ldr x16, [x16]
+ br x16
+ .size glActiveVaryingNV, .-glActiveVaryingNV
+
+ .align 2
+ .global glReferencePlaneSGIX
+ .type glReferencePlaneSGIX, %function
+glReferencePlaneSGIX:
+ adrp x16, :got:__blue_glCore_glReferencePlaneSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReferencePlaneSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glReferencePlaneSGIX, .-glReferencePlaneSGIX
+
+ .align 2
+ .global glGetMultiTexGendvEXT
+ .type glGetMultiTexGendvEXT, %function
+glGetMultiTexGendvEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexGendvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexGendvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexGendvEXT, .-glGetMultiTexGendvEXT
+
+ .align 2
+ .global glClearNamedBufferSubDataEXT
+ .type glClearNamedBufferSubDataEXT, %function
+glClearNamedBufferSubDataEXT:
+ adrp x16, :got:__blue_glCore_glClearNamedBufferSubDataEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearNamedBufferSubDataEXT]
+ ldr x16, [x16]
+ br x16
+ .size glClearNamedBufferSubDataEXT, .-glClearNamedBufferSubDataEXT
+
+ .align 2
+ .global glGetTextureSamplerHandleARB
+ .type glGetTextureSamplerHandleARB, %function
+glGetTextureSamplerHandleARB:
+ adrp x16, :got:__blue_glCore_glGetTextureSamplerHandleARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureSamplerHandleARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureSamplerHandleARB, .-glGetTextureSamplerHandleARB
+
+ .align 2
+ .global glBindTexture
+ .type glBindTexture, %function
+glBindTexture:
+ adrp x16, :got:__blue_glCore_glBindTexture
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindTexture]
+ ldr x16, [x16]
+ br x16
+ .size glBindTexture, .-glBindTexture
+
+ .align 2
+ .global glGetActiveAttribARB
+ .type glGetActiveAttribARB, %function
+glGetActiveAttribARB:
+ adrp x16, :got:__blue_glCore_glGetActiveAttribARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveAttribARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveAttribARB, .-glGetActiveAttribARB
+
+ .align 2
+ .global glHistogramEXT
+ .type glHistogramEXT, %function
+glHistogramEXT:
+ adrp x16, :got:__blue_glCore_glHistogramEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glHistogramEXT]
+ ldr x16, [x16]
+ br x16
+ .size glHistogramEXT, .-glHistogramEXT
+
+ .align 2
+ .global glPixelTransformParameteriEXT
+ .type glPixelTransformParameteriEXT, %function
+glPixelTransformParameteriEXT:
+ adrp x16, :got:__blue_glCore_glPixelTransformParameteriEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelTransformParameteriEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPixelTransformParameteriEXT, .-glPixelTransformParameteriEXT
+
+ .align 2
+ .global glDetachShader
+ .type glDetachShader, %function
+glDetachShader:
+ adrp x16, :got:__blue_glCore_glDetachShader
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDetachShader]
+ ldr x16, [x16]
+ br x16
+ .size glDetachShader, .-glDetachShader
+
+ .align 2
+ .global glFinishTextureSUNX
+ .type glFinishTextureSUNX, %function
+glFinishTextureSUNX:
+ adrp x16, :got:__blue_glCore_glFinishTextureSUNX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFinishTextureSUNX]
+ ldr x16, [x16]
+ br x16
+ .size glFinishTextureSUNX, .-glFinishTextureSUNX
+
+ .align 2
+ .global glUniformMatrix3x4dv
+ .type glUniformMatrix3x4dv, %function
+glUniformMatrix3x4dv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix3x4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix3x4dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix3x4dv, .-glUniformMatrix3x4dv
+
+ .align 2
+ .global glVertexAttrib4fARB
+ .type glVertexAttrib4fARB, %function
+glVertexAttrib4fARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4fARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4fARB, .-glVertexAttrib4fARB
+
+ .align 2
+ .global glGetPathColorGenivNV
+ .type glGetPathColorGenivNV, %function
+glGetPathColorGenivNV:
+ adrp x16, :got:__blue_glCore_glGetPathColorGenivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathColorGenivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathColorGenivNV, .-glGetPathColorGenivNV
+
+ .align 2
+ .global glGetProgramResourceLocation
+ .type glGetProgramResourceLocation, %function
+glGetProgramResourceLocation:
+ adrp x16, :got:__blue_glCore_glGetProgramResourceLocation
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramResourceLocation]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramResourceLocation, .-glGetProgramResourceLocation
+
+ .align 2
+ .global glVertexArrayAttribLFormat
+ .type glVertexArrayAttribLFormat, %function
+glVertexArrayAttribLFormat:
+ adrp x16, :got:__blue_glCore_glVertexArrayAttribLFormat
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayAttribLFormat]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayAttribLFormat, .-glVertexArrayAttribLFormat
+
+ .align 2
+ .global glNamedCopyBufferSubDataEXT
+ .type glNamedCopyBufferSubDataEXT, %function
+glNamedCopyBufferSubDataEXT:
+ adrp x16, :got:__blue_glCore_glNamedCopyBufferSubDataEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedCopyBufferSubDataEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedCopyBufferSubDataEXT, .-glNamedCopyBufferSubDataEXT
+
+ .align 2
+ .global glVertexArrayVertexAttribOffsetEXT
+ .type glVertexArrayVertexAttribOffsetEXT, %function
+glVertexArrayVertexAttribOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexAttribOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexAttribOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexAttribOffsetEXT, .-glVertexArrayVertexAttribOffsetEXT
+
+ .align 2
+ .global glIndexFormatNV
+ .type glIndexFormatNV, %function
+glIndexFormatNV:
+ adrp x16, :got:__blue_glCore_glIndexFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIndexFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glIndexFormatNV, .-glIndexFormatNV
+
+ .align 2
+ .global glReplacementCodeuiVertex3fvSUN
+ .type glReplacementCodeuiVertex3fvSUN, %function
+glReplacementCodeuiVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiVertex3fvSUN, .-glReplacementCodeuiVertex3fvSUN
+
+ .align 2
+ .global glViewportIndexedfv
+ .type glViewportIndexedfv, %function
+glViewportIndexedfv:
+ adrp x16, :got:__blue_glCore_glViewportIndexedfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glViewportIndexedfv]
+ ldr x16, [x16]
+ br x16
+ .size glViewportIndexedfv, .-glViewportIndexedfv
+
+ .align 2
+ .global glGetVertexAttribPointervARB
+ .type glGetVertexAttribPointervARB, %function
+glGetVertexAttribPointervARB:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribPointervARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribPointervARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribPointervARB, .-glGetVertexAttribPointervARB
+
+ .align 2
+ .global glTexBumpParameterfvATI
+ .type glTexBumpParameterfvATI, %function
+glTexBumpParameterfvATI:
+ adrp x16, :got:__blue_glCore_glTexBumpParameterfvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexBumpParameterfvATI]
+ ldr x16, [x16]
+ br x16
+ .size glTexBumpParameterfvATI, .-glTexBumpParameterfvATI
+
+ .align 2
+ .global glMatrixIndexuivARB
+ .type glMatrixIndexuivARB, %function
+glMatrixIndexuivARB:
+ adrp x16, :got:__blue_glCore_glMatrixIndexuivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixIndexuivARB]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixIndexuivARB, .-glMatrixIndexuivARB
+
+ .align 2
+ .global glVertexAttrib1hNV
+ .type glVertexAttrib1hNV, %function
+glVertexAttrib1hNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1hNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1hNV, .-glVertexAttrib1hNV
+
+ .align 2
+ .global glWindowPos3svMESA
+ .type glWindowPos3svMESA, %function
+glWindowPos3svMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos3svMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3svMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3svMESA, .-glWindowPos3svMESA
+
+ .align 2
+ .global glStencilOpSeparateATI
+ .type glStencilOpSeparateATI, %function
+glStencilOpSeparateATI:
+ adrp x16, :got:__blue_glCore_glStencilOpSeparateATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilOpSeparateATI]
+ ldr x16, [x16]
+ br x16
+ .size glStencilOpSeparateATI, .-glStencilOpSeparateATI
+
+ .align 2
+ .global glDrawElementsBaseVertex
+ .type glDrawElementsBaseVertex, %function
+glDrawElementsBaseVertex:
+ adrp x16, :got:__blue_glCore_glDrawElementsBaseVertex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElementsBaseVertex]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElementsBaseVertex, .-glDrawElementsBaseVertex
+
+ .align 2
+ .global glBlendEquationSeparateiARB
+ .type glBlendEquationSeparateiARB, %function
+glBlendEquationSeparateiARB:
+ adrp x16, :got:__blue_glCore_glBlendEquationSeparateiARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendEquationSeparateiARB]
+ ldr x16, [x16]
+ br x16
+ .size glBlendEquationSeparateiARB, .-glBlendEquationSeparateiARB
+
+ .align 2
+ .global glVertexAttrib1fNV
+ .type glVertexAttrib1fNV, %function
+glVertexAttrib1fNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1fNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1fNV, .-glVertexAttrib1fNV
+
+ .align 2
+ .global glSampleCoverage
+ .type glSampleCoverage, %function
+glSampleCoverage:
+ adrp x16, :got:__blue_glCore_glSampleCoverage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSampleCoverage]
+ ldr x16, [x16]
+ br x16
+ .size glSampleCoverage, .-glSampleCoverage
+
+ .align 2
+ .global glClearBufferSubData
+ .type glClearBufferSubData, %function
+glClearBufferSubData:
+ adrp x16, :got:__blue_glCore_glClearBufferSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearBufferSubData]
+ ldr x16, [x16]
+ br x16
+ .size glClearBufferSubData, .-glClearBufferSubData
+
+ .align 2
+ .global glTexStorage1D
+ .type glTexStorage1D, %function
+glTexStorage1D:
+ adrp x16, :got:__blue_glCore_glTexStorage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexStorage1D]
+ ldr x16, [x16]
+ br x16
+ .size glTexStorage1D, .-glTexStorage1D
+
+ .align 2
+ .global glVertexAttribI3iEXT
+ .type glVertexAttribI3iEXT, %function
+glVertexAttribI3iEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI3iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI3iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI3iEXT, .-glVertexAttribI3iEXT
+
+ .align 2
+ .global glMakeTextureHandleNonResidentARB
+ .type glMakeTextureHandleNonResidentARB, %function
+glMakeTextureHandleNonResidentARB:
+ adrp x16, :got:__blue_glCore_glMakeTextureHandleNonResidentARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeTextureHandleNonResidentARB]
+ ldr x16, [x16]
+ br x16
+ .size glMakeTextureHandleNonResidentARB, .-glMakeTextureHandleNonResidentARB
+
+ .align 2
+ .global glVertexStream4dATI
+ .type glVertexStream4dATI, %function
+glVertexStream4dATI:
+ adrp x16, :got:__blue_glCore_glVertexStream4dATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream4dATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream4dATI, .-glVertexStream4dATI
+
+ .align 2
+ .global glProgramUniformMatrix2dvEXT
+ .type glProgramUniformMatrix2dvEXT, %function
+glProgramUniformMatrix2dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2dvEXT, .-glProgramUniformMatrix2dvEXT
+
+ .align 2
+ .global glVertexAttribs2hvNV
+ .type glVertexAttribs2hvNV, %function
+glVertexAttribs2hvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs2hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs2hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs2hvNV, .-glVertexAttribs2hvNV
+
+ .align 2
+ .global glGetUniformiv
+ .type glGetUniformiv, %function
+glGetUniformiv:
+ adrp x16, :got:__blue_glCore_glGetUniformiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformiv, .-glGetUniformiv
+
+ .align 2
+ .global glWindowPos2fvMESA
+ .type glWindowPos2fvMESA, %function
+glWindowPos2fvMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos2fvMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2fvMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2fvMESA, .-glWindowPos2fvMESA
+
+ .align 2
+ .global glUniform4ui
+ .type glUniform4ui, %function
+glUniform4ui:
+ adrp x16, :got:__blue_glCore_glUniform4ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4ui]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4ui, .-glUniform4ui
+
+ .align 2
+ .global glBindFramebuffer
+ .type glBindFramebuffer, %function
+glBindFramebuffer:
+ adrp x16, :got:__blue_glCore_glBindFramebuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindFramebuffer]
+ ldr x16, [x16]
+ br x16
+ .size glBindFramebuffer, .-glBindFramebuffer
+
+ .align 2
+ .global glValidateProgramARB
+ .type glValidateProgramARB, %function
+glValidateProgramARB:
+ adrp x16, :got:__blue_glCore_glValidateProgramARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glValidateProgramARB]
+ ldr x16, [x16]
+ br x16
+ .size glValidateProgramARB, .-glValidateProgramARB
+
+ .align 2
+ .global glVertexAttribPointerARB
+ .type glVertexAttribPointerARB, %function
+glVertexAttribPointerARB:
+ adrp x16, :got:__blue_glCore_glVertexAttribPointerARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribPointerARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribPointerARB, .-glVertexAttribPointerARB
+
+ .align 2
+ .global glDeleteFramebuffersEXT
+ .type glDeleteFramebuffersEXT, %function
+glDeleteFramebuffersEXT:
+ adrp x16, :got:__blue_glCore_glDeleteFramebuffersEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteFramebuffersEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteFramebuffersEXT, .-glDeleteFramebuffersEXT
+
+ .align 2
+ .global glResetMinmaxEXT
+ .type glResetMinmaxEXT, %function
+glResetMinmaxEXT:
+ adrp x16, :got:__blue_glCore_glResetMinmaxEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glResetMinmaxEXT]
+ ldr x16, [x16]
+ br x16
+ .size glResetMinmaxEXT, .-glResetMinmaxEXT
+
+ .align 2
+ .global glVertexAttrib1fvNV
+ .type glVertexAttrib1fvNV, %function
+glVertexAttrib1fvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1fvNV, .-glVertexAttrib1fvNV
+
+ .align 2
+ .global glIsQueryARB
+ .type glIsQueryARB, %function
+glIsQueryARB:
+ adrp x16, :got:__blue_glCore_glIsQueryARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsQueryARB]
+ ldr x16, [x16]
+ br x16
+ .size glIsQueryARB, .-glIsQueryARB
+
+ .align 2
+ .global glEnableVariantClientStateEXT
+ .type glEnableVariantClientStateEXT, %function
+glEnableVariantClientStateEXT:
+ adrp x16, :got:__blue_glCore_glEnableVariantClientStateEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnableVariantClientStateEXT]
+ ldr x16, [x16]
+ br x16
+ .size glEnableVariantClientStateEXT, .-glEnableVariantClientStateEXT
+
+ .align 2
+ .global glScissorIndexed
+ .type glScissorIndexed, %function
+glScissorIndexed:
+ adrp x16, :got:__blue_glCore_glScissorIndexed
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glScissorIndexed]
+ ldr x16, [x16]
+ br x16
+ .size glScissorIndexed, .-glScissorIndexed
+
+ .align 2
+ .global glGetInvariantIntegervEXT
+ .type glGetInvariantIntegervEXT, %function
+glGetInvariantIntegervEXT:
+ adrp x16, :got:__blue_glCore_glGetInvariantIntegervEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetInvariantIntegervEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetInvariantIntegervEXT, .-glGetInvariantIntegervEXT
+
+ .align 2
+ .global glConvolutionParameterxvOES
+ .type glConvolutionParameterxvOES, %function
+glConvolutionParameterxvOES:
+ adrp x16, :got:__blue_glCore_glConvolutionParameterxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionParameterxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionParameterxvOES, .-glConvolutionParameterxvOES
+
+ .align 2
+ .global glGenFramebuffersEXT
+ .type glGenFramebuffersEXT, %function
+glGenFramebuffersEXT:
+ adrp x16, :got:__blue_glCore_glGenFramebuffersEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenFramebuffersEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGenFramebuffersEXT, .-glGenFramebuffersEXT
+
+ .align 2
+ .global glVertexArrayColorOffsetEXT
+ .type glVertexArrayColorOffsetEXT, %function
+glVertexArrayColorOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayColorOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayColorOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayColorOffsetEXT, .-glVertexArrayColorOffsetEXT
+
+ .align 2
+ .global glMultiTexCoord3ivARB
+ .type glMultiTexCoord3ivARB, %function
+glMultiTexCoord3ivARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3ivARB, .-glMultiTexCoord3ivARB
+
+ .align 2
+ .global glVertexWeightfEXT
+ .type glVertexWeightfEXT, %function
+glVertexWeightfEXT:
+ adrp x16, :got:__blue_glCore_glVertexWeightfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexWeightfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexWeightfEXT, .-glVertexWeightfEXT
+
+ .align 2
+ .global glIsTextureHandleResidentARB
+ .type glIsTextureHandleResidentARB, %function
+glIsTextureHandleResidentARB:
+ adrp x16, :got:__blue_glCore_glIsTextureHandleResidentARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsTextureHandleResidentARB]
+ ldr x16, [x16]
+ br x16
+ .size glIsTextureHandleResidentARB, .-glIsTextureHandleResidentARB
+
+ .align 2
+ .global glWindowPos4ivMESA
+ .type glWindowPos4ivMESA, %function
+glWindowPos4ivMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos4ivMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos4ivMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos4ivMESA, .-glWindowPos4ivMESA
+
+ .align 2
+ .global glGetVariantPointervEXT
+ .type glGetVariantPointervEXT, %function
+glGetVariantPointervEXT:
+ adrp x16, :got:__blue_glCore_glGetVariantPointervEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVariantPointervEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVariantPointervEXT, .-glGetVariantPointervEXT
+
+ .align 2
+ .global glMapNamedBufferRangeEXT
+ .type glMapNamedBufferRangeEXT, %function
+glMapNamedBufferRangeEXT:
+ adrp x16, :got:__blue_glCore_glMapNamedBufferRangeEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapNamedBufferRangeEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMapNamedBufferRangeEXT, .-glMapNamedBufferRangeEXT
+
+ .align 2
+ .global glCreateShaderProgramv
+ .type glCreateShaderProgramv, %function
+glCreateShaderProgramv:
+ adrp x16, :got:__blue_glCore_glCreateShaderProgramv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateShaderProgramv]
+ ldr x16, [x16]
+ br x16
+ .size glCreateShaderProgramv, .-glCreateShaderProgramv
+
+ .align 2
+ .global glGetQueryObjectiv
+ .type glGetQueryObjectiv, %function
+glGetQueryObjectiv:
+ adrp x16, :got:__blue_glCore_glGetQueryObjectiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryObjectiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryObjectiv, .-glGetQueryObjectiv
+
+ .align 2
+ .global glPNTrianglesfATI
+ .type glPNTrianglesfATI, %function
+glPNTrianglesfATI:
+ adrp x16, :got:__blue_glCore_glPNTrianglesfATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPNTrianglesfATI]
+ ldr x16, [x16]
+ br x16
+ .size glPNTrianglesfATI, .-glPNTrianglesfATI
+
+ .align 2
+ .global glGlobalAlphaFactorusSUN
+ .type glGlobalAlphaFactorusSUN, %function
+glGlobalAlphaFactorusSUN:
+ adrp x16, :got:__blue_glCore_glGlobalAlphaFactorusSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGlobalAlphaFactorusSUN]
+ ldr x16, [x16]
+ br x16
+ .size glGlobalAlphaFactorusSUN, .-glGlobalAlphaFactorusSUN
+
+ .align 2
+ .global glVertexAttrib3dvNV
+ .type glVertexAttrib3dvNV, %function
+glVertexAttrib3dvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3dvNV, .-glVertexAttrib3dvNV
+
+ .align 2
+ .global glMultiTexCoord3sARB
+ .type glMultiTexCoord3sARB, %function
+glMultiTexCoord3sARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3sARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3sARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3sARB, .-glMultiTexCoord3sARB
+
+ .align 2
+ .global glGenerateMipmap
+ .type glGenerateMipmap, %function
+glGenerateMipmap:
+ adrp x16, :got:__blue_glCore_glGenerateMipmap
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenerateMipmap]
+ ldr x16, [x16]
+ br x16
+ .size glGenerateMipmap, .-glGenerateMipmap
+
+ .align 2
+ .global glCompressedTextureSubImage2D
+ .type glCompressedTextureSubImage2D, %function
+glCompressedTextureSubImage2D:
+ adrp x16, :got:__blue_glCore_glCompressedTextureSubImage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTextureSubImage2D]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTextureSubImage2D, .-glCompressedTextureSubImage2D
+
+ .align 2
+ .global glNamedRenderbufferStorageMultisampleEXT
+ .type glNamedRenderbufferStorageMultisampleEXT, %function
+glNamedRenderbufferStorageMultisampleEXT:
+ adrp x16, :got:__blue_glCore_glNamedRenderbufferStorageMultisampleEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedRenderbufferStorageMultisampleEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedRenderbufferStorageMultisampleEXT, .-glNamedRenderbufferStorageMultisampleEXT
+
+ .align 2
+ .global glPolygonOffsetClampEXT
+ .type glPolygonOffsetClampEXT, %function
+glPolygonOffsetClampEXT:
+ adrp x16, :got:__blue_glCore_glPolygonOffsetClampEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPolygonOffsetClampEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPolygonOffsetClampEXT, .-glPolygonOffsetClampEXT
+
+ .align 2
+ .global glTextureRangeAPPLE
+ .type glTextureRangeAPPLE, %function
+glTextureRangeAPPLE:
+ adrp x16, :got:__blue_glCore_glTextureRangeAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureRangeAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glTextureRangeAPPLE, .-glTextureRangeAPPLE
+
+ .align 2
+ .global glBlendEquationIndexedAMD
+ .type glBlendEquationIndexedAMD, %function
+glBlendEquationIndexedAMD:
+ adrp x16, :got:__blue_glCore_glBlendEquationIndexedAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendEquationIndexedAMD]
+ ldr x16, [x16]
+ br x16
+ .size glBlendEquationIndexedAMD, .-glBlendEquationIndexedAMD
+
+ .align 2
+ .global glProgramUniform3i64vARB
+ .type glProgramUniform3i64vARB, %function
+glProgramUniform3i64vARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform3i64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3i64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3i64vARB, .-glProgramUniform3i64vARB
+
+ .align 2
+ .global glPointParameteri
+ .type glPointParameteri, %function
+glPointParameteri:
+ adrp x16, :got:__blue_glCore_glPointParameteri
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameteri]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameteri, .-glPointParameteri
+
+ .align 2
+ .global glUnmapBuffer
+ .type glUnmapBuffer, %function
+glUnmapBuffer:
+ adrp x16, :got:__blue_glCore_glUnmapBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUnmapBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glUnmapBuffer, .-glUnmapBuffer
+
+ .align 2
+ .global glSampleMaskEXT
+ .type glSampleMaskEXT, %function
+glSampleMaskEXT:
+ adrp x16, :got:__blue_glCore_glSampleMaskEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSampleMaskEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSampleMaskEXT, .-glSampleMaskEXT
+
+ .align 2
+ .global glProgramUniform2fvEXT
+ .type glProgramUniform2fvEXT, %function
+glProgramUniform2fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform2fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2fvEXT, .-glProgramUniform2fvEXT
+
+ .align 2
+ .global glTexCoord1xvOES
+ .type glTexCoord1xvOES, %function
+glTexCoord1xvOES:
+ adrp x16, :got:__blue_glCore_glTexCoord1xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord1xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord1xvOES, .-glTexCoord1xvOES
+
+ .align 2
+ .global glVertexAttrib1sARB
+ .type glVertexAttrib1sARB, %function
+glVertexAttrib1sARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1sARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1sARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1sARB, .-glVertexAttrib1sARB
+
+ .align 2
+ .global glVertexAttrib4sv
+ .type glVertexAttrib4sv, %function
+glVertexAttrib4sv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4sv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4sv, .-glVertexAttrib4sv
+
+ .align 2
+ .global glProgramParameter4dvNV
+ .type glProgramParameter4dvNV, %function
+glProgramParameter4dvNV:
+ adrp x16, :got:__blue_glCore_glProgramParameter4dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramParameter4dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramParameter4dvNV, .-glProgramParameter4dvNV
+
+ .align 2
+ .global glTextureParameterIuivEXT
+ .type glTextureParameterIuivEXT, %function
+glTextureParameterIuivEXT:
+ adrp x16, :got:__blue_glCore_glTextureParameterIuivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameterIuivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameterIuivEXT, .-glTextureParameterIuivEXT
+
+ .align 2
+ .global glGetColorTableParameterfvSGI
+ .type glGetColorTableParameterfvSGI, %function
+glGetColorTableParameterfvSGI:
+ adrp x16, :got:__blue_glCore_glGetColorTableParameterfvSGI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetColorTableParameterfvSGI]
+ ldr x16, [x16]
+ br x16
+ .size glGetColorTableParameterfvSGI, .-glGetColorTableParameterfvSGI
+
+ .align 2
+ .global glDeleteRenderbuffersEXT
+ .type glDeleteRenderbuffersEXT, %function
+glDeleteRenderbuffersEXT:
+ adrp x16, :got:__blue_glCore_glDeleteRenderbuffersEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteRenderbuffersEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteRenderbuffersEXT, .-glDeleteRenderbuffersEXT
+
+ .align 2
+ .global glVertexAttrib1svNV
+ .type glVertexAttrib1svNV, %function
+glVertexAttrib1svNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1svNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1svNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1svNV, .-glVertexAttrib1svNV
+
+ .align 2
+ .global glVertexAttribP4uiv
+ .type glVertexAttribP4uiv, %function
+glVertexAttribP4uiv:
+ adrp x16, :got:__blue_glCore_glVertexAttribP4uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribP4uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribP4uiv, .-glVertexAttribP4uiv
+
+ .align 2
+ .global glProgramUniform2ui64vNV
+ .type glProgramUniform2ui64vNV, %function
+glProgramUniform2ui64vNV:
+ adrp x16, :got:__blue_glCore_glProgramUniform2ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2ui64vNV, .-glProgramUniform2ui64vNV
+
+ .align 2
+ .global glReleaseShaderCompiler
+ .type glReleaseShaderCompiler, %function
+glReleaseShaderCompiler:
+ adrp x16, :got:__blue_glCore_glReleaseShaderCompiler
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReleaseShaderCompiler]
+ ldr x16, [x16]
+ br x16
+ .size glReleaseShaderCompiler, .-glReleaseShaderCompiler
+
+ .align 2
+ .global glTexCoord3bvOES
+ .type glTexCoord3bvOES, %function
+glTexCoord3bvOES:
+ adrp x16, :got:__blue_glCore_glTexCoord3bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord3bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord3bvOES, .-glTexCoord3bvOES
+
+ .align 2
+ .global glIsVertexAttribEnabledAPPLE
+ .type glIsVertexAttribEnabledAPPLE, %function
+glIsVertexAttribEnabledAPPLE:
+ adrp x16, :got:__blue_glCore_glIsVertexAttribEnabledAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsVertexAttribEnabledAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glIsVertexAttribEnabledAPPLE, .-glIsVertexAttribEnabledAPPLE
+
+ .align 2
+ .global glReadPixels
+ .type glReadPixels, %function
+glReadPixels:
+ adrp x16, :got:__blue_glCore_glReadPixels
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReadPixels]
+ ldr x16, [x16]
+ br x16
+ .size glReadPixels, .-glReadPixels
+
+ .align 2
+ .global glVertexAttribI3iv
+ .type glVertexAttribI3iv, %function
+glVertexAttribI3iv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI3iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI3iv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI3iv, .-glVertexAttribI3iv
+
+ .align 2
+ .global glSetFenceAPPLE
+ .type glSetFenceAPPLE, %function
+glSetFenceAPPLE:
+ adrp x16, :got:__blue_glCore_glSetFenceAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSetFenceAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glSetFenceAPPLE, .-glSetFenceAPPLE
+
+ .align 2
+ .global glStateCaptureNV
+ .type glStateCaptureNV, %function
+glStateCaptureNV:
+ adrp x16, :got:__blue_glCore_glStateCaptureNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStateCaptureNV]
+ ldr x16, [x16]
+ br x16
+ .size glStateCaptureNV, .-glStateCaptureNV
+
+ .align 2
+ .global glWeightsvARB
+ .type glWeightsvARB, %function
+glWeightsvARB:
+ adrp x16, :got:__blue_glCore_glWeightsvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWeightsvARB]
+ ldr x16, [x16]
+ br x16
+ .size glWeightsvARB, .-glWeightsvARB
+
+ .align 2
+ .global glGetHistogramParameterivEXT
+ .type glGetHistogramParameterivEXT, %function
+glGetHistogramParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetHistogramParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetHistogramParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetHistogramParameterivEXT, .-glGetHistogramParameterivEXT
+
+ .align 2
+ .global glVertexAttribI1iEXT
+ .type glVertexAttribI1iEXT, %function
+glVertexAttribI1iEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI1iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI1iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI1iEXT, .-glVertexAttribI1iEXT
+
+ .align 2
+ .global glGetDoublei_vEXT
+ .type glGetDoublei_vEXT, %function
+glGetDoublei_vEXT:
+ adrp x16, :got:__blue_glCore_glGetDoublei_vEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetDoublei_vEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetDoublei_vEXT, .-glGetDoublei_vEXT
+
+ .align 2
+ .global glFogCoordfEXT
+ .type glFogCoordfEXT, %function
+glFogCoordfEXT:
+ adrp x16, :got:__blue_glCore_glFogCoordfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordfEXT, .-glFogCoordfEXT
+
+ .align 2
+ .global glVertexAttrib2dARB
+ .type glVertexAttrib2dARB, %function
+glVertexAttrib2dARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2dARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2dARB, .-glVertexAttrib2dARB
+
+ .align 2
+ .global glMultiTexCoord4dARB
+ .type glMultiTexCoord4dARB, %function
+glMultiTexCoord4dARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4dARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4dARB, .-glMultiTexCoord4dARB
+
+ .align 2
+ .global glReadnPixelsARB
+ .type glReadnPixelsARB, %function
+glReadnPixelsARB:
+ adrp x16, :got:__blue_glCore_glReadnPixelsARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReadnPixelsARB]
+ ldr x16, [x16]
+ br x16
+ .size glReadnPixelsARB, .-glReadnPixelsARB
+
+ .align 2
+ .global glMultiTexBufferEXT
+ .type glMultiTexBufferEXT, %function
+glMultiTexBufferEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexBufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexBufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexBufferEXT, .-glMultiTexBufferEXT
+
+ .align 2
+ .global glWindowPos4dvMESA
+ .type glWindowPos4dvMESA, %function
+glWindowPos4dvMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos4dvMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos4dvMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos4dvMESA, .-glWindowPos4dvMESA
+
+ .align 2
+ .global glInvalidateNamedFramebufferData
+ .type glInvalidateNamedFramebufferData, %function
+glInvalidateNamedFramebufferData:
+ adrp x16, :got:__blue_glCore_glInvalidateNamedFramebufferData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInvalidateNamedFramebufferData]
+ ldr x16, [x16]
+ br x16
+ .size glInvalidateNamedFramebufferData, .-glInvalidateNamedFramebufferData
+
+ .align 2
+ .global glColorP4ui
+ .type glColorP4ui, %function
+glColorP4ui:
+ adrp x16, :got:__blue_glCore_glColorP4ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorP4ui]
+ ldr x16, [x16]
+ br x16
+ .size glColorP4ui, .-glColorP4ui
+
+ .align 2
+ .global glUseProgramStages
+ .type glUseProgramStages, %function
+glUseProgramStages:
+ adrp x16, :got:__blue_glCore_glUseProgramStages
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUseProgramStages]
+ ldr x16, [x16]
+ br x16
+ .size glUseProgramStages, .-glUseProgramStages
+
+ .align 2
+ .global glVertexBlendEnviATI
+ .type glVertexBlendEnviATI, %function
+glVertexBlendEnviATI:
+ adrp x16, :got:__blue_glCore_glVertexBlendEnviATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexBlendEnviATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexBlendEnviATI, .-glVertexBlendEnviATI
+
+ .align 2
+ .global glUniform3i64ARB
+ .type glUniform3i64ARB, %function
+glUniform3i64ARB:
+ adrp x16, :got:__blue_glCore_glUniform3i64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3i64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3i64ARB, .-glUniform3i64ARB
+
+ .align 2
+ .global glProgramUniform2dEXT
+ .type glProgramUniform2dEXT, %function
+glProgramUniform2dEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform2dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2dEXT, .-glProgramUniform2dEXT
+
+ .align 2
+ .global glReadBuffer
+ .type glReadBuffer, %function
+glReadBuffer:
+ adrp x16, :got:__blue_glCore_glReadBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReadBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glReadBuffer, .-glReadBuffer
+
+ .align 2
+ .global glBlendEquationiARB
+ .type glBlendEquationiARB, %function
+glBlendEquationiARB:
+ adrp x16, :got:__blue_glCore_glBlendEquationiARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendEquationiARB]
+ ldr x16, [x16]
+ br x16
+ .size glBlendEquationiARB, .-glBlendEquationiARB
+
+ .align 2
+ .global glColor3hvNV
+ .type glColor3hvNV, %function
+glColor3hvNV:
+ adrp x16, :got:__blue_glCore_glColor3hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor3hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glColor3hvNV, .-glColor3hvNV
+
+ .align 2
+ .global glGetMapAttribParameterfvNV
+ .type glGetMapAttribParameterfvNV, %function
+glGetMapAttribParameterfvNV:
+ adrp x16, :got:__blue_glCore_glGetMapAttribParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMapAttribParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetMapAttribParameterfvNV, .-glGetMapAttribParameterfvNV
+
+ .align 2
+ .global glGetBufferSubData
+ .type glGetBufferSubData, %function
+glGetBufferSubData:
+ adrp x16, :got:__blue_glCore_glGetBufferSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBufferSubData]
+ ldr x16, [x16]
+ br x16
+ .size glGetBufferSubData, .-glGetBufferSubData
+
+ .align 2
+ .global glGetVertexAttribLdv
+ .type glGetVertexAttribLdv, %function
+glGetVertexAttribLdv:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribLdv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribLdv]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribLdv, .-glGetVertexAttribLdv
+
+ .align 2
+ .global glGetnUniformuiv
+ .type glGetnUniformuiv, %function
+glGetnUniformuiv:
+ adrp x16, :got:__blue_glCore_glGetnUniformuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnUniformuiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetnUniformuiv, .-glGetnUniformuiv
+
+ .align 2
+ .global glGetUniformui64vNV
+ .type glGetUniformui64vNV, %function
+glGetUniformui64vNV:
+ adrp x16, :got:__blue_glCore_glGetUniformui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformui64vNV, .-glGetUniformui64vNV
+
+ .align 2
+ .global glNamedRenderbufferStorageEXT
+ .type glNamedRenderbufferStorageEXT, %function
+glNamedRenderbufferStorageEXT:
+ adrp x16, :got:__blue_glCore_glNamedRenderbufferStorageEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedRenderbufferStorageEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedRenderbufferStorageEXT, .-glNamedRenderbufferStorageEXT
+
+ .align 2
+ .global glGetArrayObjectfvATI
+ .type glGetArrayObjectfvATI, %function
+glGetArrayObjectfvATI:
+ adrp x16, :got:__blue_glCore_glGetArrayObjectfvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetArrayObjectfvATI]
+ ldr x16, [x16]
+ br x16
+ .size glGetArrayObjectfvATI, .-glGetArrayObjectfvATI
+
+ .align 2
+ .global glVertexAttrib3dNV
+ .type glVertexAttrib3dNV, %function
+glVertexAttrib3dNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3dNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3dNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3dNV, .-glVertexAttrib3dNV
+
+ .align 2
+ .global glTextureStorage1DEXT
+ .type glTextureStorage1DEXT, %function
+glTextureStorage1DEXT:
+ adrp x16, :got:__blue_glCore_glTextureStorage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorage1DEXT, .-glTextureStorage1DEXT
+
+ .align 2
+ .global glPixelTexGenParameteriSGIS
+ .type glPixelTexGenParameteriSGIS, %function
+glPixelTexGenParameteriSGIS:
+ adrp x16, :got:__blue_glCore_glPixelTexGenParameteriSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelTexGenParameteriSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glPixelTexGenParameteriSGIS, .-glPixelTexGenParameteriSGIS
+
+ .align 2
+ .global glColorTableEXT
+ .type glColorTableEXT, %function
+glColorTableEXT:
+ adrp x16, :got:__blue_glCore_glColorTableEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorTableEXT]
+ ldr x16, [x16]
+ br x16
+ .size glColorTableEXT, .-glColorTableEXT
+
+ .align 2
+ .global glGenBuffers
+ .type glGenBuffers, %function
+glGenBuffers:
+ adrp x16, :got:__blue_glCore_glGenBuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenBuffers]
+ ldr x16, [x16]
+ br x16
+ .size glGenBuffers, .-glGenBuffers
+
+ .align 2
+ .global glMultiTexCoord3xvOES
+ .type glMultiTexCoord3xvOES, %function
+glMultiTexCoord3xvOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3xvOES, .-glMultiTexCoord3xvOES
+
+ .align 2
+ .global glExecuteProgramNV
+ .type glExecuteProgramNV, %function
+glExecuteProgramNV:
+ adrp x16, :got:__blue_glCore_glExecuteProgramNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glExecuteProgramNV]
+ ldr x16, [x16]
+ br x16
+ .size glExecuteProgramNV, .-glExecuteProgramNV
+
+ .align 2
+ .global glVariantArrayObjectATI
+ .type glVariantArrayObjectATI, %function
+glVariantArrayObjectATI:
+ adrp x16, :got:__blue_glCore_glVariantArrayObjectATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVariantArrayObjectATI]
+ ldr x16, [x16]
+ br x16
+ .size glVariantArrayObjectATI, .-glVariantArrayObjectATI
+
+ .align 2
+ .global glColor3xvOES
+ .type glColor3xvOES, %function
+glColor3xvOES:
+ adrp x16, :got:__blue_glCore_glColor3xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor3xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glColor3xvOES, .-glColor3xvOES
+
+ .align 2
+ .global glTexCoordP1uiv
+ .type glTexCoordP1uiv, %function
+glTexCoordP1uiv:
+ adrp x16, :got:__blue_glCore_glTexCoordP1uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordP1uiv]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordP1uiv, .-glTexCoordP1uiv
+
+ .align 2
+ .global glDeleteProgramsNV
+ .type glDeleteProgramsNV, %function
+glDeleteProgramsNV:
+ adrp x16, :got:__blue_glCore_glDeleteProgramsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteProgramsNV]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteProgramsNV, .-glDeleteProgramsNV
+
+ .align 2
+ .global glNormalFormatNV
+ .type glNormalFormatNV, %function
+glNormalFormatNV:
+ adrp x16, :got:__blue_glCore_glNormalFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glNormalFormatNV, .-glNormalFormatNV
+
+ .align 2
+ .global glGetInvariantFloatvEXT
+ .type glGetInvariantFloatvEXT, %function
+glGetInvariantFloatvEXT:
+ adrp x16, :got:__blue_glCore_glGetInvariantFloatvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetInvariantFloatvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetInvariantFloatvEXT, .-glGetInvariantFloatvEXT
+
+ .align 2
+ .global glClearNamedFramebufferiv
+ .type glClearNamedFramebufferiv, %function
+glClearNamedFramebufferiv:
+ adrp x16, :got:__blue_glCore_glClearNamedFramebufferiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearNamedFramebufferiv]
+ ldr x16, [x16]
+ br x16
+ .size glClearNamedFramebufferiv, .-glClearNamedFramebufferiv
+
+ .align 2
+ .global glHistogram
+ .type glHistogram, %function
+glHistogram:
+ adrp x16, :got:__blue_glCore_glHistogram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glHistogram]
+ ldr x16, [x16]
+ br x16
+ .size glHistogram, .-glHistogram
+
+ .align 2
+ .global glVertexStream1ivATI
+ .type glVertexStream1ivATI, %function
+glVertexStream1ivATI:
+ adrp x16, :got:__blue_glCore_glVertexStream1ivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream1ivATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream1ivATI, .-glVertexStream1ivATI
+
+ .align 2
+ .global glIsFramebuffer
+ .type glIsFramebuffer, %function
+glIsFramebuffer:
+ adrp x16, :got:__blue_glCore_glIsFramebuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsFramebuffer]
+ ldr x16, [x16]
+ br x16
+ .size glIsFramebuffer, .-glIsFramebuffer
+
+ .align 2
+ .global glProgramUniform3dvEXT
+ .type glProgramUniform3dvEXT, %function
+glProgramUniform3dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform3dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3dvEXT, .-glProgramUniform3dvEXT
+
+ .align 2
+ .global glBindVideoCaptureStreamBufferNV
+ .type glBindVideoCaptureStreamBufferNV, %function
+glBindVideoCaptureStreamBufferNV:
+ adrp x16, :got:__blue_glCore_glBindVideoCaptureStreamBufferNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindVideoCaptureStreamBufferNV]
+ ldr x16, [x16]
+ br x16
+ .size glBindVideoCaptureStreamBufferNV, .-glBindVideoCaptureStreamBufferNV
+
+ .align 2
+ .global glGetVertexAttribfvNV
+ .type glGetVertexAttribfvNV, %function
+glGetVertexAttribfvNV:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribfvNV, .-glGetVertexAttribfvNV
+
+ .align 2
+ .global glDrawRangeElementArrayAPPLE
+ .type glDrawRangeElementArrayAPPLE, %function
+glDrawRangeElementArrayAPPLE:
+ adrp x16, :got:__blue_glCore_glDrawRangeElementArrayAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawRangeElementArrayAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glDrawRangeElementArrayAPPLE, .-glDrawRangeElementArrayAPPLE
+
+ .align 2
+ .global glGetTexParameterPointervAPPLE
+ .type glGetTexParameterPointervAPPLE, %function
+glGetTexParameterPointervAPPLE:
+ adrp x16, :got:__blue_glCore_glGetTexParameterPointervAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexParameterPointervAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexParameterPointervAPPLE, .-glGetTexParameterPointervAPPLE
+
+ .align 2
+ .global glMatrixPopEXT
+ .type glMatrixPopEXT, %function
+glMatrixPopEXT:
+ adrp x16, :got:__blue_glCore_glMatrixPopEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixPopEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixPopEXT, .-glMatrixPopEXT
+
+ .align 2
+ .global glVertexStream1sATI
+ .type glVertexStream1sATI, %function
+glVertexStream1sATI:
+ adrp x16, :got:__blue_glCore_glVertexStream1sATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream1sATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream1sATI, .-glVertexStream1sATI
+
+ .align 2
+ .global glGetnPixelMapuivARB
+ .type glGetnPixelMapuivARB, %function
+glGetnPixelMapuivARB:
+ adrp x16, :got:__blue_glCore_glGetnPixelMapuivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnPixelMapuivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnPixelMapuivARB, .-glGetnPixelMapuivARB
+
+ .align 2
+ .global glMultiTexEnviEXT
+ .type glMultiTexEnviEXT, %function
+glMultiTexEnviEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexEnviEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexEnviEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexEnviEXT, .-glMultiTexEnviEXT
+
+ .align 2
+ .global glVertexAttribI2iEXT
+ .type glVertexAttribI2iEXT, %function
+glVertexAttribI2iEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI2iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI2iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI2iEXT, .-glVertexAttribI2iEXT
+
+ .align 2
+ .global glProgramParameter4fvNV
+ .type glProgramParameter4fvNV, %function
+glProgramParameter4fvNV:
+ adrp x16, :got:__blue_glCore_glProgramParameter4fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramParameter4fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramParameter4fvNV, .-glProgramParameter4fvNV
+
+ .align 2
+ .global glNamedFramebufferSampleLocationsfvNV
+ .type glNamedFramebufferSampleLocationsfvNV, %function
+glNamedFramebufferSampleLocationsfvNV:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferSampleLocationsfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferSampleLocationsfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferSampleLocationsfvNV, .-glNamedFramebufferSampleLocationsfvNV
+
+ .align 2
+ .global glTexCoordP4uiv
+ .type glTexCoordP4uiv, %function
+glTexCoordP4uiv:
+ adrp x16, :got:__blue_glCore_glTexCoordP4uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordP4uiv]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordP4uiv, .-glTexCoordP4uiv
+
+ .align 2
+ .global glRectxvOES
+ .type glRectxvOES, %function
+glRectxvOES:
+ adrp x16, :got:__blue_glCore_glRectxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRectxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glRectxvOES, .-glRectxvOES
+
+ .align 2
+ .global glGetVariantIntegervEXT
+ .type glGetVariantIntegervEXT, %function
+glGetVariantIntegervEXT:
+ adrp x16, :got:__blue_glCore_glGetVariantIntegervEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVariantIntegervEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVariantIntegervEXT, .-glGetVariantIntegervEXT
+
+ .align 2
+ .global glFragmentCoverageColorNV
+ .type glFragmentCoverageColorNV, %function
+glFragmentCoverageColorNV:
+ adrp x16, :got:__blue_glCore_glFragmentCoverageColorNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentCoverageColorNV]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentCoverageColorNV, .-glFragmentCoverageColorNV
+
+ .align 2
+ .global glVertexP2uiv
+ .type glVertexP2uiv, %function
+glVertexP2uiv:
+ adrp x16, :got:__blue_glCore_glVertexP2uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexP2uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexP2uiv, .-glVertexP2uiv
+
+ .align 2
+ .global glGetPerfMonitorGroupsAMD
+ .type glGetPerfMonitorGroupsAMD, %function
+glGetPerfMonitorGroupsAMD:
+ adrp x16, :got:__blue_glCore_glGetPerfMonitorGroupsAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPerfMonitorGroupsAMD]
+ ldr x16, [x16]
+ br x16
+ .size glGetPerfMonitorGroupsAMD, .-glGetPerfMonitorGroupsAMD
+
+ .align 2
+ .global glMultTransposeMatrixfARB
+ .type glMultTransposeMatrixfARB, %function
+glMultTransposeMatrixfARB:
+ adrp x16, :got:__blue_glCore_glMultTransposeMatrixfARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultTransposeMatrixfARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultTransposeMatrixfARB, .-glMultTransposeMatrixfARB
+
+ .align 2
+ .global glVertexAttribI2ivEXT
+ .type glVertexAttribI2ivEXT, %function
+glVertexAttribI2ivEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI2ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI2ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI2ivEXT, .-glVertexAttribI2ivEXT
+
+ .align 2
+ .global glReplacementCodeuiColor4fNormal3fVertex3fvSUN
+ .type glReplacementCodeuiColor4fNormal3fVertex3fvSUN, %function
+glReplacementCodeuiColor4fNormal3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiColor4fNormal3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiColor4fNormal3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiColor4fNormal3fVertex3fvSUN, .-glReplacementCodeuiColor4fNormal3fVertex3fvSUN
+
+ .align 2
+ .global glDeleteStatesNV
+ .type glDeleteStatesNV, %function
+glDeleteStatesNV:
+ adrp x16, :got:__blue_glCore_glDeleteStatesNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteStatesNV]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteStatesNV, .-glDeleteStatesNV
+
+ .align 2
+ .global glGetBufferParameteri64v
+ .type glGetBufferParameteri64v, %function
+glGetBufferParameteri64v:
+ adrp x16, :got:__blue_glCore_glGetBufferParameteri64v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBufferParameteri64v]
+ ldr x16, [x16]
+ br x16
+ .size glGetBufferParameteri64v, .-glGetBufferParameteri64v
+
+ .align 2
+ .global glProgramUniform4dv
+ .type glProgramUniform4dv, %function
+glProgramUniform4dv:
+ adrp x16, :got:__blue_glCore_glProgramUniform4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4dv, .-glProgramUniform4dv
+
+ .align 2
+ .global glEdgeFlagPointerEXT
+ .type glEdgeFlagPointerEXT, %function
+glEdgeFlagPointerEXT:
+ adrp x16, :got:__blue_glCore_glEdgeFlagPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEdgeFlagPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glEdgeFlagPointerEXT, .-glEdgeFlagPointerEXT
+
+ .align 2
+ .global glVideoCaptureStreamParameterivNV
+ .type glVideoCaptureStreamParameterivNV, %function
+glVideoCaptureStreamParameterivNV:
+ adrp x16, :got:__blue_glCore_glVideoCaptureStreamParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVideoCaptureStreamParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glVideoCaptureStreamParameterivNV, .-glVideoCaptureStreamParameterivNV
+
+ .align 2
+ .global glVertexStream4iATI
+ .type glVertexStream4iATI, %function
+glVertexStream4iATI:
+ adrp x16, :got:__blue_glCore_glVertexStream4iATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream4iATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream4iATI, .-glVertexStream4iATI
+
+ .align 2
+ .global glVDPAUFiniNV
+ .type glVDPAUFiniNV, %function
+glVDPAUFiniNV:
+ adrp x16, :got:__blue_glCore_glVDPAUFiniNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVDPAUFiniNV]
+ ldr x16, [x16]
+ br x16
+ .size glVDPAUFiniNV, .-glVDPAUFiniNV
+
+ .align 2
+ .global glMakeBufferNonResidentNV
+ .type glMakeBufferNonResidentNV, %function
+glMakeBufferNonResidentNV:
+ adrp x16, :got:__blue_glCore_glMakeBufferNonResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeBufferNonResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glMakeBufferNonResidentNV, .-glMakeBufferNonResidentNV
+
+ .align 2
+ .global glMultiTexCoord2fvARB
+ .type glMultiTexCoord2fvARB, %function
+glMultiTexCoord2fvARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2fvARB, .-glMultiTexCoord2fvARB
+
+ .align 2
+ .global glStencilStrokePathNV
+ .type glStencilStrokePathNV, %function
+glStencilStrokePathNV:
+ adrp x16, :got:__blue_glCore_glStencilStrokePathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilStrokePathNV]
+ ldr x16, [x16]
+ br x16
+ .size glStencilStrokePathNV, .-glStencilStrokePathNV
+
+ .align 2
+ .global glVariantuivEXT
+ .type glVariantuivEXT, %function
+glVariantuivEXT:
+ adrp x16, :got:__blue_glCore_glVariantuivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVariantuivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVariantuivEXT, .-glVariantuivEXT
+
+ .align 2
+ .global glCopyTexSubImage3DEXT
+ .type glCopyTexSubImage3DEXT, %function
+glCopyTexSubImage3DEXT:
+ adrp x16, :got:__blue_glCore_glCopyTexSubImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTexSubImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTexSubImage3DEXT, .-glCopyTexSubImage3DEXT
+
+ .align 2
+ .global glSecondaryColorPointerListIBM
+ .type glSecondaryColorPointerListIBM, %function
+glSecondaryColorPointerListIBM:
+ adrp x16, :got:__blue_glCore_glSecondaryColorPointerListIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColorPointerListIBM]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColorPointerListIBM, .-glSecondaryColorPointerListIBM
+
+ .align 2
+ .global glMultiTexCoord1sARB
+ .type glMultiTexCoord1sARB, %function
+glMultiTexCoord1sARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1sARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1sARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1sARB, .-glMultiTexCoord1sARB
+
+ .align 2
+ .global glConvolutionParameterfv
+ .type glConvolutionParameterfv, %function
+glConvolutionParameterfv:
+ adrp x16, :got:__blue_glCore_glConvolutionParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionParameterfv, .-glConvolutionParameterfv
+
+ .align 2
+ .global glMakeTextureHandleResidentNV
+ .type glMakeTextureHandleResidentNV, %function
+glMakeTextureHandleResidentNV:
+ adrp x16, :got:__blue_glCore_glMakeTextureHandleResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeTextureHandleResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glMakeTextureHandleResidentNV, .-glMakeTextureHandleResidentNV
+
+ .align 2
+ .global glMultMatrixxOES
+ .type glMultMatrixxOES, %function
+glMultMatrixxOES:
+ adrp x16, :got:__blue_glCore_glMultMatrixxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultMatrixxOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultMatrixxOES, .-glMultMatrixxOES
+
+ .align 2
+ .global glTextureNormalEXT
+ .type glTextureNormalEXT, %function
+glTextureNormalEXT:
+ adrp x16, :got:__blue_glCore_glTextureNormalEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureNormalEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureNormalEXT, .-glTextureNormalEXT
+
+ .align 2
+ .global glGetQueryivARB
+ .type glGetQueryivARB, %function
+glGetQueryivARB:
+ adrp x16, :got:__blue_glCore_glGetQueryivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryivARB, .-glGetQueryivARB
+
+ .align 2
+ .global glCompressedMultiTexImage3DEXT
+ .type glCompressedMultiTexImage3DEXT, %function
+glCompressedMultiTexImage3DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedMultiTexImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedMultiTexImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedMultiTexImage3DEXT, .-glCompressedMultiTexImage3DEXT
+
+ .align 2
+ .global glNamedProgramLocalParameter4dEXT
+ .type glNamedProgramLocalParameter4dEXT, %function
+glNamedProgramLocalParameter4dEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParameter4dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParameter4dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParameter4dEXT, .-glNamedProgramLocalParameter4dEXT
+
+ .align 2
+ .global glProgramUniformMatrix4x3fvEXT
+ .type glProgramUniformMatrix4x3fvEXT, %function
+glProgramUniformMatrix4x3fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4x3fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4x3fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4x3fvEXT, .-glProgramUniformMatrix4x3fvEXT
+
+ .align 2
+ .global glPointParameterf
+ .type glPointParameterf, %function
+glPointParameterf:
+ adrp x16, :got:__blue_glCore_glPointParameterf
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameterf]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameterf, .-glPointParameterf
+
+ .align 2
+ .global glProgramUniform3dEXT
+ .type glProgramUniform3dEXT, %function
+glProgramUniform3dEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform3dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3dEXT, .-glProgramUniform3dEXT
+
+ .align 2
+ .global glMultiTexCoord2hNV
+ .type glMultiTexCoord2hNV, %function
+glMultiTexCoord2hNV:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2hNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2hNV, .-glMultiTexCoord2hNV
+
+ .align 2
+ .global glGetConvolutionFilterEXT
+ .type glGetConvolutionFilterEXT, %function
+glGetConvolutionFilterEXT:
+ adrp x16, :got:__blue_glCore_glGetConvolutionFilterEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetConvolutionFilterEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetConvolutionFilterEXT, .-glGetConvolutionFilterEXT
+
+ .align 2
+ .global glVertexAttrib2hNV
+ .type glVertexAttrib2hNV, %function
+glVertexAttrib2hNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2hNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2hNV, .-glVertexAttrib2hNV
+
+ .align 2
+ .global glCurrentPaletteMatrixARB
+ .type glCurrentPaletteMatrixARB, %function
+glCurrentPaletteMatrixARB:
+ adrp x16, :got:__blue_glCore_glCurrentPaletteMatrixARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCurrentPaletteMatrixARB]
+ ldr x16, [x16]
+ br x16
+ .size glCurrentPaletteMatrixARB, .-glCurrentPaletteMatrixARB
+
+ .align 2
+ .global glFogxvOES
+ .type glFogxvOES, %function
+glFogxvOES:
+ adrp x16, :got:__blue_glCore_glFogxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glFogxvOES, .-glFogxvOES
+
+ .align 2
+ .global glCreateRenderbuffers
+ .type glCreateRenderbuffers, %function
+glCreateRenderbuffers:
+ adrp x16, :got:__blue_glCore_glCreateRenderbuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateRenderbuffers]
+ ldr x16, [x16]
+ br x16
+ .size glCreateRenderbuffers, .-glCreateRenderbuffers
+
+ .align 2
+ .global glVertexAttrib4Nusv
+ .type glVertexAttrib4Nusv, %function
+glVertexAttrib4Nusv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4Nusv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4Nusv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4Nusv, .-glVertexAttrib4Nusv
+
+ .align 2
+ .global glGetBufferParameterui64vNV
+ .type glGetBufferParameterui64vNV, %function
+glGetBufferParameterui64vNV:
+ adrp x16, :got:__blue_glCore_glGetBufferParameterui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBufferParameterui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetBufferParameterui64vNV, .-glGetBufferParameterui64vNV
+
+ .align 2
+ .global glDepthFunc
+ .type glDepthFunc, %function
+glDepthFunc:
+ adrp x16, :got:__blue_glCore_glDepthFunc
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthFunc]
+ ldr x16, [x16]
+ br x16
+ .size glDepthFunc, .-glDepthFunc
+
+ .align 2
+ .global glVertexAttribI4bvEXT
+ .type glVertexAttribI4bvEXT, %function
+glVertexAttribI4bvEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4bvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4bvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4bvEXT, .-glVertexAttribI4bvEXT
+
+ .align 2
+ .global glEnableClientStateIndexedEXT
+ .type glEnableClientStateIndexedEXT, %function
+glEnableClientStateIndexedEXT:
+ adrp x16, :got:__blue_glCore_glEnableClientStateIndexedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnableClientStateIndexedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glEnableClientStateIndexedEXT, .-glEnableClientStateIndexedEXT
+
+ .align 2
+ .global glProgramUniform4i64ARB
+ .type glProgramUniform4i64ARB, %function
+glProgramUniform4i64ARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform4i64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4i64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4i64ARB, .-glProgramUniform4i64ARB
+
+ .align 2
+ .global glBlendFunci
+ .type glBlendFunci, %function
+glBlendFunci:
+ adrp x16, :got:__blue_glCore_glBlendFunci
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendFunci]
+ ldr x16, [x16]
+ br x16
+ .size glBlendFunci, .-glBlendFunci
+
+ .align 2
+ .global glMatrixLoadIdentityEXT
+ .type glMatrixLoadIdentityEXT, %function
+glMatrixLoadIdentityEXT:
+ adrp x16, :got:__blue_glCore_glMatrixLoadIdentityEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixLoadIdentityEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixLoadIdentityEXT, .-glMatrixLoadIdentityEXT
+
+ .align 2
+ .global glTextureColorMaskSGIS
+ .type glTextureColorMaskSGIS, %function
+glTextureColorMaskSGIS:
+ adrp x16, :got:__blue_glCore_glTextureColorMaskSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureColorMaskSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glTextureColorMaskSGIS, .-glTextureColorMaskSGIS
+
+ .align 2
+ .global glCreateShaderProgramEXT
+ .type glCreateShaderProgramEXT, %function
+glCreateShaderProgramEXT:
+ adrp x16, :got:__blue_glCore_glCreateShaderProgramEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateShaderProgramEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCreateShaderProgramEXT, .-glCreateShaderProgramEXT
+
+ .align 2
+ .global glBufferStorage
+ .type glBufferStorage, %function
+glBufferStorage:
+ adrp x16, :got:__blue_glCore_glBufferStorage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBufferStorage]
+ ldr x16, [x16]
+ br x16
+ .size glBufferStorage, .-glBufferStorage
+
+ .align 2
+ .global glMakeNamedBufferNonResidentNV
+ .type glMakeNamedBufferNonResidentNV, %function
+glMakeNamedBufferNonResidentNV:
+ adrp x16, :got:__blue_glCore_glMakeNamedBufferNonResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeNamedBufferNonResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glMakeNamedBufferNonResidentNV, .-glMakeNamedBufferNonResidentNV
+
+ .align 2
+ .global glRenderbufferStorageMultisampleEXT
+ .type glRenderbufferStorageMultisampleEXT, %function
+glRenderbufferStorageMultisampleEXT:
+ adrp x16, :got:__blue_glCore_glRenderbufferStorageMultisampleEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRenderbufferStorageMultisampleEXT]
+ ldr x16, [x16]
+ br x16
+ .size glRenderbufferStorageMultisampleEXT, .-glRenderbufferStorageMultisampleEXT
+
+ .align 2
+ .global glGetFloati_v
+ .type glGetFloati_v, %function
+glGetFloati_v:
+ adrp x16, :got:__blue_glCore_glGetFloati_v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFloati_v]
+ ldr x16, [x16]
+ br x16
+ .size glGetFloati_v, .-glGetFloati_v
+
+ .align 2
+ .global glUniform2ui64ARB
+ .type glUniform2ui64ARB, %function
+glUniform2ui64ARB:
+ adrp x16, :got:__blue_glCore_glUniform2ui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2ui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2ui64ARB, .-glUniform2ui64ARB
+
+ .align 2
+ .global glBindVertexShaderEXT
+ .type glBindVertexShaderEXT, %function
+glBindVertexShaderEXT:
+ adrp x16, :got:__blue_glCore_glBindVertexShaderEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindVertexShaderEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindVertexShaderEXT, .-glBindVertexShaderEXT
+
+ .align 2
+ .global glGetUniformLocation
+ .type glGetUniformLocation, %function
+glGetUniformLocation:
+ adrp x16, :got:__blue_glCore_glGetUniformLocation
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformLocation]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformLocation, .-glGetUniformLocation
+
+ .align 2
+ .global glVertexStream1svATI
+ .type glVertexStream1svATI, %function
+glVertexStream1svATI:
+ adrp x16, :got:__blue_glCore_glVertexStream1svATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream1svATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream1svATI, .-glVertexStream1svATI
+
+ .align 2
+ .global glVertexStream3fATI
+ .type glVertexStream3fATI, %function
+glVertexStream3fATI:
+ adrp x16, :got:__blue_glCore_glVertexStream3fATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream3fATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream3fATI, .-glVertexStream3fATI
+
+ .align 2
+ .global glNamedFramebufferDrawBuffers
+ .type glNamedFramebufferDrawBuffers, %function
+glNamedFramebufferDrawBuffers:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferDrawBuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferDrawBuffers]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferDrawBuffers, .-glNamedFramebufferDrawBuffers
+
+ .align 2
+ .global glUniform2ui64vNV
+ .type glUniform2ui64vNV, %function
+glUniform2ui64vNV:
+ adrp x16, :got:__blue_glCore_glUniform2ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2ui64vNV, .-glUniform2ui64vNV
+
+ .align 2
+ .global glTexCoordPointervINTEL
+ .type glTexCoordPointervINTEL, %function
+glTexCoordPointervINTEL:
+ adrp x16, :got:__blue_glCore_glTexCoordPointervINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordPointervINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordPointervINTEL, .-glTexCoordPointervINTEL
+
+ .align 2
+ .global glUniform4fv
+ .type glUniform4fv, %function
+glUniform4fv:
+ adrp x16, :got:__blue_glCore_glUniform4fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4fv, .-glUniform4fv
+
+ .align 2
+ .global glNormalPointerEXT
+ .type glNormalPointerEXT, %function
+glNormalPointerEXT:
+ adrp x16, :got:__blue_glCore_glNormalPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNormalPointerEXT, .-glNormalPointerEXT
+
+ .align 2
+ .global glGetTextureSamplerHandleNV
+ .type glGetTextureSamplerHandleNV, %function
+glGetTextureSamplerHandleNV:
+ adrp x16, :got:__blue_glCore_glGetTextureSamplerHandleNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureSamplerHandleNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureSamplerHandleNV, .-glGetTextureSamplerHandleNV
+
+ .align 2
+ .global glVertexAttrib4hNV
+ .type glVertexAttrib4hNV, %function
+glVertexAttrib4hNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4hNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4hNV, .-glVertexAttrib4hNV
+
+ .align 2
+ .global glNamedFramebufferTextureFaceEXT
+ .type glNamedFramebufferTextureFaceEXT, %function
+glNamedFramebufferTextureFaceEXT:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferTextureFaceEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferTextureFaceEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferTextureFaceEXT, .-glNamedFramebufferTextureFaceEXT
+
+ .align 2
+ .global glCompressedTextureSubImage3D
+ .type glCompressedTextureSubImage3D, %function
+glCompressedTextureSubImage3D:
+ adrp x16, :got:__blue_glCore_glCompressedTextureSubImage3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTextureSubImage3D]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTextureSubImage3D, .-glCompressedTextureSubImage3D
+
+ .align 2
+ .global glBindSamplers
+ .type glBindSamplers, %function
+glBindSamplers:
+ adrp x16, :got:__blue_glCore_glBindSamplers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindSamplers]
+ ldr x16, [x16]
+ br x16
+ .size glBindSamplers, .-glBindSamplers
+
+ .align 2
+ .global glAsyncMarkerSGIX
+ .type glAsyncMarkerSGIX, %function
+glAsyncMarkerSGIX:
+ adrp x16, :got:__blue_glCore_glAsyncMarkerSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glAsyncMarkerSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glAsyncMarkerSGIX, .-glAsyncMarkerSGIX
+
+ .align 2
+ .global glTextureStorageSparseAMD
+ .type glTextureStorageSparseAMD, %function
+glTextureStorageSparseAMD:
+ adrp x16, :got:__blue_glCore_glTextureStorageSparseAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorageSparseAMD]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorageSparseAMD, .-glTextureStorageSparseAMD
+
+ .align 2
+ .global glGetConvolutionParameterivEXT
+ .type glGetConvolutionParameterivEXT, %function
+glGetConvolutionParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetConvolutionParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetConvolutionParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetConvolutionParameterivEXT, .-glGetConvolutionParameterivEXT
+
+ .align 2
+ .global glEndPerfQueryINTEL
+ .type glEndPerfQueryINTEL, %function
+glEndPerfQueryINTEL:
+ adrp x16, :got:__blue_glCore_glEndPerfQueryINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndPerfQueryINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glEndPerfQueryINTEL, .-glEndPerfQueryINTEL
+
+ .align 2
+ .global glFragmentLightModeliSGIX
+ .type glFragmentLightModeliSGIX, %function
+glFragmentLightModeliSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentLightModeliSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentLightModeliSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentLightModeliSGIX, .-glFragmentLightModeliSGIX
+
+ .align 2
+ .global glPrioritizeTexturesEXT
+ .type glPrioritizeTexturesEXT, %function
+glPrioritizeTexturesEXT:
+ adrp x16, :got:__blue_glCore_glPrioritizeTexturesEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPrioritizeTexturesEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPrioritizeTexturesEXT, .-glPrioritizeTexturesEXT
+
+ .align 2
+ .global glEndConditionalRender
+ .type glEndConditionalRender, %function
+glEndConditionalRender:
+ adrp x16, :got:__blue_glCore_glEndConditionalRender
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndConditionalRender]
+ ldr x16, [x16]
+ br x16
+ .size glEndConditionalRender, .-glEndConditionalRender
+
+ .align 2
+ .global glResetHistogram
+ .type glResetHistogram, %function
+glResetHistogram:
+ adrp x16, :got:__blue_glCore_glResetHistogram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glResetHistogram]
+ ldr x16, [x16]
+ br x16
+ .size glResetHistogram, .-glResetHistogram
+
+ .align 2
+ .global glGetOcclusionQueryivNV
+ .type glGetOcclusionQueryivNV, %function
+glGetOcclusionQueryivNV:
+ adrp x16, :got:__blue_glCore_glGetOcclusionQueryivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetOcclusionQueryivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetOcclusionQueryivNV, .-glGetOcclusionQueryivNV
+
+ .align 2
+ .global glUniform1uiEXT
+ .type glUniform1uiEXT, %function
+glUniform1uiEXT:
+ adrp x16, :got:__blue_glCore_glUniform1uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1uiEXT, .-glUniform1uiEXT
+
+ .align 2
+ .global glMultiTexCoord2sv
+ .type glMultiTexCoord2sv, %function
+glMultiTexCoord2sv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2sv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2sv, .-glMultiTexCoord2sv
+
+ .align 2
+ .global glTexSubImage2DEXT
+ .type glTexSubImage2DEXT, %function
+glTexSubImage2DEXT:
+ adrp x16, :got:__blue_glCore_glTexSubImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexSubImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTexSubImage2DEXT, .-glTexSubImage2DEXT
+
+ .align 2
+ .global glProgramUniform2uiv
+ .type glProgramUniform2uiv, %function
+glProgramUniform2uiv:
+ adrp x16, :got:__blue_glCore_glProgramUniform2uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2uiv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2uiv, .-glProgramUniform2uiv
+
+ .align 2
+ .global glMultiTexCoord2iARB
+ .type glMultiTexCoord2iARB, %function
+glMultiTexCoord2iARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2iARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2iARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2iARB, .-glMultiTexCoord2iARB
+
+ .align 2
+ .global glGetQueryObjectuiv
+ .type glGetQueryObjectuiv, %function
+glGetQueryObjectuiv:
+ adrp x16, :got:__blue_glCore_glGetQueryObjectuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryObjectuiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryObjectuiv, .-glGetQueryObjectuiv
+
+ .align 2
+ .global glGenerateMultiTexMipmapEXT
+ .type glGenerateMultiTexMipmapEXT, %function
+glGenerateMultiTexMipmapEXT:
+ adrp x16, :got:__blue_glCore_glGenerateMultiTexMipmapEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenerateMultiTexMipmapEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGenerateMultiTexMipmapEXT, .-glGenerateMultiTexMipmapEXT
+
+ .align 2
+ .global glVertexAttrib4iv
+ .type glVertexAttrib4iv, %function
+glVertexAttrib4iv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4iv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4iv, .-glVertexAttrib4iv
+
+ .align 2
+ .global glWindowPos3dvMESA
+ .type glWindowPos3dvMESA, %function
+glWindowPos3dvMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos3dvMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3dvMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3dvMESA, .-glWindowPos3dvMESA
+
+ .align 2
+ .global glLabelObjectEXT
+ .type glLabelObjectEXT, %function
+glLabelObjectEXT:
+ adrp x16, :got:__blue_glCore_glLabelObjectEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLabelObjectEXT]
+ ldr x16, [x16]
+ br x16
+ .size glLabelObjectEXT, .-glLabelObjectEXT
+
+ .align 2
+ .global glProgramUniform1uiv
+ .type glProgramUniform1uiv, %function
+glProgramUniform1uiv:
+ adrp x16, :got:__blue_glCore_glProgramUniform1uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1uiv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1uiv, .-glProgramUniform1uiv
+
+ .align 2
+ .global glFramebufferTexture
+ .type glFramebufferTexture, %function
+glFramebufferTexture:
+ adrp x16, :got:__blue_glCore_glFramebufferTexture
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTexture]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTexture, .-glFramebufferTexture
+
+ .align 2
+ .global glMultiTexEnvfEXT
+ .type glMultiTexEnvfEXT, %function
+glMultiTexEnvfEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexEnvfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexEnvfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexEnvfEXT, .-glMultiTexEnvfEXT
+
+ .align 2
+ .global glVertex4xOES
+ .type glVertex4xOES, %function
+glVertex4xOES:
+ adrp x16, :got:__blue_glCore_glVertex4xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex4xOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex4xOES, .-glVertex4xOES
+
+ .align 2
+ .global glVertexAttribI2uivEXT
+ .type glVertexAttribI2uivEXT, %function
+glVertexAttribI2uivEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI2uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI2uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI2uivEXT, .-glVertexAttribI2uivEXT
+
+ .align 2
+ .global glGetnConvolutionFilterARB
+ .type glGetnConvolutionFilterARB, %function
+glGetnConvolutionFilterARB:
+ adrp x16, :got:__blue_glCore_glGetnConvolutionFilterARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnConvolutionFilterARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnConvolutionFilterARB, .-glGetnConvolutionFilterARB
+
+ .align 2
+ .global glPointParameterfvSGIS
+ .type glPointParameterfvSGIS, %function
+glPointParameterfvSGIS:
+ adrp x16, :got:__blue_glCore_glPointParameterfvSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameterfvSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameterfvSGIS, .-glPointParameterfvSGIS
+
+ .align 2
+ .global glGetPixelTransformParameterfvEXT
+ .type glGetPixelTransformParameterfvEXT, %function
+glGetPixelTransformParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glGetPixelTransformParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPixelTransformParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetPixelTransformParameterfvEXT, .-glGetPixelTransformParameterfvEXT
+
+ .align 2
+ .global glIndexxvOES
+ .type glIndexxvOES, %function
+glIndexxvOES:
+ adrp x16, :got:__blue_glCore_glIndexxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIndexxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glIndexxvOES, .-glIndexxvOES
+
+ .align 2
+ .global glDepthMask
+ .type glDepthMask, %function
+glDepthMask:
+ adrp x16, :got:__blue_glCore_glDepthMask
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthMask]
+ ldr x16, [x16]
+ br x16
+ .size glDepthMask, .-glDepthMask
+
+ .align 2
+ .global glProgramUniformMatrix2x4fv
+ .type glProgramUniformMatrix2x4fv, %function
+glProgramUniformMatrix2x4fv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2x4fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2x4fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2x4fv, .-glProgramUniformMatrix2x4fv
+
+ .align 2
+ .global glAreProgramsResidentNV
+ .type glAreProgramsResidentNV, %function
+glAreProgramsResidentNV:
+ adrp x16, :got:__blue_glCore_glAreProgramsResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glAreProgramsResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glAreProgramsResidentNV, .-glAreProgramsResidentNV
+
+ .align 2
+ .global glColorTable
+ .type glColorTable, %function
+glColorTable:
+ adrp x16, :got:__blue_glCore_glColorTable
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorTable]
+ ldr x16, [x16]
+ br x16
+ .size glColorTable, .-glColorTable
+
+ .align 2
+ .global glSecondaryColor3bvEXT
+ .type glSecondaryColor3bvEXT, %function
+glSecondaryColor3bvEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3bvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3bvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3bvEXT, .-glSecondaryColor3bvEXT
+
+ .align 2
+ .global glVertexStream1dvATI
+ .type glVertexStream1dvATI, %function
+glVertexStream1dvATI:
+ adrp x16, :got:__blue_glCore_glVertexStream1dvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream1dvATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream1dvATI, .-glVertexStream1dvATI
+
+ .align 2
+ .global glGetMultiTexEnvfvEXT
+ .type glGetMultiTexEnvfvEXT, %function
+glGetMultiTexEnvfvEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexEnvfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexEnvfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexEnvfvEXT, .-glGetMultiTexEnvfvEXT
+
+ .align 2
+ .global glFlushMappedBufferRangeAPPLE
+ .type glFlushMappedBufferRangeAPPLE, %function
+glFlushMappedBufferRangeAPPLE:
+ adrp x16, :got:__blue_glCore_glFlushMappedBufferRangeAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFlushMappedBufferRangeAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glFlushMappedBufferRangeAPPLE, .-glFlushMappedBufferRangeAPPLE
+
+ .align 2
+ .global glVertexAttribs1dvNV
+ .type glVertexAttribs1dvNV, %function
+glVertexAttribs1dvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs1dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs1dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs1dvNV, .-glVertexAttribs1dvNV
+
+ .align 2
+ .global glVertexStream2sATI
+ .type glVertexStream2sATI, %function
+glVertexStream2sATI:
+ adrp x16, :got:__blue_glCore_glVertexStream2sATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream2sATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream2sATI, .-glVertexStream2sATI
+
+ .align 2
+ .global glGetnSeparableFilterARB
+ .type glGetnSeparableFilterARB, %function
+glGetnSeparableFilterARB:
+ adrp x16, :got:__blue_glCore_glGetnSeparableFilterARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnSeparableFilterARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnSeparableFilterARB, .-glGetnSeparableFilterARB
+
+ .align 2
+ .global glProgramUniform2dv
+ .type glProgramUniform2dv, %function
+glProgramUniform2dv:
+ adrp x16, :got:__blue_glCore_glProgramUniform2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2dv, .-glProgramUniform2dv
+
+ .align 2
+ .global glActiveStencilFaceEXT
+ .type glActiveStencilFaceEXT, %function
+glActiveStencilFaceEXT:
+ adrp x16, :got:__blue_glCore_glActiveStencilFaceEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glActiveStencilFaceEXT]
+ ldr x16, [x16]
+ br x16
+ .size glActiveStencilFaceEXT, .-glActiveStencilFaceEXT
+
+ .align 2
+ .global glProgramUniform4dEXT
+ .type glProgramUniform4dEXT, %function
+glProgramUniform4dEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform4dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4dEXT, .-glProgramUniform4dEXT
+
+ .align 2
+ .global glPointSizexOES
+ .type glPointSizexOES, %function
+glPointSizexOES:
+ adrp x16, :got:__blue_glCore_glPointSizexOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointSizexOES]
+ ldr x16, [x16]
+ br x16
+ .size glPointSizexOES, .-glPointSizexOES
+
+ .align 2
+ .global glUniformMatrix2fv
+ .type glUniformMatrix2fv, %function
+glUniformMatrix2fv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix2fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix2fv, .-glUniformMatrix2fv
+
+ .align 2
+ .global glBlendParameteriNV
+ .type glBlendParameteriNV, %function
+glBlendParameteriNV:
+ adrp x16, :got:__blue_glCore_glBlendParameteriNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendParameteriNV]
+ ldr x16, [x16]
+ br x16
+ .size glBlendParameteriNV, .-glBlendParameteriNV
+
+ .align 2
+ .global glNamedProgramLocalParameter4dvEXT
+ .type glNamedProgramLocalParameter4dvEXT, %function
+glNamedProgramLocalParameter4dvEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParameter4dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParameter4dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParameter4dvEXT, .-glNamedProgramLocalParameter4dvEXT
+
+ .align 2
+ .global glGetTextureParameterfvEXT
+ .type glGetTextureParameterfvEXT, %function
+glGetTextureParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glGetTextureParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureParameterfvEXT, .-glGetTextureParameterfvEXT
+
+ .align 2
+ .global glGetPathMetricsNV
+ .type glGetPathMetricsNV, %function
+glGetPathMetricsNV:
+ adrp x16, :got:__blue_glCore_glGetPathMetricsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathMetricsNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathMetricsNV, .-glGetPathMetricsNV
+
+ .align 2
+ .global glGetFloatv
+ .type glGetFloatv, %function
+glGetFloatv:
+ adrp x16, :got:__blue_glCore_glGetFloatv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFloatv]
+ ldr x16, [x16]
+ br x16
+ .size glGetFloatv, .-glGetFloatv
+
+ .align 2
+ .global glMatrixLoad3x3fNV
+ .type glMatrixLoad3x3fNV, %function
+glMatrixLoad3x3fNV:
+ adrp x16, :got:__blue_glCore_glMatrixLoad3x3fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixLoad3x3fNV]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixLoad3x3fNV, .-glMatrixLoad3x3fNV
+
+ .align 2
+ .global glMultiTexCoord2fARB
+ .type glMultiTexCoord2fARB, %function
+glMultiTexCoord2fARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2fARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2fARB, .-glMultiTexCoord2fARB
+
+ .align 2
+ .global glWeightdvARB
+ .type glWeightdvARB, %function
+glWeightdvARB:
+ adrp x16, :got:__blue_glCore_glWeightdvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWeightdvARB]
+ ldr x16, [x16]
+ br x16
+ .size glWeightdvARB, .-glWeightdvARB
+
+ .align 2
+ .global glIsTransformFeedbackNV
+ .type glIsTransformFeedbackNV, %function
+glIsTransformFeedbackNV:
+ adrp x16, :got:__blue_glCore_glIsTransformFeedbackNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsTransformFeedbackNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsTransformFeedbackNV, .-glIsTransformFeedbackNV
+
+ .align 2
+ .global glVertexAttribDivisorARB
+ .type glVertexAttribDivisorARB, %function
+glVertexAttribDivisorARB:
+ adrp x16, :got:__blue_glCore_glVertexAttribDivisorARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribDivisorARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribDivisorARB, .-glVertexAttribDivisorARB
+
+ .align 2
+ .global glSecondaryColorP3uiv
+ .type glSecondaryColorP3uiv, %function
+glSecondaryColorP3uiv:
+ adrp x16, :got:__blue_glCore_glSecondaryColorP3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColorP3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColorP3uiv, .-glSecondaryColorP3uiv
+
+ .align 2
+ .global glGetnCompressedTexImageARB
+ .type glGetnCompressedTexImageARB, %function
+glGetnCompressedTexImageARB:
+ adrp x16, :got:__blue_glCore_glGetnCompressedTexImageARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnCompressedTexImageARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnCompressedTexImageARB, .-glGetnCompressedTexImageARB
+
+ .align 2
+ .global glGetIntegerv
+ .type glGetIntegerv, %function
+glGetIntegerv:
+ adrp x16, :got:__blue_glCore_glGetIntegerv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetIntegerv]
+ ldr x16, [x16]
+ br x16
+ .size glGetIntegerv, .-glGetIntegerv
+
+ .align 2
+ .global glMatrixLoaddEXT
+ .type glMatrixLoaddEXT, %function
+glMatrixLoaddEXT:
+ adrp x16, :got:__blue_glCore_glMatrixLoaddEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixLoaddEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixLoaddEXT, .-glMatrixLoaddEXT
+
+ .align 2
+ .global glGetPathLengthNV
+ .type glGetPathLengthNV, %function
+glGetPathLengthNV:
+ adrp x16, :got:__blue_glCore_glGetPathLengthNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathLengthNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathLengthNV, .-glGetPathLengthNV
+
+ .align 2
+ .global glProgramUniformMatrix3dv
+ .type glProgramUniformMatrix3dv, %function
+glProgramUniformMatrix3dv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3dv, .-glProgramUniformMatrix3dv
+
+ .align 2
+ .global glUniform4i64NV
+ .type glUniform4i64NV, %function
+glUniform4i64NV:
+ adrp x16, :got:__blue_glCore_glUniform4i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4i64NV, .-glUniform4i64NV
+
+ .align 2
+ .global glGetHistogramEXT
+ .type glGetHistogramEXT, %function
+glGetHistogramEXT:
+ adrp x16, :got:__blue_glCore_glGetHistogramEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetHistogramEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetHistogramEXT, .-glGetHistogramEXT
+
+ .align 2
+ .global glVertexAttrib4NuivARB
+ .type glVertexAttrib4NuivARB, %function
+glVertexAttrib4NuivARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4NuivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4NuivARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4NuivARB, .-glVertexAttrib4NuivARB
+
+ .align 2
+ .global glMapGrid2xOES
+ .type glMapGrid2xOES, %function
+glMapGrid2xOES:
+ adrp x16, :got:__blue_glCore_glMapGrid2xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapGrid2xOES]
+ ldr x16, [x16]
+ br x16
+ .size glMapGrid2xOES, .-glMapGrid2xOES
+
+ .align 2
+ .global glTexImage2D
+ .type glTexImage2D, %function
+glTexImage2D:
+ adrp x16, :got:__blue_glCore_glTexImage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexImage2D]
+ ldr x16, [x16]
+ br x16
+ .size glTexImage2D, .-glTexImage2D
+
+ .align 2
+ .global glWindowPos2fvARB
+ .type glWindowPos2fvARB, %function
+glWindowPos2fvARB:
+ adrp x16, :got:__blue_glCore_glWindowPos2fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2fvARB, .-glWindowPos2fvARB
+
+ .align 2
+ .global glEnableIndexedEXT
+ .type glEnableIndexedEXT, %function
+glEnableIndexedEXT:
+ adrp x16, :got:__blue_glCore_glEnableIndexedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnableIndexedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glEnableIndexedEXT, .-glEnableIndexedEXT
+
+ .align 2
+ .global glTexCoord1bvOES
+ .type glTexCoord1bvOES, %function
+glTexCoord1bvOES:
+ adrp x16, :got:__blue_glCore_glTexCoord1bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord1bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord1bvOES, .-glTexCoord1bvOES
+
+ .align 2
+ .global glUniform2uiEXT
+ .type glUniform2uiEXT, %function
+glUniform2uiEXT:
+ adrp x16, :got:__blue_glCore_glUniform2uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2uiEXT, .-glUniform2uiEXT
+
+ .align 2
+ .global glReplacementCodePointerSUN
+ .type glReplacementCodePointerSUN, %function
+glReplacementCodePointerSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodePointerSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodePointerSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodePointerSUN, .-glReplacementCodePointerSUN
+
+ .align 2
+ .global glMultiTexCoord1fARB
+ .type glMultiTexCoord1fARB, %function
+glMultiTexCoord1fARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1fARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1fARB, .-glMultiTexCoord1fARB
+
+ .align 2
+ .global glVertexAttrib4Nubv
+ .type glVertexAttrib4Nubv, %function
+glVertexAttrib4Nubv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4Nubv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4Nubv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4Nubv, .-glVertexAttrib4Nubv
+
+ .align 2
+ .global glVertexArrayVertexAttribIOffsetEXT
+ .type glVertexArrayVertexAttribIOffsetEXT, %function
+glVertexArrayVertexAttribIOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexAttribIOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexAttribIOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexAttribIOffsetEXT, .-glVertexArrayVertexAttribIOffsetEXT
+
+ .align 2
+ .global glCompileShaderARB
+ .type glCompileShaderARB, %function
+glCompileShaderARB:
+ adrp x16, :got:__blue_glCore_glCompileShaderARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompileShaderARB]
+ ldr x16, [x16]
+ br x16
+ .size glCompileShaderARB, .-glCompileShaderARB
+
+ .align 2
+ .global glWindowPos3dMESA
+ .type glWindowPos3dMESA, %function
+glWindowPos3dMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos3dMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3dMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3dMESA, .-glWindowPos3dMESA
+
+ .align 2
+ .global glNormalStream3fvATI
+ .type glNormalStream3fvATI, %function
+glNormalStream3fvATI:
+ adrp x16, :got:__blue_glCore_glNormalStream3fvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalStream3fvATI]
+ ldr x16, [x16]
+ br x16
+ .size glNormalStream3fvATI, .-glNormalStream3fvATI
+
+ .align 2
+ .global glUniform4ui64ARB
+ .type glUniform4ui64ARB, %function
+glUniform4ui64ARB:
+ adrp x16, :got:__blue_glCore_glUniform4ui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4ui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4ui64ARB, .-glUniform4ui64ARB
+
+ .align 2
+ .global glTextureRenderbufferEXT
+ .type glTextureRenderbufferEXT, %function
+glTextureRenderbufferEXT:
+ adrp x16, :got:__blue_glCore_glTextureRenderbufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureRenderbufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureRenderbufferEXT, .-glTextureRenderbufferEXT
+
+ .align 2
+ .global glGetSubroutineUniformLocation
+ .type glGetSubroutineUniformLocation, %function
+glGetSubroutineUniformLocation:
+ adrp x16, :got:__blue_glCore_glGetSubroutineUniformLocation
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetSubroutineUniformLocation]
+ ldr x16, [x16]
+ br x16
+ .size glGetSubroutineUniformLocation, .-glGetSubroutineUniformLocation
+
+ .align 2
+ .global glGetFramebufferParameteriv
+ .type glGetFramebufferParameteriv, %function
+glGetFramebufferParameteriv:
+ adrp x16, :got:__blue_glCore_glGetFramebufferParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFramebufferParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetFramebufferParameteriv, .-glGetFramebufferParameteriv
+
+ .align 2
+ .global glGetSamplerParameteriv
+ .type glGetSamplerParameteriv, %function
+glGetSamplerParameteriv:
+ adrp x16, :got:__blue_glCore_glGetSamplerParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetSamplerParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetSamplerParameteriv, .-glGetSamplerParameteriv
+
+ .align 2
+ .global glVertexStream2fvATI
+ .type glVertexStream2fvATI, %function
+glVertexStream2fvATI:
+ adrp x16, :got:__blue_glCore_glVertexStream2fvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream2fvATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream2fvATI, .-glVertexStream2fvATI
+
+ .align 2
+ .global glProgramUniformMatrix3dvEXT
+ .type glProgramUniformMatrix3dvEXT, %function
+glProgramUniformMatrix3dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3dvEXT, .-glProgramUniformMatrix3dvEXT
+
+ .align 2
+ .global glSeparableFilter2D
+ .type glSeparableFilter2D, %function
+glSeparableFilter2D:
+ adrp x16, :got:__blue_glCore_glSeparableFilter2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSeparableFilter2D]
+ ldr x16, [x16]
+ br x16
+ .size glSeparableFilter2D, .-glSeparableFilter2D
+
+ .align 2
+ .global glVertexAttribI1uiv
+ .type glVertexAttribI1uiv, %function
+glVertexAttribI1uiv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI1uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI1uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI1uiv, .-glVertexAttribI1uiv
+
+ .align 2
+ .global glReplacementCodeuivSUN
+ .type glReplacementCodeuivSUN, %function
+glReplacementCodeuivSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuivSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuivSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuivSUN, .-glReplacementCodeuivSUN
+
+ .align 2
+ .global glVertexAttribI3uiEXT
+ .type glVertexAttribI3uiEXT, %function
+glVertexAttribI3uiEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI3uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI3uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI3uiEXT, .-glVertexAttribI3uiEXT
+
+ .align 2
+ .global glVertexAttribL4dvEXT
+ .type glVertexAttribL4dvEXT, %function
+glVertexAttribL4dvEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribL4dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL4dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL4dvEXT, .-glVertexAttribL4dvEXT
+
+ .align 2
+ .global glGetActiveUniform
+ .type glGetActiveUniform, %function
+glGetActiveUniform:
+ adrp x16, :got:__blue_glCore_glGetActiveUniform
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveUniform]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveUniform, .-glGetActiveUniform
+
+ .align 2
+ .global glUniform2ui64vARB
+ .type glUniform2ui64vARB, %function
+glUniform2ui64vARB:
+ adrp x16, :got:__blue_glCore_glUniform2ui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2ui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2ui64vARB, .-glUniform2ui64vARB
+
+ .align 2
+ .global glMakeNamedBufferResidentNV
+ .type glMakeNamedBufferResidentNV, %function
+glMakeNamedBufferResidentNV:
+ adrp x16, :got:__blue_glCore_glMakeNamedBufferResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeNamedBufferResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glMakeNamedBufferResidentNV, .-glMakeNamedBufferResidentNV
+
+ .align 2
+ .global glPathGlyphIndexRangeNV
+ .type glPathGlyphIndexRangeNV, %function
+glPathGlyphIndexRangeNV:
+ adrp x16, :got:__blue_glCore_glPathGlyphIndexRangeNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathGlyphIndexRangeNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathGlyphIndexRangeNV, .-glPathGlyphIndexRangeNV
+
+ .align 2
+ .global glEnableVertexAttribAPPLE
+ .type glEnableVertexAttribAPPLE, %function
+glEnableVertexAttribAPPLE:
+ adrp x16, :got:__blue_glCore_glEnableVertexAttribAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnableVertexAttribAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glEnableVertexAttribAPPLE, .-glEnableVertexAttribAPPLE
+
+ .align 2
+ .global glProgramEnvParameterI4ivNV
+ .type glProgramEnvParameterI4ivNV, %function
+glProgramEnvParameterI4ivNV:
+ adrp x16, :got:__blue_glCore_glProgramEnvParameterI4ivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParameterI4ivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParameterI4ivNV, .-glProgramEnvParameterI4ivNV
+
+ .align 2
+ .global glMultiTexParameterfEXT
+ .type glMultiTexParameterfEXT, %function
+glMultiTexParameterfEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexParameterfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexParameterfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexParameterfEXT, .-glMultiTexParameterfEXT
+
+ .align 2
+ .global glNamedFramebufferTextureLayer
+ .type glNamedFramebufferTextureLayer, %function
+glNamedFramebufferTextureLayer:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferTextureLayer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferTextureLayer]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferTextureLayer, .-glNamedFramebufferTextureLayer
+
+ .align 2
+ .global glGetVertexArrayIntegervEXT
+ .type glGetVertexArrayIntegervEXT, %function
+glGetVertexArrayIntegervEXT:
+ adrp x16, :got:__blue_glCore_glGetVertexArrayIntegervEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexArrayIntegervEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexArrayIntegervEXT, .-glGetVertexArrayIntegervEXT
+
+ .align 2
+ .global glVertexAttrib3dARB
+ .type glVertexAttrib3dARB, %function
+glVertexAttrib3dARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3dARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3dARB, .-glVertexAttrib3dARB
+
+ .align 2
+ .global glVDPAUIsSurfaceNV
+ .type glVDPAUIsSurfaceNV, %function
+glVDPAUIsSurfaceNV:
+ adrp x16, :got:__blue_glCore_glVDPAUIsSurfaceNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVDPAUIsSurfaceNV]
+ ldr x16, [x16]
+ br x16
+ .size glVDPAUIsSurfaceNV, .-glVDPAUIsSurfaceNV
+
+ .align 2
+ .global glSecondaryColor3sv
+ .type glSecondaryColor3sv, %function
+glSecondaryColor3sv:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3sv]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3sv, .-glSecondaryColor3sv
+
+ .align 2
+ .global glIsAsyncMarkerSGIX
+ .type glIsAsyncMarkerSGIX, %function
+glIsAsyncMarkerSGIX:
+ adrp x16, :got:__blue_glCore_glIsAsyncMarkerSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsAsyncMarkerSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glIsAsyncMarkerSGIX, .-glIsAsyncMarkerSGIX
+
+ .align 2
+ .global glFragmentMaterialfvSGIX
+ .type glFragmentMaterialfvSGIX, %function
+glFragmentMaterialfvSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentMaterialfvSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentMaterialfvSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentMaterialfvSGIX, .-glFragmentMaterialfvSGIX
+
+ .align 2
+ .global glCreatePerfQueryINTEL
+ .type glCreatePerfQueryINTEL, %function
+glCreatePerfQueryINTEL:
+ adrp x16, :got:__blue_glCore_glCreatePerfQueryINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreatePerfQueryINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glCreatePerfQueryINTEL, .-glCreatePerfQueryINTEL
+
+ .align 2
+ .global glIsCommandListNV
+ .type glIsCommandListNV, %function
+glIsCommandListNV:
+ adrp x16, :got:__blue_glCore_glIsCommandListNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsCommandListNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsCommandListNV, .-glIsCommandListNV
+
+ .align 2
+ .global glConvolutionParameteriEXT
+ .type glConvolutionParameteriEXT, %function
+glConvolutionParameteriEXT:
+ adrp x16, :got:__blue_glCore_glConvolutionParameteriEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionParameteriEXT]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionParameteriEXT, .-glConvolutionParameteriEXT
+
+ .align 2
+ .global glTexParameterIuivEXT
+ .type glTexParameterIuivEXT, %function
+glTexParameterIuivEXT:
+ adrp x16, :got:__blue_glCore_glTexParameterIuivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexParameterIuivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTexParameterIuivEXT, .-glTexParameterIuivEXT
+
+ .align 2
+ .global glMinSampleShading
+ .type glMinSampleShading, %function
+glMinSampleShading:
+ adrp x16, :got:__blue_glCore_glMinSampleShading
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMinSampleShading]
+ ldr x16, [x16]
+ br x16
+ .size glMinSampleShading, .-glMinSampleShading
+
+ .align 2
+ .global glVertexAttribL3dEXT
+ .type glVertexAttribL3dEXT, %function
+glVertexAttribL3dEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribL3dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL3dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL3dEXT, .-glVertexAttribL3dEXT
+
+ .align 2
+ .global glFramebufferRenderbuffer
+ .type glFramebufferRenderbuffer, %function
+glFramebufferRenderbuffer:
+ adrp x16, :got:__blue_glCore_glFramebufferRenderbuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferRenderbuffer]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferRenderbuffer, .-glFramebufferRenderbuffer
+
+ .align 2
+ .global glGetUniformLocationARB
+ .type glGetUniformLocationARB, %function
+glGetUniformLocationARB:
+ adrp x16, :got:__blue_glCore_glGetUniformLocationARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformLocationARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformLocationARB, .-glGetUniformLocationARB
+
+ .align 2
+ .global glPathParameterfvNV
+ .type glPathParameterfvNV, %function
+glPathParameterfvNV:
+ adrp x16, :got:__blue_glCore_glPathParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathParameterfvNV, .-glPathParameterfvNV
+
+ .align 2
+ .global glVertexAttrib3sNV
+ .type glVertexAttrib3sNV, %function
+glVertexAttrib3sNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3sNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3sNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3sNV, .-glVertexAttrib3sNV
+
+ .align 2
+ .global glGetDoublei_v
+ .type glGetDoublei_v, %function
+glGetDoublei_v:
+ adrp x16, :got:__blue_glCore_glGetDoublei_v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetDoublei_v]
+ ldr x16, [x16]
+ br x16
+ .size glGetDoublei_v, .-glGetDoublei_v
+
+ .align 2
+ .global glVertexAttrib1sv
+ .type glVertexAttrib1sv, %function
+glVertexAttrib1sv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1sv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1sv, .-glVertexAttrib1sv
+
+ .align 2
+ .global glBindSampler
+ .type glBindSampler, %function
+glBindSampler:
+ adrp x16, :got:__blue_glCore_glBindSampler
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindSampler]
+ ldr x16, [x16]
+ br x16
+ .size glBindSampler, .-glBindSampler
+
+ .align 2
+ .global glLineWidth
+ .type glLineWidth, %function
+glLineWidth:
+ adrp x16, :got:__blue_glCore_glLineWidth
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLineWidth]
+ ldr x16, [x16]
+ br x16
+ .size glLineWidth, .-glLineWidth
+
+ .align 2
+ .global glVertexArrayRangeAPPLE
+ .type glVertexArrayRangeAPPLE, %function
+glVertexArrayRangeAPPLE:
+ adrp x16, :got:__blue_glCore_glVertexArrayRangeAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayRangeAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayRangeAPPLE, .-glVertexArrayRangeAPPLE
+
+ .align 2
+ .global glBindBufferOffsetEXT
+ .type glBindBufferOffsetEXT, %function
+glBindBufferOffsetEXT:
+ adrp x16, :got:__blue_glCore_glBindBufferOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBufferOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindBufferOffsetEXT, .-glBindBufferOffsetEXT
+
+ .align 2
+ .global glWeightfvARB
+ .type glWeightfvARB, %function
+glWeightfvARB:
+ adrp x16, :got:__blue_glCore_glWeightfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWeightfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glWeightfvARB, .-glWeightfvARB
+
+ .align 2
+ .global glGetIntegeri_v
+ .type glGetIntegeri_v, %function
+glGetIntegeri_v:
+ adrp x16, :got:__blue_glCore_glGetIntegeri_v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetIntegeri_v]
+ ldr x16, [x16]
+ br x16
+ .size glGetIntegeri_v, .-glGetIntegeri_v
+
+ .align 2
+ .global glGetTransformFeedbackVarying
+ .type glGetTransformFeedbackVarying, %function
+glGetTransformFeedbackVarying:
+ adrp x16, :got:__blue_glCore_glGetTransformFeedbackVarying
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTransformFeedbackVarying]
+ ldr x16, [x16]
+ br x16
+ .size glGetTransformFeedbackVarying, .-glGetTransformFeedbackVarying
+
+ .align 2
+ .global glVDPAUMapSurfacesNV
+ .type glVDPAUMapSurfacesNV, %function
+glVDPAUMapSurfacesNV:
+ adrp x16, :got:__blue_glCore_glVDPAUMapSurfacesNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVDPAUMapSurfacesNV]
+ ldr x16, [x16]
+ br x16
+ .size glVDPAUMapSurfacesNV, .-glVDPAUMapSurfacesNV
+
+ .align 2
+ .global glProgramLocalParameter4fvARB
+ .type glProgramLocalParameter4fvARB, %function
+glProgramLocalParameter4fvARB:
+ adrp x16, :got:__blue_glCore_glProgramLocalParameter4fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParameter4fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParameter4fvARB, .-glProgramLocalParameter4fvARB
+
+ .align 2
+ .global glGetTransformFeedbackVaryingNV
+ .type glGetTransformFeedbackVaryingNV, %function
+glGetTransformFeedbackVaryingNV:
+ adrp x16, :got:__blue_glCore_glGetTransformFeedbackVaryingNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTransformFeedbackVaryingNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetTransformFeedbackVaryingNV, .-glGetTransformFeedbackVaryingNV
+
+ .align 2
+ .global glDeleteNamesAMD
+ .type glDeleteNamesAMD, %function
+glDeleteNamesAMD:
+ adrp x16, :got:__blue_glCore_glDeleteNamesAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteNamesAMD]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteNamesAMD, .-glDeleteNamesAMD
+
+ .align 2
+ .global glColorFragmentOp2ATI
+ .type glColorFragmentOp2ATI, %function
+glColorFragmentOp2ATI:
+ adrp x16, :got:__blue_glCore_glColorFragmentOp2ATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorFragmentOp2ATI]
+ ldr x16, [x16]
+ br x16
+ .size glColorFragmentOp2ATI, .-glColorFragmentOp2ATI
+
+ .align 2
+ .global glGetTextureHandleNV
+ .type glGetTextureHandleNV, %function
+glGetTextureHandleNV:
+ adrp x16, :got:__blue_glCore_glGetTextureHandleNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureHandleNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureHandleNV, .-glGetTextureHandleNV
+
+ .align 2
+ .global glDepthRangef
+ .type glDepthRangef, %function
+glDepthRangef:
+ adrp x16, :got:__blue_glCore_glDepthRangef
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthRangef]
+ ldr x16, [x16]
+ br x16
+ .size glDepthRangef, .-glDepthRangef
+
+ .align 2
+ .global glGetFragmentMaterialivSGIX
+ .type glGetFragmentMaterialivSGIX, %function
+glGetFragmentMaterialivSGIX:
+ adrp x16, :got:__blue_glCore_glGetFragmentMaterialivSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFragmentMaterialivSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glGetFragmentMaterialivSGIX, .-glGetFragmentMaterialivSGIX
+
+ .align 2
+ .global glVideoCaptureStreamParameterfvNV
+ .type glVideoCaptureStreamParameterfvNV, %function
+glVideoCaptureStreamParameterfvNV:
+ adrp x16, :got:__blue_glCore_glVideoCaptureStreamParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVideoCaptureStreamParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVideoCaptureStreamParameterfvNV, .-glVideoCaptureStreamParameterfvNV
+
+ .align 2
+ .global glDeleteProgramsARB
+ .type glDeleteProgramsARB, %function
+glDeleteProgramsARB:
+ adrp x16, :got:__blue_glCore_glDeleteProgramsARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteProgramsARB]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteProgramsARB, .-glDeleteProgramsARB
+
+ .align 2
+ .global glWindowPos3fvARB
+ .type glWindowPos3fvARB, %function
+glWindowPos3fvARB:
+ adrp x16, :got:__blue_glCore_glWindowPos3fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3fvARB, .-glWindowPos3fvARB
+
+ .align 2
+ .global glFeedbackBufferxOES
+ .type glFeedbackBufferxOES, %function
+glFeedbackBufferxOES:
+ adrp x16, :got:__blue_glCore_glFeedbackBufferxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFeedbackBufferxOES]
+ ldr x16, [x16]
+ br x16
+ .size glFeedbackBufferxOES, .-glFeedbackBufferxOES
+
+ .align 2
+ .global glGetTexBumpParameterfvATI
+ .type glGetTexBumpParameterfvATI, %function
+glGetTexBumpParameterfvATI:
+ adrp x16, :got:__blue_glCore_glGetTexBumpParameterfvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexBumpParameterfvATI]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexBumpParameterfvATI, .-glGetTexBumpParameterfvATI
+
+ .align 2
+ .global glEnablei
+ .type glEnablei, %function
+glEnablei:
+ adrp x16, :got:__blue_glCore_glEnablei
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnablei]
+ ldr x16, [x16]
+ br x16
+ .size glEnablei, .-glEnablei
+
+ .align 2
+ .global glBindProgramARB
+ .type glBindProgramARB, %function
+glBindProgramARB:
+ adrp x16, :got:__blue_glCore_glBindProgramARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindProgramARB]
+ ldr x16, [x16]
+ br x16
+ .size glBindProgramARB, .-glBindProgramARB
+
+ .align 2
+ .global glProgramUniform3ui64vARB
+ .type glProgramUniform3ui64vARB, %function
+glProgramUniform3ui64vARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform3ui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3ui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3ui64vARB, .-glProgramUniform3ui64vARB
+
+ .align 2
+ .global glProgramUniformMatrix2dv
+ .type glProgramUniformMatrix2dv, %function
+glProgramUniformMatrix2dv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2dv, .-glProgramUniformMatrix2dv
+
+ .align 2
+ .global glMultiTexCoord2hvNV
+ .type glMultiTexCoord2hvNV, %function
+glMultiTexCoord2hvNV:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2hvNV, .-glMultiTexCoord2hvNV
+
+ .align 2
+ .global glSampleCoverageARB
+ .type glSampleCoverageARB, %function
+glSampleCoverageARB:
+ adrp x16, :got:__blue_glCore_glSampleCoverageARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSampleCoverageARB]
+ ldr x16, [x16]
+ br x16
+ .size glSampleCoverageARB, .-glSampleCoverageARB
+
+ .align 2
+ .global glProgramUniform2ui64vARB
+ .type glProgramUniform2ui64vARB, %function
+glProgramUniform2ui64vARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform2ui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2ui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2ui64vARB, .-glProgramUniform2ui64vARB
+
+ .align 2
+ .global glPixelDataRangeNV
+ .type glPixelDataRangeNV, %function
+glPixelDataRangeNV:
+ adrp x16, :got:__blue_glCore_glPixelDataRangeNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelDataRangeNV]
+ ldr x16, [x16]
+ br x16
+ .size glPixelDataRangeNV, .-glPixelDataRangeNV
+
+ .align 2
+ .global glVertexStream3svATI
+ .type glVertexStream3svATI, %function
+glVertexStream3svATI:
+ adrp x16, :got:__blue_glCore_glVertexStream3svATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream3svATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream3svATI, .-glVertexStream3svATI
+
+ .align 2
+ .global glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN
+ .type glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, %function
+glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, .-glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN
+
+ .align 2
+ .global glTexCoord3hvNV
+ .type glTexCoord3hvNV, %function
+glTexCoord3hvNV:
+ adrp x16, :got:__blue_glCore_glTexCoord3hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord3hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord3hvNV, .-glTexCoord3hvNV
+
+ .align 2
+ .global glSampleMaski
+ .type glSampleMaski, %function
+glSampleMaski:
+ adrp x16, :got:__blue_glCore_glSampleMaski
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSampleMaski]
+ ldr x16, [x16]
+ br x16
+ .size glSampleMaski, .-glSampleMaski
+
+ .align 2
+ .global glIndexFuncEXT
+ .type glIndexFuncEXT, %function
+glIndexFuncEXT:
+ adrp x16, :got:__blue_glCore_glIndexFuncEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIndexFuncEXT]
+ ldr x16, [x16]
+ br x16
+ .size glIndexFuncEXT, .-glIndexFuncEXT
+
+ .align 2
+ .global glPointParameteriNV
+ .type glPointParameteriNV, %function
+glPointParameteriNV:
+ adrp x16, :got:__blue_glCore_glPointParameteriNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameteriNV]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameteriNV, .-glPointParameteriNV
+
+ .align 2
+ .global glUniformMatrix3x2fv
+ .type glUniformMatrix3x2fv, %function
+glUniformMatrix3x2fv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix3x2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix3x2fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix3x2fv, .-glUniformMatrix3x2fv
+
+ .align 2
+ .global glGetFramebufferParameterivEXT
+ .type glGetFramebufferParameterivEXT, %function
+glGetFramebufferParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetFramebufferParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFramebufferParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetFramebufferParameterivEXT, .-glGetFramebufferParameterivEXT
+
+ .align 2
+ .global glTexSubImage3D
+ .type glTexSubImage3D, %function
+glTexSubImage3D:
+ adrp x16, :got:__blue_glCore_glTexSubImage3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexSubImage3D]
+ ldr x16, [x16]
+ br x16
+ .size glTexSubImage3D, .-glTexSubImage3D
+
+ .align 2
+ .global glGetInternalformativ
+ .type glGetInternalformativ, %function
+glGetInternalformativ:
+ adrp x16, :got:__blue_glCore_glGetInternalformativ
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetInternalformativ]
+ ldr x16, [x16]
+ br x16
+ .size glGetInternalformativ, .-glGetInternalformativ
+
+ .align 2
+ .global glNamedFramebufferTexture3DEXT
+ .type glNamedFramebufferTexture3DEXT, %function
+glNamedFramebufferTexture3DEXT:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferTexture3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferTexture3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferTexture3DEXT, .-glNamedFramebufferTexture3DEXT
+
+ .align 2
+ .global glVertexAttrib2dv
+ .type glVertexAttrib2dv, %function
+glVertexAttrib2dv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2dv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2dv, .-glVertexAttrib2dv
+
+ .align 2
+ .global glVariantubvEXT
+ .type glVariantubvEXT, %function
+glVariantubvEXT:
+ adrp x16, :got:__blue_glCore_glVariantubvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVariantubvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVariantubvEXT, .-glVariantubvEXT
+
+ .align 2
+ .global glUniformMatrix3x4fv
+ .type glUniformMatrix3x4fv, %function
+glUniformMatrix3x4fv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix3x4fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix3x4fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix3x4fv, .-glUniformMatrix3x4fv
+
+ .align 2
+ .global glProgramUniformMatrix3fvEXT
+ .type glProgramUniformMatrix3fvEXT, %function
+glProgramUniformMatrix3fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3fvEXT, .-glProgramUniformMatrix3fvEXT
+
+ .align 2
+ .global glEnableVertexArrayEXT
+ .type glEnableVertexArrayEXT, %function
+glEnableVertexArrayEXT:
+ adrp x16, :got:__blue_glCore_glEnableVertexArrayEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnableVertexArrayEXT]
+ ldr x16, [x16]
+ br x16
+ .size glEnableVertexArrayEXT, .-glEnableVertexArrayEXT
+
+ .align 2
+ .global glColorTableParameterfvSGI
+ .type glColorTableParameterfvSGI, %function
+glColorTableParameterfvSGI:
+ adrp x16, :got:__blue_glCore_glColorTableParameterfvSGI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorTableParameterfvSGI]
+ ldr x16, [x16]
+ br x16
+ .size glColorTableParameterfvSGI, .-glColorTableParameterfvSGI
+
+ .align 2
+ .global glFogCoordf
+ .type glFogCoordf, %function
+glFogCoordf:
+ adrp x16, :got:__blue_glCore_glFogCoordf
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordf]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordf, .-glFogCoordf
+
+ .align 2
+ .global glSpriteParameterivSGIX
+ .type glSpriteParameterivSGIX, %function
+glSpriteParameterivSGIX:
+ adrp x16, :got:__blue_glCore_glSpriteParameterivSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSpriteParameterivSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glSpriteParameterivSGIX, .-glSpriteParameterivSGIX
+
+ .align 2
+ .global glGetColorTable
+ .type glGetColorTable, %function
+glGetColorTable:
+ adrp x16, :got:__blue_glCore_glGetColorTable
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetColorTable]
+ ldr x16, [x16]
+ br x16
+ .size glGetColorTable, .-glGetColorTable
+
+ .align 2
+ .global glMultiTexCoord4ivARB
+ .type glMultiTexCoord4ivARB, %function
+glMultiTexCoord4ivARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4ivARB, .-glMultiTexCoord4ivARB
+
+ .align 2
+ .global glTexCoordP2ui
+ .type glTexCoordP2ui, %function
+glTexCoordP2ui:
+ adrp x16, :got:__blue_glCore_glTexCoordP2ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordP2ui]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordP2ui, .-glTexCoordP2ui
+
+ .align 2
+ .global glColorMaski
+ .type glColorMaski, %function
+glColorMaski:
+ adrp x16, :got:__blue_glCore_glColorMaski
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorMaski]
+ ldr x16, [x16]
+ br x16
+ .size glColorMaski, .-glColorMaski
+
+ .align 2
+ .global glPrimitiveRestartIndexNV
+ .type glPrimitiveRestartIndexNV, %function
+glPrimitiveRestartIndexNV:
+ adrp x16, :got:__blue_glCore_glPrimitiveRestartIndexNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPrimitiveRestartIndexNV]
+ ldr x16, [x16]
+ br x16
+ .size glPrimitiveRestartIndexNV, .-glPrimitiveRestartIndexNV
+
+ .align 2
+ .global glFragmentLightfvSGIX
+ .type glFragmentLightfvSGIX, %function
+glFragmentLightfvSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentLightfvSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentLightfvSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentLightfvSGIX, .-glFragmentLightfvSGIX
+
+ .align 2
+ .global glTexCoordPointerListIBM
+ .type glTexCoordPointerListIBM, %function
+glTexCoordPointerListIBM:
+ adrp x16, :got:__blue_glCore_glTexCoordPointerListIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordPointerListIBM]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordPointerListIBM, .-glTexCoordPointerListIBM
+
+ .align 2
+ .global glRectxOES
+ .type glRectxOES, %function
+glRectxOES:
+ adrp x16, :got:__blue_glCore_glRectxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRectxOES]
+ ldr x16, [x16]
+ br x16
+ .size glRectxOES, .-glRectxOES
+
+ .align 2
+ .global glCopyNamedBufferSubData
+ .type glCopyNamedBufferSubData, %function
+glCopyNamedBufferSubData:
+ adrp x16, :got:__blue_glCore_glCopyNamedBufferSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyNamedBufferSubData]
+ ldr x16, [x16]
+ br x16
+ .size glCopyNamedBufferSubData, .-glCopyNamedBufferSubData
+
+ .align 2
+ .global glGenProgramsNV
+ .type glGenProgramsNV, %function
+glGenProgramsNV:
+ adrp x16, :got:__blue_glCore_glGenProgramsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenProgramsNV]
+ ldr x16, [x16]
+ br x16
+ .size glGenProgramsNV, .-glGenProgramsNV
+
+ .align 2
+ .global glFragmentLightfSGIX
+ .type glFragmentLightfSGIX, %function
+glFragmentLightfSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentLightfSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentLightfSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentLightfSGIX, .-glFragmentLightfSGIX
+
+ .align 2
+ .global glTexStorage3D
+ .type glTexStorage3D, %function
+glTexStorage3D:
+ adrp x16, :got:__blue_glCore_glTexStorage3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexStorage3D]
+ ldr x16, [x16]
+ br x16
+ .size glTexStorage3D, .-glTexStorage3D
+
+ .align 2
+ .global glTextureParameteriv
+ .type glTextureParameteriv, %function
+glTextureParameteriv:
+ adrp x16, :got:__blue_glCore_glTextureParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameteriv, .-glTextureParameteriv
+
+ .align 2
+ .global glNamedBufferDataEXT
+ .type glNamedBufferDataEXT, %function
+glNamedBufferDataEXT:
+ adrp x16, :got:__blue_glCore_glNamedBufferDataEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedBufferDataEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedBufferDataEXT, .-glNamedBufferDataEXT
+
+ .align 2
+ .global glMultiTexCoord3fvARB
+ .type glMultiTexCoord3fvARB, %function
+glMultiTexCoord3fvARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3fvARB, .-glMultiTexCoord3fvARB
+
+ .align 2
+ .global glImageTransformParameterivHP
+ .type glImageTransformParameterivHP, %function
+glImageTransformParameterivHP:
+ adrp x16, :got:__blue_glCore_glImageTransformParameterivHP
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glImageTransformParameterivHP]
+ ldr x16, [x16]
+ br x16
+ .size glImageTransformParameterivHP, .-glImageTransformParameterivHP
+
+ .align 2
+ .global glSubpixelPrecisionBiasNV
+ .type glSubpixelPrecisionBiasNV, %function
+glSubpixelPrecisionBiasNV:
+ adrp x16, :got:__blue_glCore_glSubpixelPrecisionBiasNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSubpixelPrecisionBiasNV]
+ ldr x16, [x16]
+ br x16
+ .size glSubpixelPrecisionBiasNV, .-glSubpixelPrecisionBiasNV
+
+ .align 2
+ .global glNamedFramebufferTexture
+ .type glNamedFramebufferTexture, %function
+glNamedFramebufferTexture:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferTexture
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferTexture]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferTexture, .-glNamedFramebufferTexture
+
+ .align 2
+ .global glVertexAttrib4NsvARB
+ .type glVertexAttrib4NsvARB, %function
+glVertexAttrib4NsvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4NsvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4NsvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4NsvARB, .-glVertexAttrib4NsvARB
+
+ .align 2
+ .global glDrawMeshArraysSUN
+ .type glDrawMeshArraysSUN, %function
+glDrawMeshArraysSUN:
+ adrp x16, :got:__blue_glCore_glDrawMeshArraysSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawMeshArraysSUN]
+ ldr x16, [x16]
+ br x16
+ .size glDrawMeshArraysSUN, .-glDrawMeshArraysSUN
+
+ .align 2
+ .global glIsImageHandleResidentARB
+ .type glIsImageHandleResidentARB, %function
+glIsImageHandleResidentARB:
+ adrp x16, :got:__blue_glCore_glIsImageHandleResidentARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsImageHandleResidentARB]
+ ldr x16, [x16]
+ br x16
+ .size glIsImageHandleResidentARB, .-glIsImageHandleResidentARB
+
+ .align 2
+ .global glConvolutionParameterfEXT
+ .type glConvolutionParameterfEXT, %function
+glConvolutionParameterfEXT:
+ adrp x16, :got:__blue_glCore_glConvolutionParameterfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionParameterfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionParameterfEXT, .-glConvolutionParameterfEXT
+
+ .align 2
+ .global glProgramUniformMatrix4x3fv
+ .type glProgramUniformMatrix4x3fv, %function
+glProgramUniformMatrix4x3fv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4x3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4x3fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4x3fv, .-glProgramUniformMatrix4x3fv
+
+ .align 2
+ .global glVertexAttribI4iv
+ .type glVertexAttribI4iv, %function
+glVertexAttribI4iv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4iv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4iv, .-glVertexAttribI4iv
+
+ .align 2
+ .global glFogCoordfvEXT
+ .type glFogCoordfvEXT, %function
+glFogCoordfvEXT:
+ adrp x16, :got:__blue_glCore_glFogCoordfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordfvEXT, .-glFogCoordfvEXT
+
+ .align 2
+ .global glVertexP3ui
+ .type glVertexP3ui, %function
+glVertexP3ui:
+ adrp x16, :got:__blue_glCore_glVertexP3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexP3ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexP3ui, .-glVertexP3ui
+
+ .align 2
+ .global glVertexAttribL3i64NV
+ .type glVertexAttribL3i64NV, %function
+glVertexAttribL3i64NV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL3i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL3i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL3i64NV, .-glVertexAttribL3i64NV
+
+ .align 2
+ .global glStencilClearTagEXT
+ .type glStencilClearTagEXT, %function
+glStencilClearTagEXT:
+ adrp x16, :got:__blue_glCore_glStencilClearTagEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilClearTagEXT]
+ ldr x16, [x16]
+ br x16
+ .size glStencilClearTagEXT, .-glStencilClearTagEXT
+
+ .align 2
+ .global glGetActiveUniformName
+ .type glGetActiveUniformName, %function
+glGetActiveUniformName:
+ adrp x16, :got:__blue_glCore_glGetActiveUniformName
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveUniformName]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveUniformName, .-glGetActiveUniformName
+
+ .align 2
+ .global glMultiTexGendEXT
+ .type glMultiTexGendEXT, %function
+glMultiTexGendEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexGendEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexGendEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexGendEXT, .-glMultiTexGendEXT
+
+ .align 2
+ .global glUniform4ui64vNV
+ .type glUniform4ui64vNV, %function
+glUniform4ui64vNV:
+ adrp x16, :got:__blue_glCore_glUniform4ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4ui64vNV, .-glUniform4ui64vNV
+
+ .align 2
+ .global glDebugMessageEnableAMD
+ .type glDebugMessageEnableAMD, %function
+glDebugMessageEnableAMD:
+ adrp x16, :got:__blue_glCore_glDebugMessageEnableAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDebugMessageEnableAMD]
+ ldr x16, [x16]
+ br x16
+ .size glDebugMessageEnableAMD, .-glDebugMessageEnableAMD
+
+ .align 2
+ .global glGetFramebufferAttachmentParameteriv
+ .type glGetFramebufferAttachmentParameteriv, %function
+glGetFramebufferAttachmentParameteriv:
+ adrp x16, :got:__blue_glCore_glGetFramebufferAttachmentParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFramebufferAttachmentParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetFramebufferAttachmentParameteriv, .-glGetFramebufferAttachmentParameteriv
+
+ .align 2
+ .global glCopyTexSubImage2DEXT
+ .type glCopyTexSubImage2DEXT, %function
+glCopyTexSubImage2DEXT:
+ adrp x16, :got:__blue_glCore_glCopyTexSubImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTexSubImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTexSubImage2DEXT, .-glCopyTexSubImage2DEXT
+
+ .align 2
+ .global glGenRenderbuffersEXT
+ .type glGenRenderbuffersEXT, %function
+glGenRenderbuffersEXT:
+ adrp x16, :got:__blue_glCore_glGenRenderbuffersEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenRenderbuffersEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGenRenderbuffersEXT, .-glGenRenderbuffersEXT
+
+ .align 2
+ .global glNamedProgramLocalParameterI4ivEXT
+ .type glNamedProgramLocalParameterI4ivEXT, %function
+glNamedProgramLocalParameterI4ivEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParameterI4ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParameterI4ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParameterI4ivEXT, .-glNamedProgramLocalParameterI4ivEXT
+
+ .align 2
+ .global glGetMultiTexParameterIuivEXT
+ .type glGetMultiTexParameterIuivEXT, %function
+glGetMultiTexParameterIuivEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexParameterIuivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexParameterIuivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexParameterIuivEXT, .-glGetMultiTexParameterIuivEXT
+
+ .align 2
+ .global glNamedFramebufferDrawBuffer
+ .type glNamedFramebufferDrawBuffer, %function
+glNamedFramebufferDrawBuffer:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferDrawBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferDrawBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferDrawBuffer, .-glNamedFramebufferDrawBuffer
+
+ .align 2
+ .global glTexParameteriv
+ .type glTexParameteriv, %function
+glTexParameteriv:
+ adrp x16, :got:__blue_glCore_glTexParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glTexParameteriv, .-glTexParameteriv
+
+ .align 2
+ .global glUniform4ivARB
+ .type glUniform4ivARB, %function
+glUniform4ivARB:
+ adrp x16, :got:__blue_glCore_glUniform4ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4ivARB, .-glUniform4ivARB
+
+ .align 2
+ .global glMatrixOrthoEXT
+ .type glMatrixOrthoEXT, %function
+glMatrixOrthoEXT:
+ adrp x16, :got:__blue_glCore_glMatrixOrthoEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixOrthoEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixOrthoEXT, .-glMatrixOrthoEXT
+
+ .align 2
+ .global glVertexArrayVertexBuffer
+ .type glVertexArrayVertexBuffer, %function
+glVertexArrayVertexBuffer:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexBuffer, .-glVertexArrayVertexBuffer
+
+ .align 2
+ .global glGetTexImage
+ .type glGetTexImage, %function
+glGetTexImage:
+ adrp x16, :got:__blue_glCore_glGetTexImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexImage]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexImage, .-glGetTexImage
+
+ .align 2
+ .global glProgramUniform4ui64vNV
+ .type glProgramUniform4ui64vNV, %function
+glProgramUniform4ui64vNV:
+ adrp x16, :got:__blue_glCore_glProgramUniform4ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4ui64vNV, .-glProgramUniform4ui64vNV
+
+ .align 2
+ .global glGetNamedStringivARB
+ .type glGetNamedStringivARB, %function
+glGetNamedStringivARB:
+ adrp x16, :got:__blue_glCore_glGetNamedStringivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedStringivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedStringivARB, .-glGetNamedStringivARB
+
+ .align 2
+ .global glVertexAttribL1i64vNV
+ .type glVertexAttribL1i64vNV, %function
+glVertexAttribL1i64vNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL1i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL1i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL1i64vNV, .-glVertexAttribL1i64vNV
+
+ .align 2
+ .global glTransformFeedbackBufferBase
+ .type glTransformFeedbackBufferBase, %function
+glTransformFeedbackBufferBase:
+ adrp x16, :got:__blue_glCore_glTransformFeedbackBufferBase
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTransformFeedbackBufferBase]
+ ldr x16, [x16]
+ br x16
+ .size glTransformFeedbackBufferBase, .-glTransformFeedbackBufferBase
+
+ .align 2
+ .global glPointParameterivNV
+ .type glPointParameterivNV, %function
+glPointParameterivNV:
+ adrp x16, :got:__blue_glCore_glPointParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameterivNV, .-glPointParameterivNV
+
+ .align 2
+ .global glGetDetailTexFuncSGIS
+ .type glGetDetailTexFuncSGIS, %function
+glGetDetailTexFuncSGIS:
+ adrp x16, :got:__blue_glCore_glGetDetailTexFuncSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetDetailTexFuncSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glGetDetailTexFuncSGIS, .-glGetDetailTexFuncSGIS
+
+ .align 2
+ .global glReplacementCodeuiColor3fVertex3fvSUN
+ .type glReplacementCodeuiColor3fVertex3fvSUN, %function
+glReplacementCodeuiColor3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiColor3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiColor3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiColor3fVertex3fvSUN, .-glReplacementCodeuiColor3fVertex3fvSUN
+
+ .align 2
+ .global glProgramLocalParameter4fARB
+ .type glProgramLocalParameter4fARB, %function
+glProgramLocalParameter4fARB:
+ adrp x16, :got:__blue_glCore_glProgramLocalParameter4fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParameter4fARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParameter4fARB, .-glProgramLocalParameter4fARB
+
+ .align 2
+ .global glColorSubTable
+ .type glColorSubTable, %function
+glColorSubTable:
+ adrp x16, :got:__blue_glCore_glColorSubTable
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorSubTable]
+ ldr x16, [x16]
+ br x16
+ .size glColorSubTable, .-glColorSubTable
+
+ .align 2
+ .global glMultiTexGenfvEXT
+ .type glMultiTexGenfvEXT, %function
+glMultiTexGenfvEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexGenfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexGenfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexGenfvEXT, .-glMultiTexGenfvEXT
+
+ .align 2
+ .global glGetNamedBufferSubData
+ .type glGetNamedBufferSubData, %function
+glGetNamedBufferSubData:
+ adrp x16, :got:__blue_glCore_glGetNamedBufferSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedBufferSubData]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedBufferSubData, .-glGetNamedBufferSubData
+
+ .align 2
+ .global glStencilFuncSeparateATI
+ .type glStencilFuncSeparateATI, %function
+glStencilFuncSeparateATI:
+ adrp x16, :got:__blue_glCore_glStencilFuncSeparateATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilFuncSeparateATI]
+ ldr x16, [x16]
+ br x16
+ .size glStencilFuncSeparateATI, .-glStencilFuncSeparateATI
+
+ .align 2
+ .global glProgramUniform2iv
+ .type glProgramUniform2iv, %function
+glProgramUniform2iv:
+ adrp x16, :got:__blue_glCore_glProgramUniform2iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2iv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2iv, .-glProgramUniform2iv
+
+ .align 2
+ .global glGetQueryiv
+ .type glGetQueryiv, %function
+glGetQueryiv:
+ adrp x16, :got:__blue_glCore_glGetQueryiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryiv, .-glGetQueryiv
+
+ .align 2
+ .global glGetTransformFeedbackiv
+ .type glGetTransformFeedbackiv, %function
+glGetTransformFeedbackiv:
+ adrp x16, :got:__blue_glCore_glGetTransformFeedbackiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTransformFeedbackiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTransformFeedbackiv, .-glGetTransformFeedbackiv
+
+ .align 2
+ .global glListParameterivSGIX
+ .type glListParameterivSGIX, %function
+glListParameterivSGIX:
+ adrp x16, :got:__blue_glCore_glListParameterivSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glListParameterivSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glListParameterivSGIX, .-glListParameterivSGIX
+
+ .align 2
+ .global glCreateQueries
+ .type glCreateQueries, %function
+glCreateQueries:
+ adrp x16, :got:__blue_glCore_glCreateQueries
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateQueries]
+ ldr x16, [x16]
+ br x16
+ .size glCreateQueries, .-glCreateQueries
+
+ .align 2
+ .global glGetSamplerParameterfv
+ .type glGetSamplerParameterfv, %function
+glGetSamplerParameterfv:
+ adrp x16, :got:__blue_glCore_glGetSamplerParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetSamplerParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetSamplerParameterfv, .-glGetSamplerParameterfv
+
+ .align 2
+ .global glObjectLabel
+ .type glObjectLabel, %function
+glObjectLabel:
+ adrp x16, :got:__blue_glCore_glObjectLabel
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glObjectLabel]
+ ldr x16, [x16]
+ br x16
+ .size glObjectLabel, .-glObjectLabel
+
+ .align 2
+ .global glProgramUniform3i64NV
+ .type glProgramUniform3i64NV, %function
+glProgramUniform3i64NV:
+ adrp x16, :got:__blue_glCore_glProgramUniform3i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3i64NV, .-glProgramUniform3i64NV
+
+ .align 2
+ .global glGetTextureHandleARB
+ .type glGetTextureHandleARB, %function
+glGetTextureHandleARB:
+ adrp x16, :got:__blue_glCore_glGetTextureHandleARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureHandleARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureHandleARB, .-glGetTextureHandleARB
+
+ .align 2
+ .global glAlphaFragmentOp1ATI
+ .type glAlphaFragmentOp1ATI, %function
+glAlphaFragmentOp1ATI:
+ adrp x16, :got:__blue_glCore_glAlphaFragmentOp1ATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glAlphaFragmentOp1ATI]
+ ldr x16, [x16]
+ br x16
+ .size glAlphaFragmentOp1ATI, .-glAlphaFragmentOp1ATI
+
+ .align 2
+ .global glColorTableParameteriv
+ .type glColorTableParameteriv, %function
+glColorTableParameteriv:
+ adrp x16, :got:__blue_glCore_glColorTableParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorTableParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glColorTableParameteriv, .-glColorTableParameteriv
+
+ .align 2
+ .global glGetUniformIndices
+ .type glGetUniformIndices, %function
+glGetUniformIndices:
+ adrp x16, :got:__blue_glCore_glGetUniformIndices
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformIndices]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformIndices, .-glGetUniformIndices
+
+ .align 2
+ .global glMultiTexImage3DEXT
+ .type glMultiTexImage3DEXT, %function
+glMultiTexImage3DEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexImage3DEXT, .-glMultiTexImage3DEXT
+
+ .align 2
+ .global glCoverageModulationTableNV
+ .type glCoverageModulationTableNV, %function
+glCoverageModulationTableNV:
+ adrp x16, :got:__blue_glCore_glCoverageModulationTableNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCoverageModulationTableNV]
+ ldr x16, [x16]
+ br x16
+ .size glCoverageModulationTableNV, .-glCoverageModulationTableNV
+
+ .align 2
+ .global glPointParameteriv
+ .type glPointParameteriv, %function
+glPointParameteriv:
+ adrp x16, :got:__blue_glCore_glPointParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameteriv, .-glPointParameteriv
+
+ .align 2
+ .global glMultiTexCoord4svARB
+ .type glMultiTexCoord4svARB, %function
+glMultiTexCoord4svARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4svARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4svARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4svARB, .-glMultiTexCoord4svARB
+
+ .align 2
+ .global glProgramUniformMatrix3x4dvEXT
+ .type glProgramUniformMatrix3x4dvEXT, %function
+glProgramUniformMatrix3x4dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3x4dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3x4dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3x4dvEXT, .-glProgramUniformMatrix3x4dvEXT
+
+ .align 2
+ .global glNormal3xvOES
+ .type glNormal3xvOES, %function
+glNormal3xvOES:
+ adrp x16, :got:__blue_glCore_glNormal3xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormal3xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glNormal3xvOES, .-glNormal3xvOES
+
+ .align 2
+ .global glGetActiveVaryingNV
+ .type glGetActiveVaryingNV, %function
+glGetActiveVaryingNV:
+ adrp x16, :got:__blue_glCore_glGetActiveVaryingNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveVaryingNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveVaryingNV, .-glGetActiveVaryingNV
+
+ .align 2
+ .global glUniform1i64vARB
+ .type glUniform1i64vARB, %function
+glUniform1i64vARB:
+ adrp x16, :got:__blue_glCore_glUniform1i64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1i64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1i64vARB, .-glUniform1i64vARB
+
+ .align 2
+ .global glMultiTexCoord1dv
+ .type glMultiTexCoord1dv, %function
+glMultiTexCoord1dv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1dv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1dv, .-glMultiTexCoord1dv
+
+ .align 2
+ .global glSecondaryColor3usv
+ .type glSecondaryColor3usv, %function
+glSecondaryColor3usv:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3usv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3usv]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3usv, .-glSecondaryColor3usv
+
+ .align 2
+ .global glProgramUniform1ui64vNV
+ .type glProgramUniform1ui64vNV, %function
+glProgramUniform1ui64vNV:
+ adrp x16, :got:__blue_glCore_glProgramUniform1ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1ui64vNV, .-glProgramUniform1ui64vNV
+
+ .align 2
+ .global glTextureMaterialEXT
+ .type glTextureMaterialEXT, %function
+glTextureMaterialEXT:
+ adrp x16, :got:__blue_glCore_glTextureMaterialEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureMaterialEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureMaterialEXT, .-glTextureMaterialEXT
+
+ .align 2
+ .global glMultiTexCoordP3uiv
+ .type glMultiTexCoordP3uiv, %function
+glMultiTexCoordP3uiv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoordP3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoordP3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoordP3uiv, .-glMultiTexCoordP3uiv
+
+ .align 2
+ .global glVertexAttribP3ui
+ .type glVertexAttribP3ui, %function
+glVertexAttribP3ui:
+ adrp x16, :got:__blue_glCore_glVertexAttribP3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribP3ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribP3ui, .-glVertexAttribP3ui
+
+ .align 2
+ .global glInterpolatePathsNV
+ .type glInterpolatePathsNV, %function
+glInterpolatePathsNV:
+ adrp x16, :got:__blue_glCore_glInterpolatePathsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInterpolatePathsNV]
+ ldr x16, [x16]
+ br x16
+ .size glInterpolatePathsNV, .-glInterpolatePathsNV
+
+ .align 2
+ .global glTextureBufferRange
+ .type glTextureBufferRange, %function
+glTextureBufferRange:
+ adrp x16, :got:__blue_glCore_glTextureBufferRange
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureBufferRange]
+ ldr x16, [x16]
+ br x16
+ .size glTextureBufferRange, .-glTextureBufferRange
+
+ .align 2
+ .global glGetIntegerui64vNV
+ .type glGetIntegerui64vNV, %function
+glGetIntegerui64vNV:
+ adrp x16, :got:__blue_glCore_glGetIntegerui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetIntegerui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetIntegerui64vNV, .-glGetIntegerui64vNV
+
+ .align 2
+ .global glGetPixelTransformParameterivEXT
+ .type glGetPixelTransformParameterivEXT, %function
+glGetPixelTransformParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetPixelTransformParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPixelTransformParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetPixelTransformParameterivEXT, .-glGetPixelTransformParameterivEXT
+
+ .align 2
+ .global glTexCoord4xvOES
+ .type glTexCoord4xvOES, %function
+glTexCoord4xvOES:
+ adrp x16, :got:__blue_glCore_glTexCoord4xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord4xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord4xvOES, .-glTexCoord4xvOES
+
+ .align 2
+ .global glGetVariantBooleanvEXT
+ .type glGetVariantBooleanvEXT, %function
+glGetVariantBooleanvEXT:
+ adrp x16, :got:__blue_glCore_glGetVariantBooleanvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVariantBooleanvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVariantBooleanvEXT, .-glGetVariantBooleanvEXT
+
+ .align 2
+ .global glDepthRange
+ .type glDepthRange, %function
+glDepthRange:
+ adrp x16, :got:__blue_glCore_glDepthRange
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthRange]
+ ldr x16, [x16]
+ br x16
+ .size glDepthRange, .-glDepthRange
+
+ .align 2
+ .global glGetVertexAttribdvARB
+ .type glGetVertexAttribdvARB, %function
+glGetVertexAttribdvARB:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribdvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribdvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribdvARB, .-glGetVertexAttribdvARB
+
+ .align 2
+ .global glProgramUniform4i64vNV
+ .type glProgramUniform4i64vNV, %function
+glProgramUniform4i64vNV:
+ adrp x16, :got:__blue_glCore_glProgramUniform4i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4i64vNV, .-glProgramUniform4i64vNV
+
+ .align 2
+ .global glDrawArraysInstancedEXT
+ .type glDrawArraysInstancedEXT, %function
+glDrawArraysInstancedEXT:
+ adrp x16, :got:__blue_glCore_glDrawArraysInstancedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawArraysInstancedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDrawArraysInstancedEXT, .-glDrawArraysInstancedEXT
+
+ .align 2
+ .global glDisableClientStateIndexedEXT
+ .type glDisableClientStateIndexedEXT, %function
+glDisableClientStateIndexedEXT:
+ adrp x16, :got:__blue_glCore_glDisableClientStateIndexedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisableClientStateIndexedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDisableClientStateIndexedEXT, .-glDisableClientStateIndexedEXT
+
+ .align 2
+ .global glDrawBuffer
+ .type glDrawBuffer, %function
+glDrawBuffer:
+ adrp x16, :got:__blue_glCore_glDrawBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glDrawBuffer, .-glDrawBuffer
+
+ .align 2
+ .global glMultiDrawArraysIndirectBindlessNV
+ .type glMultiDrawArraysIndirectBindlessNV, %function
+glMultiDrawArraysIndirectBindlessNV:
+ adrp x16, :got:__blue_glCore_glMultiDrawArraysIndirectBindlessNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawArraysIndirectBindlessNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawArraysIndirectBindlessNV, .-glMultiDrawArraysIndirectBindlessNV
+
+ .align 2
+ .global glGetnPixelMapusv
+ .type glGetnPixelMapusv, %function
+glGetnPixelMapusv:
+ adrp x16, :got:__blue_glCore_glGetnPixelMapusv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnPixelMapusv]
+ ldr x16, [x16]
+ br x16
+ .size glGetnPixelMapusv, .-glGetnPixelMapusv
+
+ .align 2
+ .global glClearBufferuiv
+ .type glClearBufferuiv, %function
+glClearBufferuiv:
+ adrp x16, :got:__blue_glCore_glClearBufferuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearBufferuiv]
+ ldr x16, [x16]
+ br x16
+ .size glClearBufferuiv, .-glClearBufferuiv
+
+ .align 2
+ .global glGetInternalformati64v
+ .type glGetInternalformati64v, %function
+glGetInternalformati64v:
+ adrp x16, :got:__blue_glCore_glGetInternalformati64v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetInternalformati64v]
+ ldr x16, [x16]
+ br x16
+ .size glGetInternalformati64v, .-glGetInternalformati64v
+
+ .align 2
+ .global glShaderSourceARB
+ .type glShaderSourceARB, %function
+glShaderSourceARB:
+ adrp x16, :got:__blue_glCore_glShaderSourceARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glShaderSourceARB]
+ ldr x16, [x16]
+ br x16
+ .size glShaderSourceARB, .-glShaderSourceARB
+
+ .align 2
+ .global glShaderOp3EXT
+ .type glShaderOp3EXT, %function
+glShaderOp3EXT:
+ adrp x16, :got:__blue_glCore_glShaderOp3EXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glShaderOp3EXT]
+ ldr x16, [x16]
+ br x16
+ .size glShaderOp3EXT, .-glShaderOp3EXT
+
+ .align 2
+ .global glWindowPos2dvMESA
+ .type glWindowPos2dvMESA, %function
+glWindowPos2dvMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos2dvMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2dvMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2dvMESA, .-glWindowPos2dvMESA
+
+ .align 2
+ .global glProvokingVertexEXT
+ .type glProvokingVertexEXT, %function
+glProvokingVertexEXT:
+ adrp x16, :got:__blue_glCore_glProvokingVertexEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProvokingVertexEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProvokingVertexEXT, .-glProvokingVertexEXT
+
+ .align 2
+ .global glNormalStream3bvATI
+ .type glNormalStream3bvATI, %function
+glNormalStream3bvATI:
+ adrp x16, :got:__blue_glCore_glNormalStream3bvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalStream3bvATI]
+ ldr x16, [x16]
+ br x16
+ .size glNormalStream3bvATI, .-glNormalStream3bvATI
+
+ .align 2
+ .global glFlush
+ .type glFlush, %function
+glFlush:
+ adrp x16, :got:__blue_glCore_glFlush
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFlush]
+ ldr x16, [x16]
+ br x16
+ .size glFlush, .-glFlush
+
+ .align 2
+ .global glGetColorTableParameterivEXT
+ .type glGetColorTableParameterivEXT, %function
+glGetColorTableParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetColorTableParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetColorTableParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetColorTableParameterivEXT, .-glGetColorTableParameterivEXT
+
+ .align 2
+ .global glGetVertexAttribIuivEXT
+ .type glGetVertexAttribIuivEXT, %function
+glGetVertexAttribIuivEXT:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribIuivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribIuivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribIuivEXT, .-glGetVertexAttribIuivEXT
+
+ .align 2
+ .global glPresentFrameDualFillNV
+ .type glPresentFrameDualFillNV, %function
+glPresentFrameDualFillNV:
+ adrp x16, :got:__blue_glCore_glPresentFrameDualFillNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPresentFrameDualFillNV]
+ ldr x16, [x16]
+ br x16
+ .size glPresentFrameDualFillNV, .-glPresentFrameDualFillNV
+
+ .align 2
+ .global glGenVertexShadersEXT
+ .type glGenVertexShadersEXT, %function
+glGenVertexShadersEXT:
+ adrp x16, :got:__blue_glCore_glGenVertexShadersEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenVertexShadersEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGenVertexShadersEXT, .-glGenVertexShadersEXT
+
+ .align 2
+ .global glProgramUniformHandleui64vARB
+ .type glProgramUniformHandleui64vARB, %function
+glProgramUniformHandleui64vARB:
+ adrp x16, :got:__blue_glCore_glProgramUniformHandleui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformHandleui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformHandleui64vARB, .-glProgramUniformHandleui64vARB
+
+ .align 2
+ .global glDepthRangefOES
+ .type glDepthRangefOES, %function
+glDepthRangefOES:
+ adrp x16, :got:__blue_glCore_glDepthRangefOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthRangefOES]
+ ldr x16, [x16]
+ br x16
+ .size glDepthRangefOES, .-glDepthRangefOES
+
+ .align 2
+ .global glDrawElementsInstancedBaseVertexBaseInstance
+ .type glDrawElementsInstancedBaseVertexBaseInstance, %function
+glDrawElementsInstancedBaseVertexBaseInstance:
+ adrp x16, :got:__blue_glCore_glDrawElementsInstancedBaseVertexBaseInstance
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElementsInstancedBaseVertexBaseInstance]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElementsInstancedBaseVertexBaseInstance, .-glDrawElementsInstancedBaseVertexBaseInstance
+
+ .align 2
+ .global glGetTexLevelParameteriv
+ .type glGetTexLevelParameteriv, %function
+glGetTexLevelParameteriv:
+ adrp x16, :got:__blue_glCore_glGetTexLevelParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexLevelParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexLevelParameteriv, .-glGetTexLevelParameteriv
+
+ .align 2
+ .global glStencilFillPathNV
+ .type glStencilFillPathNV, %function
+glStencilFillPathNV:
+ adrp x16, :got:__blue_glCore_glStencilFillPathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilFillPathNV]
+ ldr x16, [x16]
+ br x16
+ .size glStencilFillPathNV, .-glStencilFillPathNV
+
+ .align 2
+ .global glSecondaryColor3usvEXT
+ .type glSecondaryColor3usvEXT, %function
+glSecondaryColor3usvEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3usvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3usvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3usvEXT, .-glSecondaryColor3usvEXT
+
+ .align 2
+ .global glWindowPos3iARB
+ .type glWindowPos3iARB, %function
+glWindowPos3iARB:
+ adrp x16, :got:__blue_glCore_glWindowPos3iARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3iARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3iARB, .-glWindowPos3iARB
+
+ .align 2
+ .global glGetFloatIndexedvEXT
+ .type glGetFloatIndexedvEXT, %function
+glGetFloatIndexedvEXT:
+ adrp x16, :got:__blue_glCore_glGetFloatIndexedvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFloatIndexedvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetFloatIndexedvEXT, .-glGetFloatIndexedvEXT
+
+ .align 2
+ .global glWindowPos3fvMESA
+ .type glWindowPos3fvMESA, %function
+glWindowPos3fvMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos3fvMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3fvMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3fvMESA, .-glWindowPos3fvMESA
+
+ .align 2
+ .global glProgramUniformMatrix3x2dvEXT
+ .type glProgramUniformMatrix3x2dvEXT, %function
+glProgramUniformMatrix3x2dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3x2dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3x2dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3x2dvEXT, .-glProgramUniformMatrix3x2dvEXT
+
+ .align 2
+ .global glVertex4xvOES
+ .type glVertex4xvOES, %function
+glVertex4xvOES:
+ adrp x16, :got:__blue_glCore_glVertex4xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex4xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex4xvOES, .-glVertex4xvOES
+
+ .align 2
+ .global glTexStorage3DMultisample
+ .type glTexStorage3DMultisample, %function
+glTexStorage3DMultisample:
+ adrp x16, :got:__blue_glCore_glTexStorage3DMultisample
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexStorage3DMultisample]
+ ldr x16, [x16]
+ br x16
+ .size glTexStorage3DMultisample, .-glTexStorage3DMultisample
+
+ .align 2
+ .global glGetNamedProgramLocalParameterfvEXT
+ .type glGetNamedProgramLocalParameterfvEXT, %function
+glGetNamedProgramLocalParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedProgramLocalParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedProgramLocalParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedProgramLocalParameterfvEXT, .-glGetNamedProgramLocalParameterfvEXT
+
+ .align 2
+ .global glStencilOpValueAMD
+ .type glStencilOpValueAMD, %function
+glStencilOpValueAMD:
+ adrp x16, :got:__blue_glCore_glStencilOpValueAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilOpValueAMD]
+ ldr x16, [x16]
+ br x16
+ .size glStencilOpValueAMD, .-glStencilOpValueAMD
+
+ .align 2
+ .global glProgramVertexLimitNV
+ .type glProgramVertexLimitNV, %function
+glProgramVertexLimitNV:
+ adrp x16, :got:__blue_glCore_glProgramVertexLimitNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramVertexLimitNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramVertexLimitNV, .-glProgramVertexLimitNV
+
+ .align 2
+ .global glUniform3i64NV
+ .type glUniform3i64NV, %function
+glUniform3i64NV:
+ adrp x16, :got:__blue_glCore_glUniform3i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3i64NV, .-glUniform3i64NV
+
+ .align 2
+ .global glProgramUniform3uivEXT
+ .type glProgramUniform3uivEXT, %function
+glProgramUniform3uivEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform3uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3uivEXT, .-glProgramUniform3uivEXT
+
+ .align 2
+ .global glClampColor
+ .type glClampColor, %function
+glClampColor:
+ adrp x16, :got:__blue_glCore_glClampColor
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClampColor]
+ ldr x16, [x16]
+ br x16
+ .size glClampColor, .-glClampColor
+
+ .align 2
+ .global glClearStencil
+ .type glClearStencil, %function
+glClearStencil:
+ adrp x16, :got:__blue_glCore_glClearStencil
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearStencil]
+ ldr x16, [x16]
+ br x16
+ .size glClearStencil, .-glClearStencil
+
+ .align 2
+ .global glVertexAttribs3svNV
+ .type glVertexAttribs3svNV, %function
+glVertexAttribs3svNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs3svNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs3svNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs3svNV, .-glVertexAttribs3svNV
+
+ .align 2
+ .global glMultiTexCoord3fv
+ .type glMultiTexCoord3fv, %function
+glMultiTexCoord3fv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3fv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3fv, .-glMultiTexCoord3fv
+
+ .align 2
+ .global glVertexBlendEnvfATI
+ .type glVertexBlendEnvfATI, %function
+glVertexBlendEnvfATI:
+ adrp x16, :got:__blue_glCore_glVertexBlendEnvfATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexBlendEnvfATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexBlendEnvfATI, .-glVertexBlendEnvfATI
+
+ .align 2
+ .global glIsFenceAPPLE
+ .type glIsFenceAPPLE, %function
+glIsFenceAPPLE:
+ adrp x16, :got:__blue_glCore_glIsFenceAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsFenceAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glIsFenceAPPLE, .-glIsFenceAPPLE
+
+ .align 2
+ .global glCombinerInputNV
+ .type glCombinerInputNV, %function
+glCombinerInputNV:
+ adrp x16, :got:__blue_glCore_glCombinerInputNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCombinerInputNV]
+ ldr x16, [x16]
+ br x16
+ .size glCombinerInputNV, .-glCombinerInputNV
+
+ .align 2
+ .global glWindowPos4fMESA
+ .type glWindowPos4fMESA, %function
+glWindowPos4fMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos4fMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos4fMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos4fMESA, .-glWindowPos4fMESA
+
+ .align 2
+ .global glUniform2fARB
+ .type glUniform2fARB, %function
+glUniform2fARB:
+ adrp x16, :got:__blue_glCore_glUniform2fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2fARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2fARB, .-glUniform2fARB
+
+ .align 2
+ .global glReplacementCodeusvSUN
+ .type glReplacementCodeusvSUN, %function
+glReplacementCodeusvSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeusvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeusvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeusvSUN, .-glReplacementCodeusvSUN
+
+ .align 2
+ .global glStopInstrumentsSGIX
+ .type glStopInstrumentsSGIX, %function
+glStopInstrumentsSGIX:
+ adrp x16, :got:__blue_glCore_glStopInstrumentsSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStopInstrumentsSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glStopInstrumentsSGIX, .-glStopInstrumentsSGIX
+
+ .align 2
+ .global glVertexAttrib3fNV
+ .type glVertexAttrib3fNV, %function
+glVertexAttrib3fNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3fNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3fNV, .-glVertexAttrib3fNV
+
+ .align 2
+ .global glMapVertexAttrib2dAPPLE
+ .type glMapVertexAttrib2dAPPLE, %function
+glMapVertexAttrib2dAPPLE:
+ adrp x16, :got:__blue_glCore_glMapVertexAttrib2dAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapVertexAttrib2dAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glMapVertexAttrib2dAPPLE, .-glMapVertexAttrib2dAPPLE
+
+ .align 2
+ .global glIsTexture
+ .type glIsTexture, %function
+glIsTexture:
+ adrp x16, :got:__blue_glCore_glIsTexture
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsTexture]
+ ldr x16, [x16]
+ br x16
+ .size glIsTexture, .-glIsTexture
+
+ .align 2
+ .global glCopyTextureImage2DEXT
+ .type glCopyTextureImage2DEXT, %function
+glCopyTextureImage2DEXT:
+ adrp x16, :got:__blue_glCore_glCopyTextureImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTextureImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTextureImage2DEXT, .-glCopyTextureImage2DEXT
+
+ .align 2
+ .global glBeginQueryIndexed
+ .type glBeginQueryIndexed, %function
+glBeginQueryIndexed:
+ adrp x16, :got:__blue_glCore_glBeginQueryIndexed
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginQueryIndexed]
+ ldr x16, [x16]
+ br x16
+ .size glBeginQueryIndexed, .-glBeginQueryIndexed
+
+ .align 2
+ .global glMultiTexCoord4fARB
+ .type glMultiTexCoord4fARB, %function
+glMultiTexCoord4fARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4fARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4fARB, .-glMultiTexCoord4fARB
+
+ .align 2
+ .global glTangent3bvEXT
+ .type glTangent3bvEXT, %function
+glTangent3bvEXT:
+ adrp x16, :got:__blue_glCore_glTangent3bvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangent3bvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangent3bvEXT, .-glTangent3bvEXT
+
+ .align 2
+ .global glTexImage3D
+ .type glTexImage3D, %function
+glTexImage3D:
+ adrp x16, :got:__blue_glCore_glTexImage3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexImage3D]
+ ldr x16, [x16]
+ br x16
+ .size glTexImage3D, .-glTexImage3D
+
+ .align 2
+ .global glGetProgramiv
+ .type glGetProgramiv, %function
+glGetProgramiv:
+ adrp x16, :got:__blue_glCore_glGetProgramiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramiv, .-glGetProgramiv
+
+ .align 2
+ .global glMatrixIndexubvARB
+ .type glMatrixIndexubvARB, %function
+glMatrixIndexubvARB:
+ adrp x16, :got:__blue_glCore_glMatrixIndexubvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixIndexubvARB]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixIndexubvARB, .-glMatrixIndexubvARB
+
+ .align 2
+ .global glProgramUniform4fv
+ .type glProgramUniform4fv, %function
+glProgramUniform4fv:
+ adrp x16, :got:__blue_glCore_glProgramUniform4fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4fv, .-glProgramUniform4fv
+
+ .align 2
+ .global glGetVertexAttribLui64vNV
+ .type glGetVertexAttribLui64vNV, %function
+glGetVertexAttribLui64vNV:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribLui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribLui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribLui64vNV, .-glGetVertexAttribLui64vNV
+
+ .align 2
+ .global glMapBufferARB
+ .type glMapBufferARB, %function
+glMapBufferARB:
+ adrp x16, :got:__blue_glCore_glMapBufferARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapBufferARB]
+ ldr x16, [x16]
+ br x16
+ .size glMapBufferARB, .-glMapBufferARB
+
+ .align 2
+ .global glFlushMappedBufferRange
+ .type glFlushMappedBufferRange, %function
+glFlushMappedBufferRange:
+ adrp x16, :got:__blue_glCore_glFlushMappedBufferRange
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFlushMappedBufferRange]
+ ldr x16, [x16]
+ br x16
+ .size glFlushMappedBufferRange, .-glFlushMappedBufferRange
+
+ .align 2
+ .global glTexStorage2D
+ .type glTexStorage2D, %function
+glTexStorage2D:
+ adrp x16, :got:__blue_glCore_glTexStorage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexStorage2D]
+ ldr x16, [x16]
+ br x16
+ .size glTexStorage2D, .-glTexStorage2D
+
+ .align 2
+ .global glLineWidthxOES
+ .type glLineWidthxOES, %function
+glLineWidthxOES:
+ adrp x16, :got:__blue_glCore_glLineWidthxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLineWidthxOES]
+ ldr x16, [x16]
+ br x16
+ .size glLineWidthxOES, .-glLineWidthxOES
+
+ .align 2
+ .global glProgramUniformMatrix2fvEXT
+ .type glProgramUniformMatrix2fvEXT, %function
+glProgramUniformMatrix2fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2fvEXT, .-glProgramUniformMatrix2fvEXT
+
+ .align 2
+ .global glGetTextureParameterIuivEXT
+ .type glGetTextureParameterIuivEXT, %function
+glGetTextureParameterIuivEXT:
+ adrp x16, :got:__blue_glCore_glGetTextureParameterIuivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureParameterIuivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureParameterIuivEXT, .-glGetTextureParameterIuivEXT
+
+ .align 2
+ .global glGetMultiTexEnvivEXT
+ .type glGetMultiTexEnvivEXT, %function
+glGetMultiTexEnvivEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexEnvivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexEnvivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexEnvivEXT, .-glGetMultiTexEnvivEXT
+
+ .align 2
+ .global glPixelTexGenParameterivSGIS
+ .type glPixelTexGenParameterivSGIS, %function
+glPixelTexGenParameterivSGIS:
+ adrp x16, :got:__blue_glCore_glPixelTexGenParameterivSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelTexGenParameterivSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glPixelTexGenParameterivSGIS, .-glPixelTexGenParameterivSGIS
+
+ .align 2
+ .global glGenQueries
+ .type glGenQueries, %function
+glGenQueries:
+ adrp x16, :got:__blue_glCore_glGenQueries
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenQueries]
+ ldr x16, [x16]
+ br x16
+ .size glGenQueries, .-glGenQueries
+
+ .align 2
+ .global glCompressedTextureSubImage1DEXT
+ .type glCompressedTextureSubImage1DEXT, %function
+glCompressedTextureSubImage1DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedTextureSubImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTextureSubImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTextureSubImage1DEXT, .-glCompressedTextureSubImage1DEXT
+
+ .align 2
+ .global glBlendColorEXT
+ .type glBlendColorEXT, %function
+glBlendColorEXT:
+ adrp x16, :got:__blue_glCore_glBlendColorEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendColorEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBlendColorEXT, .-glBlendColorEXT
+
+ .align 2
+ .global glResetMinmax
+ .type glResetMinmax, %function
+glResetMinmax:
+ adrp x16, :got:__blue_glCore_glResetMinmax
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glResetMinmax]
+ ldr x16, [x16]
+ br x16
+ .size glResetMinmax, .-glResetMinmax
+
+ .align 2
+ .global glGetnUniformivARB
+ .type glGetnUniformivARB, %function
+glGetnUniformivARB:
+ adrp x16, :got:__blue_glCore_glGetnUniformivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnUniformivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnUniformivARB, .-glGetnUniformivARB
+
+ .align 2
+ .global glVertexBlendARB
+ .type glVertexBlendARB, %function
+glVertexBlendARB:
+ adrp x16, :got:__blue_glCore_glVertexBlendARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexBlendARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexBlendARB, .-glVertexBlendARB
+
+ .align 2
+ .global glGetVaryingLocationNV
+ .type glGetVaryingLocationNV, %function
+glGetVaryingLocationNV:
+ adrp x16, :got:__blue_glCore_glGetVaryingLocationNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVaryingLocationNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVaryingLocationNV, .-glGetVaryingLocationNV
+
+ .align 2
+ .global glGetMapAttribParameterivNV
+ .type glGetMapAttribParameterivNV, %function
+glGetMapAttribParameterivNV:
+ adrp x16, :got:__blue_glCore_glGetMapAttribParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMapAttribParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetMapAttribParameterivNV, .-glGetMapAttribParameterivNV
+
+ .align 2
+ .global glUniform2i64ARB
+ .type glUniform2i64ARB, %function
+glUniform2i64ARB:
+ adrp x16, :got:__blue_glCore_glUniform2i64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2i64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2i64ARB, .-glUniform2i64ARB
+
+ .align 2
+ .global glDeleteSamplers
+ .type glDeleteSamplers, %function
+glDeleteSamplers:
+ adrp x16, :got:__blue_glCore_glDeleteSamplers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteSamplers]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteSamplers, .-glDeleteSamplers
+
+ .align 2
+ .global glGetLightxOES
+ .type glGetLightxOES, %function
+glGetLightxOES:
+ adrp x16, :got:__blue_glCore_glGetLightxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetLightxOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetLightxOES, .-glGetLightxOES
+
+ .align 2
+ .global glPrimitiveBoundingBoxARB
+ .type glPrimitiveBoundingBoxARB, %function
+glPrimitiveBoundingBoxARB:
+ adrp x16, :got:__blue_glCore_glPrimitiveBoundingBoxARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPrimitiveBoundingBoxARB]
+ ldr x16, [x16]
+ br x16
+ .size glPrimitiveBoundingBoxARB, .-glPrimitiveBoundingBoxARB
+
+ .align 2
+ .global glVertexArrayNormalOffsetEXT
+ .type glVertexArrayNormalOffsetEXT, %function
+glVertexArrayNormalOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayNormalOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayNormalOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayNormalOffsetEXT, .-glVertexArrayNormalOffsetEXT
+
+ .align 2
+ .global glGetBufferParameterivARB
+ .type glGetBufferParameterivARB, %function
+glGetBufferParameterivARB:
+ adrp x16, :got:__blue_glCore_glGetBufferParameterivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBufferParameterivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetBufferParameterivARB, .-glGetBufferParameterivARB
+
+ .align 2
+ .global glGetTextureParameterfv
+ .type glGetTextureParameterfv, %function
+glGetTextureParameterfv:
+ adrp x16, :got:__blue_glCore_glGetTextureParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureParameterfv, .-glGetTextureParameterfv
+
+ .align 2
+ .global glSecondaryColorP3ui
+ .type glSecondaryColorP3ui, %function
+glSecondaryColorP3ui:
+ adrp x16, :got:__blue_glCore_glSecondaryColorP3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColorP3ui]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColorP3ui, .-glSecondaryColorP3ui
+
+ .align 2
+ .global glVertexAttrib4dNV
+ .type glVertexAttrib4dNV, %function
+glVertexAttrib4dNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4dNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4dNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4dNV, .-glVertexAttrib4dNV
+
+ .align 2
+ .global glGetMultisamplefvNV
+ .type glGetMultisamplefvNV, %function
+glGetMultisamplefvNV:
+ adrp x16, :got:__blue_glCore_glGetMultisamplefvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultisamplefvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultisamplefvNV, .-glGetMultisamplefvNV
+
+ .align 2
+ .global glMapObjectBufferATI
+ .type glMapObjectBufferATI, %function
+glMapObjectBufferATI:
+ adrp x16, :got:__blue_glCore_glMapObjectBufferATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapObjectBufferATI]
+ ldr x16, [x16]
+ br x16
+ .size glMapObjectBufferATI, .-glMapObjectBufferATI
+
+ .align 2
+ .global glGetPathCommandsNV
+ .type glGetPathCommandsNV, %function
+glGetPathCommandsNV:
+ adrp x16, :got:__blue_glCore_glGetPathCommandsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathCommandsNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathCommandsNV, .-glGetPathCommandsNV
+
+ .align 2
+ .global glVertexArrayTexCoordOffsetEXT
+ .type glVertexArrayTexCoordOffsetEXT, %function
+glVertexArrayTexCoordOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayTexCoordOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayTexCoordOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayTexCoordOffsetEXT, .-glVertexArrayTexCoordOffsetEXT
+
+ .align 2
+ .global glGetHistogram
+ .type glGetHistogram, %function
+glGetHistogram:
+ adrp x16, :got:__blue_glCore_glGetHistogram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetHistogram]
+ ldr x16, [x16]
+ br x16
+ .size glGetHistogram, .-glGetHistogram
+
+ .align 2
+ .global glColorFormatNV
+ .type glColorFormatNV, %function
+glColorFormatNV:
+ adrp x16, :got:__blue_glCore_glColorFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glColorFormatNV, .-glColorFormatNV
+
+ .align 2
+ .global glProgramUniformui64NV
+ .type glProgramUniformui64NV, %function
+glProgramUniformui64NV:
+ adrp x16, :got:__blue_glCore_glProgramUniformui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformui64NV, .-glProgramUniformui64NV
+
+ .align 2
+ .global glProgramUniformMatrix4x2fvEXT
+ .type glProgramUniformMatrix4x2fvEXT, %function
+glProgramUniformMatrix4x2fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4x2fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4x2fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4x2fvEXT, .-glProgramUniformMatrix4x2fvEXT
+
+ .align 2
+ .global glLoadMatrixxOES
+ .type glLoadMatrixxOES, %function
+glLoadMatrixxOES:
+ adrp x16, :got:__blue_glCore_glLoadMatrixxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLoadMatrixxOES]
+ ldr x16, [x16]
+ br x16
+ .size glLoadMatrixxOES, .-glLoadMatrixxOES
+
+ .align 2
+ .global glVariantbvEXT
+ .type glVariantbvEXT, %function
+glVariantbvEXT:
+ adrp x16, :got:__blue_glCore_glVariantbvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVariantbvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVariantbvEXT, .-glVariantbvEXT
+
+ .align 2
+ .global glVertexAttribL2i64NV
+ .type glVertexAttribL2i64NV, %function
+glVertexAttribL2i64NV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL2i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL2i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL2i64NV, .-glVertexAttribL2i64NV
+
+ .align 2
+ .global glBindTextures
+ .type glBindTextures, %function
+glBindTextures:
+ adrp x16, :got:__blue_glCore_glBindTextures
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindTextures]
+ ldr x16, [x16]
+ br x16
+ .size glBindTextures, .-glBindTextures
+
+ .align 2
+ .global glCombinerParameteriNV
+ .type glCombinerParameteriNV, %function
+glCombinerParameteriNV:
+ adrp x16, :got:__blue_glCore_glCombinerParameteriNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCombinerParameteriNV]
+ ldr x16, [x16]
+ br x16
+ .size glCombinerParameteriNV, .-glCombinerParameteriNV
+
+ .align 2
+ .global glMatrixRotatefEXT
+ .type glMatrixRotatefEXT, %function
+glMatrixRotatefEXT:
+ adrp x16, :got:__blue_glCore_glMatrixRotatefEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixRotatefEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixRotatefEXT, .-glMatrixRotatefEXT
+
+ .align 2
+ .global glGetClipPlanexOES
+ .type glGetClipPlanexOES, %function
+glGetClipPlanexOES:
+ adrp x16, :got:__blue_glCore_glGetClipPlanexOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetClipPlanexOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetClipPlanexOES, .-glGetClipPlanexOES
+
+ .align 2
+ .global glSecondaryColor3uivEXT
+ .type glSecondaryColor3uivEXT, %function
+glSecondaryColor3uivEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3uivEXT, .-glSecondaryColor3uivEXT
+
+ .align 2
+ .global glGetPerfQueryInfoINTEL
+ .type glGetPerfQueryInfoINTEL, %function
+glGetPerfQueryInfoINTEL:
+ adrp x16, :got:__blue_glCore_glGetPerfQueryInfoINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPerfQueryInfoINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glGetPerfQueryInfoINTEL, .-glGetPerfQueryInfoINTEL
+
+ .align 2
+ .global glGetDoublev
+ .type glGetDoublev, %function
+glGetDoublev:
+ adrp x16, :got:__blue_glCore_glGetDoublev
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetDoublev]
+ ldr x16, [x16]
+ br x16
+ .size glGetDoublev, .-glGetDoublev
+
+ .align 2
+ .global glBindBufferRangeEXT
+ .type glBindBufferRangeEXT, %function
+glBindBufferRangeEXT:
+ adrp x16, :got:__blue_glCore_glBindBufferRangeEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBufferRangeEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindBufferRangeEXT, .-glBindBufferRangeEXT
+
+ .align 2
+ .global glVertexAttrib1d
+ .type glVertexAttrib1d, %function
+glVertexAttrib1d:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1d]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1d, .-glVertexAttrib1d
+
+ .align 2
+ .global glGetProgramStringARB
+ .type glGetProgramStringARB, %function
+glGetProgramStringARB:
+ adrp x16, :got:__blue_glCore_glGetProgramStringARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramStringARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramStringARB, .-glGetProgramStringARB
+
+ .align 2
+ .global glGetPathSpacingNV
+ .type glGetPathSpacingNV, %function
+glGetPathSpacingNV:
+ adrp x16, :got:__blue_glCore_glGetPathSpacingNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathSpacingNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathSpacingNV, .-glGetPathSpacingNV
+
+ .align 2
+ .global glUniform4dv
+ .type glUniform4dv, %function
+glUniform4dv:
+ adrp x16, :got:__blue_glCore_glUniform4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4dv, .-glUniform4dv
+
+ .align 2
+ .global glGlobalAlphaFactordSUN
+ .type glGlobalAlphaFactordSUN, %function
+glGlobalAlphaFactordSUN:
+ adrp x16, :got:__blue_glCore_glGlobalAlphaFactordSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGlobalAlphaFactordSUN]
+ ldr x16, [x16]
+ br x16
+ .size glGlobalAlphaFactordSUN, .-glGlobalAlphaFactordSUN
+
+ .align 2
+ .global glProgramUniform3dv
+ .type glProgramUniform3dv, %function
+glProgramUniform3dv:
+ adrp x16, :got:__blue_glCore_glProgramUniform3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3dv, .-glProgramUniform3dv
+
+ .align 2
+ .global glGetShaderSourceARB
+ .type glGetShaderSourceARB, %function
+glGetShaderSourceARB:
+ adrp x16, :got:__blue_glCore_glGetShaderSourceARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetShaderSourceARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetShaderSourceARB, .-glGetShaderSourceARB
+
+ .align 2
+ .global glVertexAttrib3dvARB
+ .type glVertexAttrib3dvARB, %function
+glVertexAttrib3dvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3dvARB, .-glVertexAttrib3dvARB
+
+ .align 2
+ .global glInvalidateBufferData
+ .type glInvalidateBufferData, %function
+glInvalidateBufferData:
+ adrp x16, :got:__blue_glCore_glInvalidateBufferData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInvalidateBufferData]
+ ldr x16, [x16]
+ br x16
+ .size glInvalidateBufferData, .-glInvalidateBufferData
+
+ .align 2
+ .global glMatrixLoad3x2fNV
+ .type glMatrixLoad3x2fNV, %function
+glMatrixLoad3x2fNV:
+ adrp x16, :got:__blue_glCore_glMatrixLoad3x2fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixLoad3x2fNV]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixLoad3x2fNV, .-glMatrixLoad3x2fNV
+
+ .align 2
+ .global glCompressedTextureSubImage1D
+ .type glCompressedTextureSubImage1D, %function
+glCompressedTextureSubImage1D:
+ adrp x16, :got:__blue_glCore_glCompressedTextureSubImage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTextureSubImage1D]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTextureSubImage1D, .-glCompressedTextureSubImage1D
+
+ .align 2
+ .global glTexCoord3xvOES
+ .type glTexCoord3xvOES, %function
+glTexCoord3xvOES:
+ adrp x16, :got:__blue_glCore_glTexCoord3xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord3xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord3xvOES, .-glTexCoord3xvOES
+
+ .align 2
+ .global glUniform3fv
+ .type glUniform3fv, %function
+glUniform3fv:
+ adrp x16, :got:__blue_glCore_glUniform3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3fv, .-glUniform3fv
+
+ .align 2
+ .global glTangent3iEXT
+ .type glTangent3iEXT, %function
+glTangent3iEXT:
+ adrp x16, :got:__blue_glCore_glTangent3iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangent3iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangent3iEXT, .-glTangent3iEXT
+
+ .align 2
+ .global glClearTexImage
+ .type glClearTexImage, %function
+glClearTexImage:
+ adrp x16, :got:__blue_glCore_glClearTexImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearTexImage]
+ ldr x16, [x16]
+ br x16
+ .size glClearTexImage, .-glClearTexImage
+
+ .align 2
+ .global glBinormal3bvEXT
+ .type glBinormal3bvEXT, %function
+glBinormal3bvEXT:
+ adrp x16, :got:__blue_glCore_glBinormal3bvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormal3bvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormal3bvEXT, .-glBinormal3bvEXT
+
+ .align 2
+ .global glGenTexturesEXT
+ .type glGenTexturesEXT, %function
+glGenTexturesEXT:
+ adrp x16, :got:__blue_glCore_glGenTexturesEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenTexturesEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGenTexturesEXT, .-glGenTexturesEXT
+
+ .align 2
+ .global glGetnPixelMapusvARB
+ .type glGetnPixelMapusvARB, %function
+glGetnPixelMapusvARB:
+ adrp x16, :got:__blue_glCore_glGetnPixelMapusvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnPixelMapusvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnPixelMapusvARB, .-glGetnPixelMapusvARB
+
+ .align 2
+ .global glMultiTexCoordP1ui
+ .type glMultiTexCoordP1ui, %function
+glMultiTexCoordP1ui:
+ adrp x16, :got:__blue_glCore_glMultiTexCoordP1ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoordP1ui]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoordP1ui, .-glMultiTexCoordP1ui
+
+ .align 2
+ .global glGetTransformFeedbacki64_v
+ .type glGetTransformFeedbacki64_v, %function
+glGetTransformFeedbacki64_v:
+ adrp x16, :got:__blue_glCore_glGetTransformFeedbacki64_v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTransformFeedbacki64_v]
+ ldr x16, [x16]
+ br x16
+ .size glGetTransformFeedbacki64_v, .-glGetTransformFeedbacki64_v
+
+ .align 2
+ .global glUniformMatrix4dv
+ .type glUniformMatrix4dv, %function
+glUniformMatrix4dv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix4dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix4dv, .-glUniformMatrix4dv
+
+ .align 2
+ .global glWindowPos3fMESA
+ .type glWindowPos3fMESA, %function
+glWindowPos3fMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos3fMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3fMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3fMESA, .-glWindowPos3fMESA
+
+ .align 2
+ .global glDeleteRenderbuffers
+ .type glDeleteRenderbuffers, %function
+glDeleteRenderbuffers:
+ adrp x16, :got:__blue_glCore_glDeleteRenderbuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteRenderbuffers]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteRenderbuffers, .-glDeleteRenderbuffers
+
+ .align 2
+ .global glConvolutionParameterxOES
+ .type glConvolutionParameterxOES, %function
+glConvolutionParameterxOES:
+ adrp x16, :got:__blue_glCore_glConvolutionParameterxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionParameterxOES]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionParameterxOES, .-glConvolutionParameterxOES
+
+ .align 2
+ .global glGetHistogramParameterxvOES
+ .type glGetHistogramParameterxvOES, %function
+glGetHistogramParameterxvOES:
+ adrp x16, :got:__blue_glCore_glGetHistogramParameterxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetHistogramParameterxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetHistogramParameterxvOES, .-glGetHistogramParameterxvOES
+
+ .align 2
+ .global glMultiDrawElements
+ .type glMultiDrawElements, %function
+glMultiDrawElements:
+ adrp x16, :got:__blue_glCore_glMultiDrawElements
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawElements]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawElements, .-glMultiDrawElements
+
+ .align 2
+ .global glMakeImageHandleNonResidentNV
+ .type glMakeImageHandleNonResidentNV, %function
+glMakeImageHandleNonResidentNV:
+ adrp x16, :got:__blue_glCore_glMakeImageHandleNonResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeImageHandleNonResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glMakeImageHandleNonResidentNV, .-glMakeImageHandleNonResidentNV
+
+ .align 2
+ .global glTexSubImage1DEXT
+ .type glTexSubImage1DEXT, %function
+glTexSubImage1DEXT:
+ adrp x16, :got:__blue_glCore_glTexSubImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexSubImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTexSubImage1DEXT, .-glTexSubImage1DEXT
+
+ .align 2
+ .global glNormalStream3dATI
+ .type glNormalStream3dATI, %function
+glNormalStream3dATI:
+ adrp x16, :got:__blue_glCore_glNormalStream3dATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalStream3dATI]
+ ldr x16, [x16]
+ br x16
+ .size glNormalStream3dATI, .-glNormalStream3dATI
+
+ .align 2
+ .global glVertexAttribL4i64vNV
+ .type glVertexAttribL4i64vNV, %function
+glVertexAttribL4i64vNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL4i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL4i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL4i64vNV, .-glVertexAttribL4i64vNV
+
+ .align 2
+ .global glClearNamedFramebufferfv
+ .type glClearNamedFramebufferfv, %function
+glClearNamedFramebufferfv:
+ adrp x16, :got:__blue_glCore_glClearNamedFramebufferfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearNamedFramebufferfv]
+ ldr x16, [x16]
+ br x16
+ .size glClearNamedFramebufferfv, .-glClearNamedFramebufferfv
+
+ .align 2
+ .global glCopyTextureSubImage1DEXT
+ .type glCopyTextureSubImage1DEXT, %function
+glCopyTextureSubImage1DEXT:
+ adrp x16, :got:__blue_glCore_glCopyTextureSubImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTextureSubImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTextureSubImage1DEXT, .-glCopyTextureSubImage1DEXT
+
+ .align 2
+ .global glNamedFramebufferReadBuffer
+ .type glNamedFramebufferReadBuffer, %function
+glNamedFramebufferReadBuffer:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferReadBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferReadBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferReadBuffer, .-glNamedFramebufferReadBuffer
+
+ .align 2
+ .global glUniform2i64vARB
+ .type glUniform2i64vARB, %function
+glUniform2i64vARB:
+ adrp x16, :got:__blue_glCore_glUniform2i64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2i64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2i64vARB, .-glUniform2i64vARB
+
+ .align 2
+ .global glVertexAttribI1uivEXT
+ .type glVertexAttribI1uivEXT, %function
+glVertexAttribI1uivEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI1uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI1uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI1uivEXT, .-glVertexAttribI1uivEXT
+
+ .align 2
+ .global glBeginQueryARB
+ .type glBeginQueryARB, %function
+glBeginQueryARB:
+ adrp x16, :got:__blue_glCore_glBeginQueryARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginQueryARB]
+ ldr x16, [x16]
+ br x16
+ .size glBeginQueryARB, .-glBeginQueryARB
+
+ .align 2
+ .global glUniform1iARB
+ .type glUniform1iARB, %function
+glUniform1iARB:
+ adrp x16, :got:__blue_glCore_glUniform1iARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1iARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1iARB, .-glUniform1iARB
+
+ .align 2
+ .global glVertex4bvOES
+ .type glVertex4bvOES, %function
+glVertex4bvOES:
+ adrp x16, :got:__blue_glCore_glVertex4bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex4bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex4bvOES, .-glVertex4bvOES
+
+ .align 2
+ .global glInvalidateSubFramebuffer
+ .type glInvalidateSubFramebuffer, %function
+glInvalidateSubFramebuffer:
+ adrp x16, :got:__blue_glCore_glInvalidateSubFramebuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInvalidateSubFramebuffer]
+ ldr x16, [x16]
+ br x16
+ .size glInvalidateSubFramebuffer, .-glInvalidateSubFramebuffer
+
+ .align 2
+ .global glMultiTexCoord4xOES
+ .type glMultiTexCoord4xOES, %function
+glMultiTexCoord4xOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4xOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4xOES, .-glMultiTexCoord4xOES
+
+ .align 2
+ .global glBindTransformFeedback
+ .type glBindTransformFeedback, %function
+glBindTransformFeedback:
+ adrp x16, :got:__blue_glCore_glBindTransformFeedback
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindTransformFeedback]
+ ldr x16, [x16]
+ br x16
+ .size glBindTransformFeedback, .-glBindTransformFeedback
+
+ .align 2
+ .global glMultiTexCoord2iv
+ .type glMultiTexCoord2iv, %function
+glMultiTexCoord2iv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2iv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2iv, .-glMultiTexCoord2iv
+
+ .align 2
+ .global glCopyMultiTexSubImage1DEXT
+ .type glCopyMultiTexSubImage1DEXT, %function
+glCopyMultiTexSubImage1DEXT:
+ adrp x16, :got:__blue_glCore_glCopyMultiTexSubImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyMultiTexSubImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyMultiTexSubImage1DEXT, .-glCopyMultiTexSubImage1DEXT
+
+ .align 2
+ .global glTexCoord1hNV
+ .type glTexCoord1hNV, %function
+glTexCoord1hNV:
+ adrp x16, :got:__blue_glCore_glTexCoord1hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord1hNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord1hNV, .-glTexCoord1hNV
+
+ .align 2
+ .global glGenFencesNV
+ .type glGenFencesNV, %function
+glGenFencesNV:
+ adrp x16, :got:__blue_glCore_glGenFencesNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenFencesNV]
+ ldr x16, [x16]
+ br x16
+ .size glGenFencesNV, .-glGenFencesNV
+
+ .align 2
+ .global glVertexAttribL2ui64NV
+ .type glVertexAttribL2ui64NV, %function
+glVertexAttribL2ui64NV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL2ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL2ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL2ui64NV, .-glVertexAttribL2ui64NV
+
+ .align 2
+ .global glMultiTexCoord1hvNV
+ .type glMultiTexCoord1hvNV, %function
+glMultiTexCoord1hvNV:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1hvNV, .-glMultiTexCoord1hvNV
+
+ .align 2
+ .global glGetnConvolutionFilter
+ .type glGetnConvolutionFilter, %function
+glGetnConvolutionFilter:
+ adrp x16, :got:__blue_glCore_glGetnConvolutionFilter
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnConvolutionFilter]
+ ldr x16, [x16]
+ br x16
+ .size glGetnConvolutionFilter, .-glGetnConvolutionFilter
+
+ .align 2
+ .global glWeightbvARB
+ .type glWeightbvARB, %function
+glWeightbvARB:
+ adrp x16, :got:__blue_glCore_glWeightbvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWeightbvARB]
+ ldr x16, [x16]
+ br x16
+ .size glWeightbvARB, .-glWeightbvARB
+
+ .align 2
+ .global glUniform2uiv
+ .type glUniform2uiv, %function
+glUniform2uiv:
+ adrp x16, :got:__blue_glCore_glUniform2uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2uiv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2uiv, .-glUniform2uiv
+
+ .align 2
+ .global glBeginConditionalRenderNVX
+ .type glBeginConditionalRenderNVX, %function
+glBeginConditionalRenderNVX:
+ adrp x16, :got:__blue_glCore_glBeginConditionalRenderNVX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginConditionalRenderNVX]
+ ldr x16, [x16]
+ br x16
+ .size glBeginConditionalRenderNVX, .-glBeginConditionalRenderNVX
+
+ .align 2
+ .global glFinish
+ .type glFinish, %function
+glFinish:
+ adrp x16, :got:__blue_glCore_glFinish
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFinish]
+ ldr x16, [x16]
+ br x16
+ .size glFinish, .-glFinish
+
+ .align 2
+ .global glColorTableParameterfv
+ .type glColorTableParameterfv, %function
+glColorTableParameterfv:
+ adrp x16, :got:__blue_glCore_glColorTableParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorTableParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glColorTableParameterfv, .-glColorTableParameterfv
+
+ .align 2
+ .global glVertexArrayVertexOffsetEXT
+ .type glVertexArrayVertexOffsetEXT, %function
+glVertexArrayVertexOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexOffsetEXT, .-glVertexArrayVertexOffsetEXT
+
+ .align 2
+ .global glFinishObjectAPPLE
+ .type glFinishObjectAPPLE, %function
+glFinishObjectAPPLE:
+ adrp x16, :got:__blue_glCore_glFinishObjectAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFinishObjectAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glFinishObjectAPPLE, .-glFinishObjectAPPLE
+
+ .align 2
+ .global glReplacementCodeuiTexCoord2fVertex3fvSUN
+ .type glReplacementCodeuiTexCoord2fVertex3fvSUN, %function
+glReplacementCodeuiTexCoord2fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiTexCoord2fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiTexCoord2fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiTexCoord2fVertex3fvSUN, .-glReplacementCodeuiTexCoord2fVertex3fvSUN
+
+ .align 2
+ .global glUniform1uiv
+ .type glUniform1uiv, %function
+glUniform1uiv:
+ adrp x16, :got:__blue_glCore_glUniform1uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1uiv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1uiv, .-glUniform1uiv
+
+ .align 2
+ .global glUniformMatrix2dv
+ .type glUniformMatrix2dv, %function
+glUniformMatrix2dv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix2dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix2dv, .-glUniformMatrix2dv
+
+ .align 2
+ .global glSecondaryColor3ivEXT
+ .type glSecondaryColor3ivEXT, %function
+glSecondaryColor3ivEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3ivEXT, .-glSecondaryColor3ivEXT
+
+ .align 2
+ .global glVertexStream1dATI
+ .type glVertexStream1dATI, %function
+glVertexStream1dATI:
+ adrp x16, :got:__blue_glCore_glVertexStream1dATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream1dATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream1dATI, .-glVertexStream1dATI
+
+ .align 2
+ .global glDeformationMap3fSGIX
+ .type glDeformationMap3fSGIX, %function
+glDeformationMap3fSGIX:
+ adrp x16, :got:__blue_glCore_glDeformationMap3fSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeformationMap3fSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glDeformationMap3fSGIX, .-glDeformationMap3fSGIX
+
+ .align 2
+ .global glClearDepth
+ .type glClearDepth, %function
+glClearDepth:
+ adrp x16, :got:__blue_glCore_glClearDepth
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearDepth]
+ ldr x16, [x16]
+ br x16
+ .size glClearDepth, .-glClearDepth
+
+ .align 2
+ .global glGenAsyncMarkersSGIX
+ .type glGenAsyncMarkersSGIX, %function
+glGenAsyncMarkersSGIX:
+ adrp x16, :got:__blue_glCore_glGenAsyncMarkersSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenAsyncMarkersSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glGenAsyncMarkersSGIX, .-glGenAsyncMarkersSGIX
+
+ .align 2
+ .global glDisableIndexedEXT
+ .type glDisableIndexedEXT, %function
+glDisableIndexedEXT:
+ adrp x16, :got:__blue_glCore_glDisableIndexedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisableIndexedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDisableIndexedEXT, .-glDisableIndexedEXT
+
+ .align 2
+ .global glNormal3fVertex3fSUN
+ .type glNormal3fVertex3fSUN, %function
+glNormal3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glNormal3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormal3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glNormal3fVertex3fSUN, .-glNormal3fVertex3fSUN
+
+ .align 2
+ .global glVertexWeightfvEXT
+ .type glVertexWeightfvEXT, %function
+glVertexWeightfvEXT:
+ adrp x16, :got:__blue_glCore_glVertexWeightfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexWeightfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexWeightfvEXT, .-glVertexWeightfvEXT
+
+ .align 2
+ .global glGetProgramLocalParameterIivNV
+ .type glGetProgramLocalParameterIivNV, %function
+glGetProgramLocalParameterIivNV:
+ adrp x16, :got:__blue_glCore_glGetProgramLocalParameterIivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramLocalParameterIivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramLocalParameterIivNV, .-glGetProgramLocalParameterIivNV
+
+ .align 2
+ .global glTexCoord4fColor4fNormal3fVertex4fSUN
+ .type glTexCoord4fColor4fNormal3fVertex4fSUN, %function
+glTexCoord4fColor4fNormal3fVertex4fSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord4fColor4fNormal3fVertex4fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord4fColor4fNormal3fVertex4fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord4fColor4fNormal3fVertex4fSUN, .-glTexCoord4fColor4fNormal3fVertex4fSUN
+
+ .align 2
+ .global glCompressedTexImage3DARB
+ .type glCompressedTexImage3DARB, %function
+glCompressedTexImage3DARB:
+ adrp x16, :got:__blue_glCore_glCompressedTexImage3DARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexImage3DARB]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexImage3DARB, .-glCompressedTexImage3DARB
+
+ .align 2
+ .global glProgramParameter4fNV
+ .type glProgramParameter4fNV, %function
+glProgramParameter4fNV:
+ adrp x16, :got:__blue_glCore_glProgramParameter4fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramParameter4fNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramParameter4fNV, .-glProgramParameter4fNV
+
+ .align 2
+ .global glGetTextureLevelParameterfvEXT
+ .type glGetTextureLevelParameterfvEXT, %function
+glGetTextureLevelParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glGetTextureLevelParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureLevelParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureLevelParameterfvEXT, .-glGetTextureLevelParameterfvEXT
+
+ .align 2
+ .global glInsertComponentEXT
+ .type glInsertComponentEXT, %function
+glInsertComponentEXT:
+ adrp x16, :got:__blue_glCore_glInsertComponentEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInsertComponentEXT]
+ ldr x16, [x16]
+ br x16
+ .size glInsertComponentEXT, .-glInsertComponentEXT
+
+ .align 2
+ .global glCreateTextures
+ .type glCreateTextures, %function
+glCreateTextures:
+ adrp x16, :got:__blue_glCore_glCreateTextures
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateTextures]
+ ldr x16, [x16]
+ br x16
+ .size glCreateTextures, .-glCreateTextures
+
+ .align 2
+ .global glUniform3uiv
+ .type glUniform3uiv, %function
+glUniform3uiv:
+ adrp x16, :got:__blue_glCore_glUniform3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3uiv, .-glUniform3uiv
+
+ .align 2
+ .global glCreateBuffers
+ .type glCreateBuffers, %function
+glCreateBuffers:
+ adrp x16, :got:__blue_glCore_glCreateBuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateBuffers]
+ ldr x16, [x16]
+ br x16
+ .size glCreateBuffers, .-glCreateBuffers
+
+ .align 2
+ .global glMultiTexCoord2xvOES
+ .type glMultiTexCoord2xvOES, %function
+glMultiTexCoord2xvOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2xvOES, .-glMultiTexCoord2xvOES
+
+ .align 2
+ .global glTexGenxvOES
+ .type glTexGenxvOES, %function
+glTexGenxvOES:
+ adrp x16, :got:__blue_glCore_glTexGenxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexGenxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexGenxvOES, .-glTexGenxvOES
+
+ .align 2
+ .global glColor3fVertex3fvSUN
+ .type glColor3fVertex3fvSUN, %function
+glColor3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glColor3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glColor3fVertex3fvSUN, .-glColor3fVertex3fvSUN
+
+ .align 2
+ .global glGetnPixelMapfvARB
+ .type glGetnPixelMapfvARB, %function
+glGetnPixelMapfvARB:
+ adrp x16, :got:__blue_glCore_glGetnPixelMapfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnPixelMapfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnPixelMapfvARB, .-glGetnPixelMapfvARB
+
+ .align 2
+ .global glMultiTexParameteriEXT
+ .type glMultiTexParameteriEXT, %function
+glMultiTexParameteriEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexParameteriEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexParameteriEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexParameteriEXT, .-glMultiTexParameteriEXT
+
+ .align 2
+ .global glFreeObjectBufferATI
+ .type glFreeObjectBufferATI, %function
+glFreeObjectBufferATI:
+ adrp x16, :got:__blue_glCore_glFreeObjectBufferATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFreeObjectBufferATI]
+ ldr x16, [x16]
+ br x16
+ .size glFreeObjectBufferATI, .-glFreeObjectBufferATI
+
+ .align 2
+ .global glBlendBarrierNV
+ .type glBlendBarrierNV, %function
+glBlendBarrierNV:
+ adrp x16, :got:__blue_glCore_glBlendBarrierNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendBarrierNV]
+ ldr x16, [x16]
+ br x16
+ .size glBlendBarrierNV, .-glBlendBarrierNV
+
+ .align 2
+ .global glUniform4i64vNV
+ .type glUniform4i64vNV, %function
+glUniform4i64vNV:
+ adrp x16, :got:__blue_glCore_glUniform4i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4i64vNV, .-glUniform4i64vNV
+
+ .align 2
+ .global glGetnUniformuivARB
+ .type glGetnUniformuivARB, %function
+glGetnUniformuivARB:
+ adrp x16, :got:__blue_glCore_glGetnUniformuivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnUniformuivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnUniformuivARB, .-glGetnUniformuivARB
+
+ .align 2
+ .global glProgramEnvParameters4fvEXT
+ .type glProgramEnvParameters4fvEXT, %function
+glProgramEnvParameters4fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramEnvParameters4fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParameters4fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParameters4fvEXT, .-glProgramEnvParameters4fvEXT
+
+ .align 2
+ .global glBlendFuncSeparateEXT
+ .type glBlendFuncSeparateEXT, %function
+glBlendFuncSeparateEXT:
+ adrp x16, :got:__blue_glCore_glBlendFuncSeparateEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendFuncSeparateEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBlendFuncSeparateEXT, .-glBlendFuncSeparateEXT
+
+ .align 2
+ .global glConvolutionParameterivEXT
+ .type glConvolutionParameterivEXT, %function
+glConvolutionParameterivEXT:
+ adrp x16, :got:__blue_glCore_glConvolutionParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionParameterivEXT, .-glConvolutionParameterivEXT
+
+ .align 2
+ .global glPixelTexGenSGIX
+ .type glPixelTexGenSGIX, %function
+glPixelTexGenSGIX:
+ adrp x16, :got:__blue_glCore_glPixelTexGenSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelTexGenSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glPixelTexGenSGIX, .-glPixelTexGenSGIX
+
+ .align 2
+ .global glGetPathTexGenivNV
+ .type glGetPathTexGenivNV, %function
+glGetPathTexGenivNV:
+ adrp x16, :got:__blue_glCore_glGetPathTexGenivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathTexGenivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathTexGenivNV, .-glGetPathTexGenivNV
+
+ .align 2
+ .global glUniformMatrix4x3dv
+ .type glUniformMatrix4x3dv, %function
+glUniformMatrix4x3dv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix4x3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix4x3dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix4x3dv, .-glUniformMatrix4x3dv
+
+ .align 2
+ .global glGetVideoCaptureStreamivNV
+ .type glGetVideoCaptureStreamivNV, %function
+glGetVideoCaptureStreamivNV:
+ adrp x16, :got:__blue_glCore_glGetVideoCaptureStreamivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVideoCaptureStreamivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVideoCaptureStreamivNV, .-glGetVideoCaptureStreamivNV
+
+ .align 2
+ .global glMakeImageHandleNonResidentARB
+ .type glMakeImageHandleNonResidentARB, %function
+glMakeImageHandleNonResidentARB:
+ adrp x16, :got:__blue_glCore_glMakeImageHandleNonResidentARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeImageHandleNonResidentARB]
+ ldr x16, [x16]
+ br x16
+ .size glMakeImageHandleNonResidentARB, .-glMakeImageHandleNonResidentARB
+
+ .align 2
+ .global glSecondaryColor3dEXT
+ .type glSecondaryColor3dEXT, %function
+glSecondaryColor3dEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3dEXT, .-glSecondaryColor3dEXT
+
+ .align 2
+ .global glDeleteQueries
+ .type glDeleteQueries, %function
+glDeleteQueries:
+ adrp x16, :got:__blue_glCore_glDeleteQueries
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteQueries]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteQueries, .-glDeleteQueries
+
+ .align 2
+ .global glNormalP3uiv
+ .type glNormalP3uiv, %function
+glNormalP3uiv:
+ adrp x16, :got:__blue_glCore_glNormalP3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalP3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glNormalP3uiv, .-glNormalP3uiv
+
+ .align 2
+ .global glGetUniformfvARB
+ .type glGetUniformfvARB, %function
+glGetUniformfvARB:
+ adrp x16, :got:__blue_glCore_glGetUniformfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformfvARB, .-glGetUniformfvARB
+
+ .align 2
+ .global glBinormal3fvEXT
+ .type glBinormal3fvEXT, %function
+glBinormal3fvEXT:
+ adrp x16, :got:__blue_glCore_glBinormal3fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormal3fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormal3fvEXT, .-glBinormal3fvEXT
+
+ .align 2
+ .global glVertexArrayVertexAttribDivisorEXT
+ .type glVertexArrayVertexAttribDivisorEXT, %function
+glVertexArrayVertexAttribDivisorEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexAttribDivisorEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexAttribDivisorEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexAttribDivisorEXT, .-glVertexArrayVertexAttribDivisorEXT
+
+ .align 2
+ .global glArrayElementEXT
+ .type glArrayElementEXT, %function
+glArrayElementEXT:
+ adrp x16, :got:__blue_glCore_glArrayElementEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glArrayElementEXT]
+ ldr x16, [x16]
+ br x16
+ .size glArrayElementEXT, .-glArrayElementEXT
+
+ .align 2
+ .global glGetnMinmax
+ .type glGetnMinmax, %function
+glGetnMinmax:
+ adrp x16, :got:__blue_glCore_glGetnMinmax
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnMinmax]
+ ldr x16, [x16]
+ br x16
+ .size glGetnMinmax, .-glGetnMinmax
+
+ .align 2
+ .global glIndexxOES
+ .type glIndexxOES, %function
+glIndexxOES:
+ adrp x16, :got:__blue_glCore_glIndexxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIndexxOES]
+ ldr x16, [x16]
+ br x16
+ .size glIndexxOES, .-glIndexxOES
+
+ .align 2
+ .global glUniform3uivEXT
+ .type glUniform3uivEXT, %function
+glUniform3uivEXT:
+ adrp x16, :got:__blue_glCore_glUniform3uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3uivEXT, .-glUniform3uivEXT
+
+ .align 2
+ .global glPopGroupMarkerEXT
+ .type glPopGroupMarkerEXT, %function
+glPopGroupMarkerEXT:
+ adrp x16, :got:__blue_glCore_glPopGroupMarkerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPopGroupMarkerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPopGroupMarkerEXT, .-glPopGroupMarkerEXT
+
+ .align 2
+ .global glClearNamedFramebufferuiv
+ .type glClearNamedFramebufferuiv, %function
+glClearNamedFramebufferuiv:
+ adrp x16, :got:__blue_glCore_glClearNamedFramebufferuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearNamedFramebufferuiv]
+ ldr x16, [x16]
+ br x16
+ .size glClearNamedFramebufferuiv, .-glClearNamedFramebufferuiv
+
+ .align 2
+ .global glSetLocalConstantEXT
+ .type glSetLocalConstantEXT, %function
+glSetLocalConstantEXT:
+ adrp x16, :got:__blue_glCore_glSetLocalConstantEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSetLocalConstantEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSetLocalConstantEXT, .-glSetLocalConstantEXT
+
+ .align 2
+ .global glProgramUniform1ui64NV
+ .type glProgramUniform1ui64NV, %function
+glProgramUniform1ui64NV:
+ adrp x16, :got:__blue_glCore_glProgramUniform1ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1ui64NV, .-glProgramUniform1ui64NV
+
+ .align 2
+ .global glColor4hvNV
+ .type glColor4hvNV, %function
+glColor4hvNV:
+ adrp x16, :got:__blue_glCore_glColor4hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor4hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glColor4hvNV, .-glColor4hvNV
+
+ .align 2
+ .global glGetVertexAttribfv
+ .type glGetVertexAttribfv, %function
+glGetVertexAttribfv:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribfv, .-glGetVertexAttribfv
+
+ .align 2
+ .global glDispatchCompute
+ .type glDispatchCompute, %function
+glDispatchCompute:
+ adrp x16, :got:__blue_glCore_glDispatchCompute
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDispatchCompute]
+ ldr x16, [x16]
+ br x16
+ .size glDispatchCompute, .-glDispatchCompute
+
+ .align 2
+ .global glGetActiveAttrib
+ .type glGetActiveAttrib, %function
+glGetActiveAttrib:
+ adrp x16, :got:__blue_glCore_glGetActiveAttrib
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveAttrib]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveAttrib, .-glGetActiveAttrib
+
+ .align 2
+ .global glFragmentColorMaterialSGIX
+ .type glFragmentColorMaterialSGIX, %function
+glFragmentColorMaterialSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentColorMaterialSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentColorMaterialSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentColorMaterialSGIX, .-glFragmentColorMaterialSGIX
+
+ .align 2
+ .global glTexSubImage2D
+ .type glTexSubImage2D, %function
+glTexSubImage2D:
+ adrp x16, :got:__blue_glCore_glTexSubImage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexSubImage2D]
+ ldr x16, [x16]
+ br x16
+ .size glTexSubImage2D, .-glTexSubImage2D
+
+ .align 2
+ .global glGetnMinmaxARB
+ .type glGetnMinmaxARB, %function
+glGetnMinmaxARB:
+ adrp x16, :got:__blue_glCore_glGetnMinmaxARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnMinmaxARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnMinmaxARB, .-glGetnMinmaxARB
+
+ .align 2
+ .global glLogicOp
+ .type glLogicOp, %function
+glLogicOp:
+ adrp x16, :got:__blue_glCore_glLogicOp
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLogicOp]
+ ldr x16, [x16]
+ br x16
+ .size glLogicOp, .-glLogicOp
+
+ .align 2
+ .global glProgramUniformMatrix3x4fv
+ .type glProgramUniformMatrix3x4fv, %function
+glProgramUniformMatrix3x4fv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3x4fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3x4fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3x4fv, .-glProgramUniformMatrix3x4fv
+
+ .align 2
+ .global glWindowPos4iMESA
+ .type glWindowPos4iMESA, %function
+glWindowPos4iMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos4iMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos4iMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos4iMESA, .-glWindowPos4iMESA
+
+ .align 2
+ .global glPollAsyncSGIX
+ .type glPollAsyncSGIX, %function
+glPollAsyncSGIX:
+ adrp x16, :got:__blue_glCore_glPollAsyncSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPollAsyncSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glPollAsyncSGIX, .-glPollAsyncSGIX
+
+ .align 2
+ .global glGetTextureParameterIuiv
+ .type glGetTextureParameterIuiv, %function
+glGetTextureParameterIuiv:
+ adrp x16, :got:__blue_glCore_glGetTextureParameterIuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureParameterIuiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureParameterIuiv, .-glGetTextureParameterIuiv
+
+ .align 2
+ .global glMultiTexCoord1xOES
+ .type glMultiTexCoord1xOES, %function
+glMultiTexCoord1xOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1xOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1xOES, .-glMultiTexCoord1xOES
+
+ .align 2
+ .global glProgramUniformMatrix4dv
+ .type glProgramUniformMatrix4dv, %function
+glProgramUniformMatrix4dv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4dv, .-glProgramUniformMatrix4dv
+
+ .align 2
+ .global glFramebufferTexture1DEXT
+ .type glFramebufferTexture1DEXT, %function
+glFramebufferTexture1DEXT:
+ adrp x16, :got:__blue_glCore_glFramebufferTexture1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTexture1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTexture1DEXT, .-glFramebufferTexture1DEXT
+
+ .align 2
+ .global glUniform1ui64ARB
+ .type glUniform1ui64ARB, %function
+glUniform1ui64ARB:
+ adrp x16, :got:__blue_glCore_glUniform1ui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1ui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1ui64ARB, .-glUniform1ui64ARB
+
+ .align 2
+ .global glTextureParameterIiv
+ .type glTextureParameterIiv, %function
+glTextureParameterIiv:
+ adrp x16, :got:__blue_glCore_glTextureParameterIiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameterIiv]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameterIiv, .-glTextureParameterIiv
+
+ .align 2
+ .global glGetSeparableFilterEXT
+ .type glGetSeparableFilterEXT, %function
+glGetSeparableFilterEXT:
+ adrp x16, :got:__blue_glCore_glGetSeparableFilterEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetSeparableFilterEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetSeparableFilterEXT, .-glGetSeparableFilterEXT
+
+ .align 2
+ .global glMultiTexCoord3iARB
+ .type glMultiTexCoord3iARB, %function
+glMultiTexCoord3iARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3iARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3iARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3iARB, .-glMultiTexCoord3iARB
+
+ .align 2
+ .global glRasterPos4xvOES
+ .type glRasterPos4xvOES, %function
+glRasterPos4xvOES:
+ adrp x16, :got:__blue_glCore_glRasterPos4xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRasterPos4xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glRasterPos4xvOES, .-glRasterPos4xvOES
+
+ .align 2
+ .global glDrawTransformFeedbackStream
+ .type glDrawTransformFeedbackStream, %function
+glDrawTransformFeedbackStream:
+ adrp x16, :got:__blue_glCore_glDrawTransformFeedbackStream
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawTransformFeedbackStream]
+ ldr x16, [x16]
+ br x16
+ .size glDrawTransformFeedbackStream, .-glDrawTransformFeedbackStream
+
+ .align 2
+ .global glVertex3hvNV
+ .type glVertex3hvNV, %function
+glVertex3hvNV:
+ adrp x16, :got:__blue_glCore_glVertex3hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex3hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertex3hvNV, .-glVertex3hvNV
+
+ .align 2
+ .global glVertexArrayMultiTexCoordOffsetEXT
+ .type glVertexArrayMultiTexCoordOffsetEXT, %function
+glVertexArrayMultiTexCoordOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayMultiTexCoordOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayMultiTexCoordOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayMultiTexCoordOffsetEXT, .-glVertexArrayMultiTexCoordOffsetEXT
+
+ .align 2
+ .global glProvokingVertex
+ .type glProvokingVertex, %function
+glProvokingVertex:
+ adrp x16, :got:__blue_glCore_glProvokingVertex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProvokingVertex]
+ ldr x16, [x16]
+ br x16
+ .size glProvokingVertex, .-glProvokingVertex
+
+ .align 2
+ .global glAccumxOES
+ .type glAccumxOES, %function
+glAccumxOES:
+ adrp x16, :got:__blue_glCore_glAccumxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glAccumxOES]
+ ldr x16, [x16]
+ br x16
+ .size glAccumxOES, .-glAccumxOES
+
+ .align 2
+ .global glShaderBinary
+ .type glShaderBinary, %function
+glShaderBinary:
+ adrp x16, :got:__blue_glCore_glShaderBinary
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glShaderBinary]
+ ldr x16, [x16]
+ br x16
+ .size glShaderBinary, .-glShaderBinary
+
+ .align 2
+ .global glGetMultiTexGenivEXT
+ .type glGetMultiTexGenivEXT, %function
+glGetMultiTexGenivEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexGenivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexGenivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexGenivEXT, .-glGetMultiTexGenivEXT
+
+ .align 2
+ .global glPointParameterxvOES
+ .type glPointParameterxvOES, %function
+glPointParameterxvOES:
+ adrp x16, :got:__blue_glCore_glPointParameterxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameterxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameterxvOES, .-glPointParameterxvOES
+
+ .align 2
+ .global glCreateStatesNV
+ .type glCreateStatesNV, %function
+glCreateStatesNV:
+ adrp x16, :got:__blue_glCore_glCreateStatesNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateStatesNV]
+ ldr x16, [x16]
+ br x16
+ .size glCreateStatesNV, .-glCreateStatesNV
+
+ .align 2
+ .global glClearDepthdNV
+ .type glClearDepthdNV, %function
+glClearDepthdNV:
+ adrp x16, :got:__blue_glCore_glClearDepthdNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearDepthdNV]
+ ldr x16, [x16]
+ br x16
+ .size glClearDepthdNV, .-glClearDepthdNV
+
+ .align 2
+ .global glClearColorIuiEXT
+ .type glClearColorIuiEXT, %function
+glClearColorIuiEXT:
+ adrp x16, :got:__blue_glCore_glClearColorIuiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearColorIuiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glClearColorIuiEXT, .-glClearColorIuiEXT
+
+ .align 2
+ .global glBindMultiTextureEXT
+ .type glBindMultiTextureEXT, %function
+glBindMultiTextureEXT:
+ adrp x16, :got:__blue_glCore_glBindMultiTextureEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindMultiTextureEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindMultiTextureEXT, .-glBindMultiTextureEXT
+
+ .align 2
+ .global glDrawElements
+ .type glDrawElements, %function
+glDrawElements:
+ adrp x16, :got:__blue_glCore_glDrawElements
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElements]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElements, .-glDrawElements
+
+ .align 2
+ .global glConvolutionFilter1DEXT
+ .type glConvolutionFilter1DEXT, %function
+glConvolutionFilter1DEXT:
+ adrp x16, :got:__blue_glCore_glConvolutionFilter1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionFilter1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionFilter1DEXT, .-glConvolutionFilter1DEXT
+
+ .align 2
+ .global glDisableVertexArrayEXT
+ .type glDisableVertexArrayEXT, %function
+glDisableVertexArrayEXT:
+ adrp x16, :got:__blue_glCore_glDisableVertexArrayEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisableVertexArrayEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDisableVertexArrayEXT, .-glDisableVertexArrayEXT
+
+ .align 2
+ .global glProgramUniform3ui64NV
+ .type glProgramUniform3ui64NV, %function
+glProgramUniform3ui64NV:
+ adrp x16, :got:__blue_glCore_glProgramUniform3ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3ui64NV, .-glProgramUniform3ui64NV
+
+ .align 2
+ .global glClientActiveTexture
+ .type glClientActiveTexture, %function
+glClientActiveTexture:
+ adrp x16, :got:__blue_glCore_glClientActiveTexture
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClientActiveTexture]
+ ldr x16, [x16]
+ br x16
+ .size glClientActiveTexture, .-glClientActiveTexture
+
+ .align 2
+ .global glMultiTexParameterIivEXT
+ .type glMultiTexParameterIivEXT, %function
+glMultiTexParameterIivEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexParameterIivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexParameterIivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexParameterIivEXT, .-glMultiTexParameterIivEXT
+
+ .align 2
+ .global glUniform1iv
+ .type glUniform1iv, %function
+glUniform1iv:
+ adrp x16, :got:__blue_glCore_glUniform1iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1iv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1iv, .-glUniform1iv
+
+ .align 2
+ .global glVertexAttribArrayObjectATI
+ .type glVertexAttribArrayObjectATI, %function
+glVertexAttribArrayObjectATI:
+ adrp x16, :got:__blue_glCore_glVertexAttribArrayObjectATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribArrayObjectATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribArrayObjectATI, .-glVertexAttribArrayObjectATI
+
+ .align 2
+ .global glDrawArraysInstanced
+ .type glDrawArraysInstanced, %function
+glDrawArraysInstanced:
+ adrp x16, :got:__blue_glCore_glDrawArraysInstanced
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawArraysInstanced]
+ ldr x16, [x16]
+ br x16
+ .size glDrawArraysInstanced, .-glDrawArraysInstanced
+
+ .align 2
+ .global glVertexAttrib2sNV
+ .type glVertexAttrib2sNV, %function
+glVertexAttrib2sNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2sNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2sNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2sNV, .-glVertexAttrib2sNV
+
+ .align 2
+ .global glTexBufferEXT
+ .type glTexBufferEXT, %function
+glTexBufferEXT:
+ adrp x16, :got:__blue_glCore_glTexBufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexBufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTexBufferEXT, .-glTexBufferEXT
+
+ .align 2
+ .global glVertexStream2fATI
+ .type glVertexStream2fATI, %function
+glVertexStream2fATI:
+ adrp x16, :got:__blue_glCore_glVertexStream2fATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream2fATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream2fATI, .-glVertexStream2fATI
+
+ .align 2
+ .global glDebugMessageCallbackAMD
+ .type glDebugMessageCallbackAMD, %function
+glDebugMessageCallbackAMD:
+ adrp x16, :got:__blue_glCore_glDebugMessageCallbackAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDebugMessageCallbackAMD]
+ ldr x16, [x16]
+ br x16
+ .size glDebugMessageCallbackAMD, .-glDebugMessageCallbackAMD
+
+ .align 2
+ .global glMultiTexCoord2dARB
+ .type glMultiTexCoord2dARB, %function
+glMultiTexCoord2dARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2dARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2dARB, .-glMultiTexCoord2dARB
+
+ .align 2
+ .global glVertexAttrib4uiv
+ .type glVertexAttrib4uiv, %function
+glVertexAttrib4uiv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4uiv, .-glVertexAttrib4uiv
+
+ .align 2
+ .global glEndQueryIndexed
+ .type glEndQueryIndexed, %function
+glEndQueryIndexed:
+ adrp x16, :got:__blue_glCore_glEndQueryIndexed
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndQueryIndexed]
+ ldr x16, [x16]
+ br x16
+ .size glEndQueryIndexed, .-glEndQueryIndexed
+
+ .align 2
+ .global glNormalStream3sATI
+ .type glNormalStream3sATI, %function
+glNormalStream3sATI:
+ adrp x16, :got:__blue_glCore_glNormalStream3sATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalStream3sATI]
+ ldr x16, [x16]
+ br x16
+ .size glNormalStream3sATI, .-glNormalStream3sATI
+
+ .align 2
+ .global glProgramParameteriARB
+ .type glProgramParameteriARB, %function
+glProgramParameteriARB:
+ adrp x16, :got:__blue_glCore_glProgramParameteriARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramParameteriARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramParameteriARB, .-glProgramParameteriARB
+
+ .align 2
+ .global glTexEnvxOES
+ .type glTexEnvxOES, %function
+glTexEnvxOES:
+ adrp x16, :got:__blue_glCore_glTexEnvxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexEnvxOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexEnvxOES, .-glTexEnvxOES
+
+ .align 2
+ .global glProgramUniform1iv
+ .type glProgramUniform1iv, %function
+glProgramUniform1iv:
+ adrp x16, :got:__blue_glCore_glProgramUniform1iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1iv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1iv, .-glProgramUniform1iv
+
+ .align 2
+ .global glDisableVertexAttribAPPLE
+ .type glDisableVertexAttribAPPLE, %function
+glDisableVertexAttribAPPLE:
+ adrp x16, :got:__blue_glCore_glDisableVertexAttribAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisableVertexAttribAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glDisableVertexAttribAPPLE, .-glDisableVertexAttribAPPLE
+
+ .align 2
+ .global glBindRenderbuffer
+ .type glBindRenderbuffer, %function
+glBindRenderbuffer:
+ adrp x16, :got:__blue_glCore_glBindRenderbuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindRenderbuffer]
+ ldr x16, [x16]
+ br x16
+ .size glBindRenderbuffer, .-glBindRenderbuffer
+
+ .align 2
+ .global glMultiTexSubImage3DEXT
+ .type glMultiTexSubImage3DEXT, %function
+glMultiTexSubImage3DEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexSubImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexSubImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexSubImage3DEXT, .-glMultiTexSubImage3DEXT
+
+ .align 2
+ .global glIsProgram
+ .type glIsProgram, %function
+glIsProgram:
+ adrp x16, :got:__blue_glCore_glIsProgram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsProgram]
+ ldr x16, [x16]
+ br x16
+ .size glIsProgram, .-glIsProgram
+
+ .align 2
+ .global glMultiDrawElementsIndirectAMD
+ .type glMultiDrawElementsIndirectAMD, %function
+glMultiDrawElementsIndirectAMD:
+ adrp x16, :got:__blue_glCore_glMultiDrawElementsIndirectAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawElementsIndirectAMD]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawElementsIndirectAMD, .-glMultiDrawElementsIndirectAMD
+
+ .align 2
+ .global glMultiTexCoord4fvARB
+ .type glMultiTexCoord4fvARB, %function
+glMultiTexCoord4fvARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4fvARB, .-glMultiTexCoord4fvARB
+
+ .align 2
+ .global glGetLocalConstantBooleanvEXT
+ .type glGetLocalConstantBooleanvEXT, %function
+glGetLocalConstantBooleanvEXT:
+ adrp x16, :got:__blue_glCore_glGetLocalConstantBooleanvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetLocalConstantBooleanvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetLocalConstantBooleanvEXT, .-glGetLocalConstantBooleanvEXT
+
+ .align 2
+ .global glUniformMatrix3x2dv
+ .type glUniformMatrix3x2dv, %function
+glUniformMatrix3x2dv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix3x2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix3x2dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix3x2dv, .-glUniformMatrix3x2dv
+
+ .align 2
+ .global glVertexAttrib4fv
+ .type glVertexAttrib4fv, %function
+glVertexAttrib4fv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4fv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4fv, .-glVertexAttrib4fv
+
+ .align 2
+ .global glProgramUniformMatrix2x3dv
+ .type glProgramUniformMatrix2x3dv, %function
+glProgramUniformMatrix2x3dv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2x3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2x3dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2x3dv, .-glProgramUniformMatrix2x3dv
+
+ .align 2
+ .global glGetnPixelMapfv
+ .type glGetnPixelMapfv, %function
+glGetnPixelMapfv:
+ adrp x16, :got:__blue_glCore_glGetnPixelMapfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnPixelMapfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetnPixelMapfv, .-glGetnPixelMapfv
+
+ .align 2
+ .global glTexCoord3xOES
+ .type glTexCoord3xOES, %function
+glTexCoord3xOES:
+ adrp x16, :got:__blue_glCore_glTexCoord3xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord3xOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord3xOES, .-glTexCoord3xOES
+
+ .align 2
+ .global glLoadTransposeMatrixfARB
+ .type glLoadTransposeMatrixfARB, %function
+glLoadTransposeMatrixfARB:
+ adrp x16, :got:__blue_glCore_glLoadTransposeMatrixfARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLoadTransposeMatrixfARB]
+ ldr x16, [x16]
+ br x16
+ .size glLoadTransposeMatrixfARB, .-glLoadTransposeMatrixfARB
+
+ .align 2
+ .global glImageTransformParameteriHP
+ .type glImageTransformParameteriHP, %function
+glImageTransformParameteriHP:
+ adrp x16, :got:__blue_glCore_glImageTransformParameteriHP
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glImageTransformParameteriHP]
+ ldr x16, [x16]
+ br x16
+ .size glImageTransformParameteriHP, .-glImageTransformParameteriHP
+
+ .align 2
+ .global glTestFenceNV
+ .type glTestFenceNV, %function
+glTestFenceNV:
+ adrp x16, :got:__blue_glCore_glTestFenceNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTestFenceNV]
+ ldr x16, [x16]
+ br x16
+ .size glTestFenceNV, .-glTestFenceNV
+
+ .align 2
+ .global glGetMapParameterivNV
+ .type glGetMapParameterivNV, %function
+glGetMapParameterivNV:
+ adrp x16, :got:__blue_glCore_glGetMapParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMapParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetMapParameterivNV, .-glGetMapParameterivNV
+
+ .align 2
+ .global glVertexAttrib2fv
+ .type glVertexAttrib2fv, %function
+glVertexAttrib2fv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2fv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2fv, .-glVertexAttrib2fv
+
+ .align 2
+ .global glUniform3ui64NV
+ .type glUniform3ui64NV, %function
+glUniform3ui64NV:
+ adrp x16, :got:__blue_glCore_glUniform3ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3ui64NV, .-glUniform3ui64NV
+
+ .align 2
+ .global glCombinerParameterfvNV
+ .type glCombinerParameterfvNV, %function
+glCombinerParameterfvNV:
+ adrp x16, :got:__blue_glCore_glCombinerParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCombinerParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glCombinerParameterfvNV, .-glCombinerParameterfvNV
+
+ .align 2
+ .global glCopyConvolutionFilter2D
+ .type glCopyConvolutionFilter2D, %function
+glCopyConvolutionFilter2D:
+ adrp x16, :got:__blue_glCore_glCopyConvolutionFilter2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyConvolutionFilter2D]
+ ldr x16, [x16]
+ br x16
+ .size glCopyConvolutionFilter2D, .-glCopyConvolutionFilter2D
+
+ .align 2
+ .global glGetProgramResourceIndex
+ .type glGetProgramResourceIndex, %function
+glGetProgramResourceIndex:
+ adrp x16, :got:__blue_glCore_glGetProgramResourceIndex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramResourceIndex]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramResourceIndex, .-glGetProgramResourceIndex
+
+ .align 2
+ .global glBeginConditionalRenderNV
+ .type glBeginConditionalRenderNV, %function
+glBeginConditionalRenderNV:
+ adrp x16, :got:__blue_glCore_glBeginConditionalRenderNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginConditionalRenderNV]
+ ldr x16, [x16]
+ br x16
+ .size glBeginConditionalRenderNV, .-glBeginConditionalRenderNV
+
+ .align 2
+ .global glPathFogGenNV
+ .type glPathFogGenNV, %function
+glPathFogGenNV:
+ adrp x16, :got:__blue_glCore_glPathFogGenNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathFogGenNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathFogGenNV, .-glPathFogGenNV
+
+ .align 2
+ .global glStencilThenCoverFillPathNV
+ .type glStencilThenCoverFillPathNV, %function
+glStencilThenCoverFillPathNV:
+ adrp x16, :got:__blue_glCore_glStencilThenCoverFillPathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilThenCoverFillPathNV]
+ ldr x16, [x16]
+ br x16
+ .size glStencilThenCoverFillPathNV, .-glStencilThenCoverFillPathNV
+
+ .align 2
+ .global glVertexArrayIndexOffsetEXT
+ .type glVertexArrayIndexOffsetEXT, %function
+glVertexArrayIndexOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayIndexOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayIndexOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayIndexOffsetEXT, .-glVertexArrayIndexOffsetEXT
+
+ .align 2
+ .global glProgramBufferParametersIuivNV
+ .type glProgramBufferParametersIuivNV, %function
+glProgramBufferParametersIuivNV:
+ adrp x16, :got:__blue_glCore_glProgramBufferParametersIuivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramBufferParametersIuivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramBufferParametersIuivNV, .-glProgramBufferParametersIuivNV
+
+ .align 2
+ .global glPixelTransformParameterivEXT
+ .type glPixelTransformParameterivEXT, %function
+glPixelTransformParameterivEXT:
+ adrp x16, :got:__blue_glCore_glPixelTransformParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelTransformParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPixelTransformParameterivEXT, .-glPixelTransformParameterivEXT
+
+ .align 2
+ .global glDisableClientStateiEXT
+ .type glDisableClientStateiEXT, %function
+glDisableClientStateiEXT:
+ adrp x16, :got:__blue_glCore_glDisableClientStateiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisableClientStateiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDisableClientStateiEXT, .-glDisableClientStateiEXT
+
+ .align 2
+ .global glTexBufferARB
+ .type glTexBufferARB, %function
+glTexBufferARB:
+ adrp x16, :got:__blue_glCore_glTexBufferARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexBufferARB]
+ ldr x16, [x16]
+ br x16
+ .size glTexBufferARB, .-glTexBufferARB
+
+ .align 2
+ .global glGetLocalConstantIntegervEXT
+ .type glGetLocalConstantIntegervEXT, %function
+glGetLocalConstantIntegervEXT:
+ adrp x16, :got:__blue_glCore_glGetLocalConstantIntegervEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetLocalConstantIntegervEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetLocalConstantIntegervEXT, .-glGetLocalConstantIntegervEXT
+
+ .align 2
+ .global glPathCoverDepthFuncNV
+ .type glPathCoverDepthFuncNV, %function
+glPathCoverDepthFuncNV:
+ adrp x16, :got:__blue_glCore_glPathCoverDepthFuncNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathCoverDepthFuncNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathCoverDepthFuncNV, .-glPathCoverDepthFuncNV
+
+ .align 2
+ .global glProgramUniform3i
+ .type glProgramUniform3i, %function
+glProgramUniform3i:
+ adrp x16, :got:__blue_glCore_glProgramUniform3i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3i]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3i, .-glProgramUniform3i
+
+ .align 2
+ .global glMultiDrawElementsIndirectBindlessCountNV
+ .type glMultiDrawElementsIndirectBindlessCountNV, %function
+glMultiDrawElementsIndirectBindlessCountNV:
+ adrp x16, :got:__blue_glCore_glMultiDrawElementsIndirectBindlessCountNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawElementsIndirectBindlessCountNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawElementsIndirectBindlessCountNV, .-glMultiDrawElementsIndirectBindlessCountNV
+
+ .align 2
+ .global glGetBufferPointervARB
+ .type glGetBufferPointervARB, %function
+glGetBufferPointervARB:
+ adrp x16, :got:__blue_glCore_glGetBufferPointervARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBufferPointervARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetBufferPointervARB, .-glGetBufferPointervARB
+
+ .align 2
+ .global glMultiTexParameterIuivEXT
+ .type glMultiTexParameterIuivEXT, %function
+glMultiTexParameterIuivEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexParameterIuivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexParameterIuivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexParameterIuivEXT, .-glMultiTexParameterIuivEXT
+
+ .align 2
+ .global glProgramUniform3f
+ .type glProgramUniform3f, %function
+glProgramUniform3f:
+ adrp x16, :got:__blue_glCore_glProgramUniform3f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3f]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3f, .-glProgramUniform3f
+
+ .align 2
+ .global glStencilThenCoverFillPathInstancedNV
+ .type glStencilThenCoverFillPathInstancedNV, %function
+glStencilThenCoverFillPathInstancedNV:
+ adrp x16, :got:__blue_glCore_glStencilThenCoverFillPathInstancedNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilThenCoverFillPathInstancedNV]
+ ldr x16, [x16]
+ br x16
+ .size glStencilThenCoverFillPathInstancedNV, .-glStencilThenCoverFillPathInstancedNV
+
+ .align 2
+ .global glProgramUniform3d
+ .type glProgramUniform3d, %function
+glProgramUniform3d:
+ adrp x16, :got:__blue_glCore_glProgramUniform3d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3d]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3d, .-glProgramUniform3d
+
+ .align 2
+ .global glMapVertexAttrib1dAPPLE
+ .type glMapVertexAttrib1dAPPLE, %function
+glMapVertexAttrib1dAPPLE:
+ adrp x16, :got:__blue_glCore_glMapVertexAttrib1dAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapVertexAttrib1dAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glMapVertexAttrib1dAPPLE, .-glMapVertexAttrib1dAPPLE
+
+ .align 2
+ .global glLoadTransposeMatrixd
+ .type glLoadTransposeMatrixd, %function
+glLoadTransposeMatrixd:
+ adrp x16, :got:__blue_glCore_glLoadTransposeMatrixd
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLoadTransposeMatrixd]
+ ldr x16, [x16]
+ br x16
+ .size glLoadTransposeMatrixd, .-glLoadTransposeMatrixd
+
+ .align 2
+ .global glLoadTransposeMatrixf
+ .type glLoadTransposeMatrixf, %function
+glLoadTransposeMatrixf:
+ adrp x16, :got:__blue_glCore_glLoadTransposeMatrixf
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLoadTransposeMatrixf]
+ ldr x16, [x16]
+ br x16
+ .size glLoadTransposeMatrixf, .-glLoadTransposeMatrixf
+
+ .align 2
+ .global glGetPointervEXT
+ .type glGetPointervEXT, %function
+glGetPointervEXT:
+ adrp x16, :got:__blue_glCore_glGetPointervEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPointervEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetPointervEXT, .-glGetPointervEXT
+
+ .align 2
+ .global glEndConditionalRenderNV
+ .type glEndConditionalRenderNV, %function
+glEndConditionalRenderNV:
+ adrp x16, :got:__blue_glCore_glEndConditionalRenderNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndConditionalRenderNV]
+ ldr x16, [x16]
+ br x16
+ .size glEndConditionalRenderNV, .-glEndConditionalRenderNV
+
+ .align 2
+ .global glMultiTexImage1DEXT
+ .type glMultiTexImage1DEXT, %function
+glMultiTexImage1DEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexImage1DEXT, .-glMultiTexImage1DEXT
+
+ .align 2
+ .global glDeleteObjectARB
+ .type glDeleteObjectARB, %function
+glDeleteObjectARB:
+ adrp x16, :got:__blue_glCore_glDeleteObjectARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteObjectARB]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteObjectARB, .-glDeleteObjectARB
+
+ .align 2
+ .global glProgramUniform2uiEXT
+ .type glProgramUniform2uiEXT, %function
+glProgramUniform2uiEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform2uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2uiEXT, .-glProgramUniform2uiEXT
+
+ .align 2
+ .global glVertexAttribI1ui
+ .type glVertexAttribI1ui, %function
+glVertexAttribI1ui:
+ adrp x16, :got:__blue_glCore_glVertexAttribI1ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI1ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI1ui, .-glVertexAttribI1ui
+
+ .align 2
+ .global glProgramNamedParameter4dvNV
+ .type glProgramNamedParameter4dvNV, %function
+glProgramNamedParameter4dvNV:
+ adrp x16, :got:__blue_glCore_glProgramNamedParameter4dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramNamedParameter4dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramNamedParameter4dvNV, .-glProgramNamedParameter4dvNV
+
+ .align 2
+ .global glCompileCommandListNV
+ .type glCompileCommandListNV, %function
+glCompileCommandListNV:
+ adrp x16, :got:__blue_glCore_glCompileCommandListNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompileCommandListNV]
+ ldr x16, [x16]
+ br x16
+ .size glCompileCommandListNV, .-glCompileCommandListNV
+
+ .align 2
+ .global glGetRenderbufferParameterivEXT
+ .type glGetRenderbufferParameterivEXT, %function
+glGetRenderbufferParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetRenderbufferParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetRenderbufferParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetRenderbufferParameterivEXT, .-glGetRenderbufferParameterivEXT
+
+ .align 2
+ .global glGetnPolygonStipple
+ .type glGetnPolygonStipple, %function
+glGetnPolygonStipple:
+ adrp x16, :got:__blue_glCore_glGetnPolygonStipple
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnPolygonStipple]
+ ldr x16, [x16]
+ br x16
+ .size glGetnPolygonStipple, .-glGetnPolygonStipple
+
+ .align 2
+ .global glIsBufferResidentNV
+ .type glIsBufferResidentNV, %function
+glIsBufferResidentNV:
+ adrp x16, :got:__blue_glCore_glIsBufferResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsBufferResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsBufferResidentNV, .-glIsBufferResidentNV
+
+ .align 2
+ .global glGetNamedRenderbufferParameterivEXT
+ .type glGetNamedRenderbufferParameterivEXT, %function
+glGetNamedRenderbufferParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedRenderbufferParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedRenderbufferParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedRenderbufferParameterivEXT, .-glGetNamedRenderbufferParameterivEXT
+
+ .align 2
+ .global glNamedFramebufferSampleLocationsfvARB
+ .type glNamedFramebufferSampleLocationsfvARB, %function
+glNamedFramebufferSampleLocationsfvARB:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferSampleLocationsfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferSampleLocationsfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferSampleLocationsfvARB, .-glNamedFramebufferSampleLocationsfvARB
+
+ .align 2
+ .global glMultiTexGendvEXT
+ .type glMultiTexGendvEXT, %function
+glMultiTexGendvEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexGendvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexGendvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexGendvEXT, .-glMultiTexGendvEXT
+
+ .align 2
+ .global glVertexArrayRangeNV
+ .type glVertexArrayRangeNV, %function
+glVertexArrayRangeNV:
+ adrp x16, :got:__blue_glCore_glVertexArrayRangeNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayRangeNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayRangeNV, .-glVertexArrayRangeNV
+
+ .align 2
+ .global glIsTextureHandleResidentNV
+ .type glIsTextureHandleResidentNV, %function
+glIsTextureHandleResidentNV:
+ adrp x16, :got:__blue_glCore_glIsTextureHandleResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsTextureHandleResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsTextureHandleResidentNV, .-glIsTextureHandleResidentNV
+
+ .align 2
+ .global glGetProgramEnvParameterdvARB
+ .type glGetProgramEnvParameterdvARB, %function
+glGetProgramEnvParameterdvARB:
+ adrp x16, :got:__blue_glCore_glGetProgramEnvParameterdvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramEnvParameterdvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramEnvParameterdvARB, .-glGetProgramEnvParameterdvARB
+
+ .align 2
+ .global glIsNamedStringARB
+ .type glIsNamedStringARB, %function
+glIsNamedStringARB:
+ adrp x16, :got:__blue_glCore_glIsNamedStringARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsNamedStringARB]
+ ldr x16, [x16]
+ br x16
+ .size glIsNamedStringARB, .-glIsNamedStringARB
+
+ .align 2
+ .global glSecondaryColorFormatNV
+ .type glSecondaryColorFormatNV, %function
+glSecondaryColorFormatNV:
+ adrp x16, :got:__blue_glCore_glSecondaryColorFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColorFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColorFormatNV, .-glSecondaryColorFormatNV
+
+ .align 2
+ .global glPixelTransferxOES
+ .type glPixelTransferxOES, %function
+glPixelTransferxOES:
+ adrp x16, :got:__blue_glCore_glPixelTransferxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelTransferxOES]
+ ldr x16, [x16]
+ br x16
+ .size glPixelTransferxOES, .-glPixelTransferxOES
+
+ .align 2
+ .global glInvalidateTexSubImage
+ .type glInvalidateTexSubImage, %function
+glInvalidateTexSubImage:
+ adrp x16, :got:__blue_glCore_glInvalidateTexSubImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInvalidateTexSubImage]
+ ldr x16, [x16]
+ br x16
+ .size glInvalidateTexSubImage, .-glInvalidateTexSubImage
+
+ .align 2
+ .global glVDPAUUnregisterSurfaceNV
+ .type glVDPAUUnregisterSurfaceNV, %function
+glVDPAUUnregisterSurfaceNV:
+ adrp x16, :got:__blue_glCore_glVDPAUUnregisterSurfaceNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVDPAUUnregisterSurfaceNV]
+ ldr x16, [x16]
+ br x16
+ .size glVDPAUUnregisterSurfaceNV, .-glVDPAUUnregisterSurfaceNV
+
+ .align 2
+ .global glGetPerfQueryIdByNameINTEL
+ .type glGetPerfQueryIdByNameINTEL, %function
+glGetPerfQueryIdByNameINTEL:
+ adrp x16, :got:__blue_glCore_glGetPerfQueryIdByNameINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPerfQueryIdByNameINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glGetPerfQueryIdByNameINTEL, .-glGetPerfQueryIdByNameINTEL
+
+ .align 2
+ .global glGetInteger64v
+ .type glGetInteger64v, %function
+glGetInteger64v:
+ adrp x16, :got:__blue_glCore_glGetInteger64v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetInteger64v]
+ ldr x16, [x16]
+ br x16
+ .size glGetInteger64v, .-glGetInteger64v
+
+ .align 2
+ .global glColor4ubVertex3fSUN
+ .type glColor4ubVertex3fSUN, %function
+glColor4ubVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glColor4ubVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor4ubVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glColor4ubVertex3fSUN, .-glColor4ubVertex3fSUN
+
+ .align 2
+ .global glVertex2bOES
+ .type glVertex2bOES, %function
+glVertex2bOES:
+ adrp x16, :got:__blue_glCore_glVertex2bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex2bOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex2bOES, .-glVertex2bOES
+
+ .align 2
+ .global glGetProgramEnvParameterfvARB
+ .type glGetProgramEnvParameterfvARB, %function
+glGetProgramEnvParameterfvARB:
+ adrp x16, :got:__blue_glCore_glGetProgramEnvParameterfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramEnvParameterfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramEnvParameterfvARB, .-glGetProgramEnvParameterfvARB
+
+ .align 2
+ .global glVertexAttrib4usvARB
+ .type glVertexAttrib4usvARB, %function
+glVertexAttrib4usvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4usvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4usvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4usvARB, .-glVertexAttrib4usvARB
+
+ .align 2
+ .global glNamedFramebufferRenderbuffer
+ .type glNamedFramebufferRenderbuffer, %function
+glNamedFramebufferRenderbuffer:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferRenderbuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferRenderbuffer]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferRenderbuffer, .-glNamedFramebufferRenderbuffer
+
+ .align 2
+ .global glGetHandleARB
+ .type glGetHandleARB, %function
+glGetHandleARB:
+ adrp x16, :got:__blue_glCore_glGetHandleARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetHandleARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetHandleARB, .-glGetHandleARB
+
+ .align 2
+ .global glTestFenceAPPLE
+ .type glTestFenceAPPLE, %function
+glTestFenceAPPLE:
+ adrp x16, :got:__blue_glCore_glTestFenceAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTestFenceAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glTestFenceAPPLE, .-glTestFenceAPPLE
+
+ .align 2
+ .global glVertexAttrib4Niv
+ .type glVertexAttrib4Niv, %function
+glVertexAttrib4Niv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4Niv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4Niv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4Niv, .-glVertexAttrib4Niv
+
+ .align 2
+ .global glClearBufferiv
+ .type glClearBufferiv, %function
+glClearBufferiv:
+ adrp x16, :got:__blue_glCore_glClearBufferiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearBufferiv]
+ ldr x16, [x16]
+ br x16
+ .size glClearBufferiv, .-glClearBufferiv
+
+ .align 2
+ .global glColorP4uiv
+ .type glColorP4uiv, %function
+glColorP4uiv:
+ adrp x16, :got:__blue_glCore_glColorP4uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorP4uiv]
+ ldr x16, [x16]
+ br x16
+ .size glColorP4uiv, .-glColorP4uiv
+
+ .align 2
+ .global glUniformMatrix2x3fv
+ .type glUniformMatrix2x3fv, %function
+glUniformMatrix2x3fv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix2x3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix2x3fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix2x3fv, .-glUniformMatrix2x3fv
+
+ .align 2
+ .global glCallCommandListNV
+ .type glCallCommandListNV, %function
+glCallCommandListNV:
+ adrp x16, :got:__blue_glCore_glCallCommandListNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCallCommandListNV]
+ ldr x16, [x16]
+ br x16
+ .size glCallCommandListNV, .-glCallCommandListNV
+
+ .align 2
+ .global glMakeBufferResidentNV
+ .type glMakeBufferResidentNV, %function
+glMakeBufferResidentNV:
+ adrp x16, :got:__blue_glCore_glMakeBufferResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeBufferResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glMakeBufferResidentNV, .-glMakeBufferResidentNV
+
+ .align 2
+ .global glNamedStringARB
+ .type glNamedStringARB, %function
+glNamedStringARB:
+ adrp x16, :got:__blue_glCore_glNamedStringARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedStringARB]
+ ldr x16, [x16]
+ br x16
+ .size glNamedStringARB, .-glNamedStringARB
+
+ .align 2
+ .global glVDPAUSurfaceAccessNV
+ .type glVDPAUSurfaceAccessNV, %function
+glVDPAUSurfaceAccessNV:
+ adrp x16, :got:__blue_glCore_glVDPAUSurfaceAccessNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVDPAUSurfaceAccessNV]
+ ldr x16, [x16]
+ br x16
+ .size glVDPAUSurfaceAccessNV, .-glVDPAUSurfaceAccessNV
+
+ .align 2
+ .global glMatrixMult3x2fNV
+ .type glMatrixMult3x2fNV, %function
+glMatrixMult3x2fNV:
+ adrp x16, :got:__blue_glCore_glMatrixMult3x2fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixMult3x2fNV]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixMult3x2fNV, .-glMatrixMult3x2fNV
+
+ .align 2
+ .global glGetActiveSubroutineUniformName
+ .type glGetActiveSubroutineUniformName, %function
+glGetActiveSubroutineUniformName:
+ adrp x16, :got:__blue_glCore_glGetActiveSubroutineUniformName
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveSubroutineUniformName]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveSubroutineUniformName, .-glGetActiveSubroutineUniformName
+
+ .align 2
+ .global glGetnHistogramARB
+ .type glGetnHistogramARB, %function
+glGetnHistogramARB:
+ adrp x16, :got:__blue_glCore_glGetnHistogramARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnHistogramARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnHistogramARB, .-glGetnHistogramARB
+
+ .align 2
+ .global glGetTextureLevelParameterfv
+ .type glGetTextureLevelParameterfv, %function
+glGetTextureLevelParameterfv:
+ adrp x16, :got:__blue_glCore_glGetTextureLevelParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureLevelParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureLevelParameterfv, .-glGetTextureLevelParameterfv
+
+ .align 2
+ .global glMultiTexCoord1fv
+ .type glMultiTexCoord1fv, %function
+glMultiTexCoord1fv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1fv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1fv, .-glMultiTexCoord1fv
+
+ .align 2
+ .global glBitmapxOES
+ .type glBitmapxOES, %function
+glBitmapxOES:
+ adrp x16, :got:__blue_glCore_glBitmapxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBitmapxOES]
+ ldr x16, [x16]
+ br x16
+ .size glBitmapxOES, .-glBitmapxOES
+
+ .align 2
+ .global glGetSamplerParameterIuiv
+ .type glGetSamplerParameterIuiv, %function
+glGetSamplerParameterIuiv:
+ adrp x16, :got:__blue_glCore_glGetSamplerParameterIuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetSamplerParameterIuiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetSamplerParameterIuiv, .-glGetSamplerParameterIuiv
+
+ .align 2
+ .global glTexCoordP3ui
+ .type glTexCoordP3ui, %function
+glTexCoordP3ui:
+ adrp x16, :got:__blue_glCore_glTexCoordP3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordP3ui]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordP3ui, .-glTexCoordP3ui
+
+ .align 2
+ .global glTextureSubImage1D
+ .type glTextureSubImage1D, %function
+glTextureSubImage1D:
+ adrp x16, :got:__blue_glCore_glTextureSubImage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureSubImage1D]
+ ldr x16, [x16]
+ br x16
+ .size glTextureSubImage1D, .-glTextureSubImage1D
+
+ .align 2
+ .global glVertexAttribLPointerEXT
+ .type glVertexAttribLPointerEXT, %function
+glVertexAttribLPointerEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribLPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribLPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribLPointerEXT, .-glVertexAttribLPointerEXT
+
+ .align 2
+ .global glFogCoordPointerEXT
+ .type glFogCoordPointerEXT, %function
+glFogCoordPointerEXT:
+ adrp x16, :got:__blue_glCore_glFogCoordPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordPointerEXT, .-glFogCoordPointerEXT
+
+ .align 2
+ .global glWindowPos3s
+ .type glWindowPos3s, %function
+glWindowPos3s:
+ adrp x16, :got:__blue_glCore_glWindowPos3s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3s]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3s, .-glWindowPos3s
+
+ .align 2
+ .global glVertexAttribs2svNV
+ .type glVertexAttribs2svNV, %function
+glVertexAttribs2svNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs2svNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs2svNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs2svNV, .-glVertexAttribs2svNV
+
+ .align 2
+ .global glClearDepthf
+ .type glClearDepthf, %function
+glClearDepthf:
+ adrp x16, :got:__blue_glCore_glClearDepthf
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearDepthf]
+ ldr x16, [x16]
+ br x16
+ .size glClearDepthf, .-glClearDepthf
+
+ .align 2
+ .global glWindowPos3i
+ .type glWindowPos3i, %function
+glWindowPos3i:
+ adrp x16, :got:__blue_glCore_glWindowPos3i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3i]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3i, .-glWindowPos3i
+
+ .align 2
+ .global glWindowPos3d
+ .type glWindowPos3d, %function
+glWindowPos3d:
+ adrp x16, :got:__blue_glCore_glWindowPos3d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3d]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3d, .-glWindowPos3d
+
+ .align 2
+ .global glGetPerfMonitorCounterStringAMD
+ .type glGetPerfMonitorCounterStringAMD, %function
+glGetPerfMonitorCounterStringAMD:
+ adrp x16, :got:__blue_glCore_glGetPerfMonitorCounterStringAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPerfMonitorCounterStringAMD]
+ ldr x16, [x16]
+ br x16
+ .size glGetPerfMonitorCounterStringAMD, .-glGetPerfMonitorCounterStringAMD
+
+ .align 2
+ .global glIsEnabledIndexedEXT
+ .type glIsEnabledIndexedEXT, %function
+glIsEnabledIndexedEXT:
+ adrp x16, :got:__blue_glCore_glIsEnabledIndexedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsEnabledIndexedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glIsEnabledIndexedEXT, .-glIsEnabledIndexedEXT
+
+ .align 2
+ .global glGetNamedProgramivEXT
+ .type glGetNamedProgramivEXT, %function
+glGetNamedProgramivEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedProgramivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedProgramivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedProgramivEXT, .-glGetNamedProgramivEXT
+
+ .align 2
+ .global glGetTexParameterIuivEXT
+ .type glGetTexParameterIuivEXT, %function
+glGetTexParameterIuivEXT:
+ adrp x16, :got:__blue_glCore_glGetTexParameterIuivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexParameterIuivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexParameterIuivEXT, .-glGetTexParameterIuivEXT
+
+ .align 2
+ .global glBeginPerfMonitorAMD
+ .type glBeginPerfMonitorAMD, %function
+glBeginPerfMonitorAMD:
+ adrp x16, :got:__blue_glCore_glBeginPerfMonitorAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginPerfMonitorAMD]
+ ldr x16, [x16]
+ br x16
+ .size glBeginPerfMonitorAMD, .-glBeginPerfMonitorAMD
+
+ .align 2
+ .global glProgramUniformMatrix4x3dv
+ .type glProgramUniformMatrix4x3dv, %function
+glProgramUniformMatrix4x3dv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4x3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4x3dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4x3dv, .-glProgramUniformMatrix4x3dv
+
+ .align 2
+ .global glGetNamedProgramLocalParameterIuivEXT
+ .type glGetNamedProgramLocalParameterIuivEXT, %function
+glGetNamedProgramLocalParameterIuivEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedProgramLocalParameterIuivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedProgramLocalParameterIuivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedProgramLocalParameterIuivEXT, .-glGetNamedProgramLocalParameterIuivEXT
+
+ .align 2
+ .global glReadnPixels
+ .type glReadnPixels, %function
+glReadnPixels:
+ adrp x16, :got:__blue_glCore_glReadnPixels
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReadnPixels]
+ ldr x16, [x16]
+ br x16
+ .size glReadnPixels, .-glReadnPixels
+
+ .align 2
+ .global glMultiTexCoord4f
+ .type glMultiTexCoord4f, %function
+glMultiTexCoord4f:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4f]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4f, .-glMultiTexCoord4f
+
+ .align 2
+ .global glMultiTexCoord4d
+ .type glMultiTexCoord4d, %function
+glMultiTexCoord4d:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4d]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4d, .-glMultiTexCoord4d
+
+ .align 2
+ .global glVertexAttribL3ui64NV
+ .type glVertexAttribL3ui64NV, %function
+glVertexAttribL3ui64NV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL3ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL3ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL3ui64NV, .-glVertexAttribL3ui64NV
+
+ .align 2
+ .global glProgramUniform4fvEXT
+ .type glProgramUniform4fvEXT, %function
+glProgramUniform4fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform4fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4fvEXT, .-glProgramUniform4fvEXT
+
+ .align 2
+ .global glVertexAttrib2sARB
+ .type glVertexAttrib2sARB, %function
+glVertexAttrib2sARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2sARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2sARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2sARB, .-glVertexAttrib2sARB
+
+ .align 2
+ .global glCompressedTexImage2DARB
+ .type glCompressedTexImage2DARB, %function
+glCompressedTexImage2DARB:
+ adrp x16, :got:__blue_glCore_glCompressedTexImage2DARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexImage2DARB]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexImage2DARB, .-glCompressedTexImage2DARB
+
+ .align 2
+ .global glCheckFramebufferStatusEXT
+ .type glCheckFramebufferStatusEXT, %function
+glCheckFramebufferStatusEXT:
+ adrp x16, :got:__blue_glCore_glCheckFramebufferStatusEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCheckFramebufferStatusEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCheckFramebufferStatusEXT, .-glCheckFramebufferStatusEXT
+
+ .align 2
+ .global glGetnMapivARB
+ .type glGetnMapivARB, %function
+glGetnMapivARB:
+ adrp x16, :got:__blue_glCore_glGetnMapivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnMapivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnMapivARB, .-glGetnMapivARB
+
+ .align 2
+ .global glMultiTexCoord1ivARB
+ .type glMultiTexCoord1ivARB, %function
+glMultiTexCoord1ivARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1ivARB, .-glMultiTexCoord1ivARB
+
+ .align 2
+ .global glDisableVertexAttribArrayARB
+ .type glDisableVertexAttribArrayARB, %function
+glDisableVertexAttribArrayARB:
+ adrp x16, :got:__blue_glCore_glDisableVertexAttribArrayARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisableVertexAttribArrayARB]
+ ldr x16, [x16]
+ br x16
+ .size glDisableVertexAttribArrayARB, .-glDisableVertexAttribArrayARB
+
+ .align 2
+ .global glVertexAttribI4ui
+ .type glVertexAttribI4ui, %function
+glVertexAttribI4ui:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4ui, .-glVertexAttribI4ui
+
+ .align 2
+ .global glGetPathDashArrayNV
+ .type glGetPathDashArrayNV, %function
+glGetPathDashArrayNV:
+ adrp x16, :got:__blue_glCore_glGetPathDashArrayNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathDashArrayNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathDashArrayNV, .-glGetPathDashArrayNV
+
+ .align 2
+ .global glMultiTexRenderbufferEXT
+ .type glMultiTexRenderbufferEXT, %function
+glMultiTexRenderbufferEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexRenderbufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexRenderbufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexRenderbufferEXT, .-glMultiTexRenderbufferEXT
+
+ .align 2
+ .global glTexCoord4fVertex4fSUN
+ .type glTexCoord4fVertex4fSUN, %function
+glTexCoord4fVertex4fSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord4fVertex4fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord4fVertex4fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord4fVertex4fSUN, .-glTexCoord4fVertex4fSUN
+
+ .align 2
+ .global glColorMask
+ .type glColorMask, %function
+glColorMask:
+ adrp x16, :got:__blue_glCore_glColorMask
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorMask]
+ ldr x16, [x16]
+ br x16
+ .size glColorMask, .-glColorMask
+
+ .align 2
+ .global glVertex4hvNV
+ .type glVertex4hvNV, %function
+glVertex4hvNV:
+ adrp x16, :got:__blue_glCore_glVertex4hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex4hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertex4hvNV, .-glVertex4hvNV
+
+ .align 2
+ .global glGetnTexImage
+ .type glGetnTexImage, %function
+glGetnTexImage:
+ adrp x16, :got:__blue_glCore_glGetnTexImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnTexImage]
+ ldr x16, [x16]
+ br x16
+ .size glGetnTexImage, .-glGetnTexImage
+
+ .align 2
+ .global glProgramLocalParameter4dARB
+ .type glProgramLocalParameter4dARB, %function
+glProgramLocalParameter4dARB:
+ adrp x16, :got:__blue_glCore_glProgramLocalParameter4dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParameter4dARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParameter4dARB, .-glProgramLocalParameter4dARB
+
+ .align 2
+ .global glBlendEquation
+ .type glBlendEquation, %function
+glBlendEquation:
+ adrp x16, :got:__blue_glCore_glBlendEquation
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendEquation]
+ ldr x16, [x16]
+ br x16
+ .size glBlendEquation, .-glBlendEquation
+
+ .align 2
+ .global glUnlockArraysEXT
+ .type glUnlockArraysEXT, %function
+glUnlockArraysEXT:
+ adrp x16, :got:__blue_glCore_glUnlockArraysEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUnlockArraysEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUnlockArraysEXT, .-glUnlockArraysEXT
+
+ .align 2
+ .global glGetQueryObjectui64vEXT
+ .type glGetQueryObjectui64vEXT, %function
+glGetQueryObjectui64vEXT:
+ adrp x16, :got:__blue_glCore_glGetQueryObjectui64vEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryObjectui64vEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryObjectui64vEXT, .-glGetQueryObjectui64vEXT
+
+ .align 2
+ .global glVertexAttribI4uivEXT
+ .type glVertexAttribI4uivEXT, %function
+glVertexAttribI4uivEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4uivEXT, .-glVertexAttribI4uivEXT
+
+ .align 2
+ .global glMultiTexCoord3dv
+ .type glMultiTexCoord3dv, %function
+glMultiTexCoord3dv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3dv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3dv, .-glMultiTexCoord3dv
+
+ .align 2
+ .global glVertexStream4ivATI
+ .type glVertexStream4ivATI, %function
+glVertexStream4ivATI:
+ adrp x16, :got:__blue_glCore_glVertexStream4ivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream4ivATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream4ivATI, .-glVertexStream4ivATI
+
+ .align 2
+ .global glGetProgramResourceiv
+ .type glGetProgramResourceiv, %function
+glGetProgramResourceiv:
+ adrp x16, :got:__blue_glCore_glGetProgramResourceiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramResourceiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramResourceiv, .-glGetProgramResourceiv
+
+ .align 2
+ .global glClearBufferData
+ .type glClearBufferData, %function
+glClearBufferData:
+ adrp x16, :got:__blue_glCore_glClearBufferData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearBufferData]
+ ldr x16, [x16]
+ br x16
+ .size glClearBufferData, .-glClearBufferData
+
+ .align 2
+ .global glGetProgramivNV
+ .type glGetProgramivNV, %function
+glGetProgramivNV:
+ adrp x16, :got:__blue_glCore_glGetProgramivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramivNV, .-glGetProgramivNV
+
+ .align 2
+ .global glBeginTransformFeedback
+ .type glBeginTransformFeedback, %function
+glBeginTransformFeedback:
+ adrp x16, :got:__blue_glCore_glBeginTransformFeedback
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginTransformFeedback]
+ ldr x16, [x16]
+ br x16
+ .size glBeginTransformFeedback, .-glBeginTransformFeedback
+
+ .align 2
+ .global glTransformFeedbackAttribsNV
+ .type glTransformFeedbackAttribsNV, %function
+glTransformFeedbackAttribsNV:
+ adrp x16, :got:__blue_glCore_glTransformFeedbackAttribsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTransformFeedbackAttribsNV]
+ ldr x16, [x16]
+ br x16
+ .size glTransformFeedbackAttribsNV, .-glTransformFeedbackAttribsNV
+
+ .align 2
+ .global glCompressedTexImage1D
+ .type glCompressedTexImage1D, %function
+glCompressedTexImage1D:
+ adrp x16, :got:__blue_glCore_glCompressedTexImage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexImage1D]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexImage1D, .-glCompressedTexImage1D
+
+ .align 2
+ .global glDeleteTransformFeedbacks
+ .type glDeleteTransformFeedbacks, %function
+glDeleteTransformFeedbacks:
+ adrp x16, :got:__blue_glCore_glDeleteTransformFeedbacks
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteTransformFeedbacks]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteTransformFeedbacks, .-glDeleteTransformFeedbacks
+
+ .align 2
+ .global glDrawRangeElementsBaseVertex
+ .type glDrawRangeElementsBaseVertex, %function
+glDrawRangeElementsBaseVertex:
+ adrp x16, :got:__blue_glCore_glDrawRangeElementsBaseVertex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawRangeElementsBaseVertex]
+ ldr x16, [x16]
+ br x16
+ .size glDrawRangeElementsBaseVertex, .-glDrawRangeElementsBaseVertex
+
+ .align 2
+ .global glUniform4i64vARB
+ .type glUniform4i64vARB, %function
+glUniform4i64vARB:
+ adrp x16, :got:__blue_glCore_glUniform4i64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4i64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4i64vARB, .-glUniform4i64vARB
+
+ .align 2
+ .global glTextureStorage3DMultisampleEXT
+ .type glTextureStorage3DMultisampleEXT, %function
+glTextureStorage3DMultisampleEXT:
+ adrp x16, :got:__blue_glCore_glTextureStorage3DMultisampleEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorage3DMultisampleEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorage3DMultisampleEXT, .-glTextureStorage3DMultisampleEXT
+
+ .align 2
+ .global glBindAttribLocation
+ .type glBindAttribLocation, %function
+glBindAttribLocation:
+ adrp x16, :got:__blue_glCore_glBindAttribLocation
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindAttribLocation]
+ ldr x16, [x16]
+ br x16
+ .size glBindAttribLocation, .-glBindAttribLocation
+
+ .align 2
+ .global glProgramUniformui64vNV
+ .type glProgramUniformui64vNV, %function
+glProgramUniformui64vNV:
+ adrp x16, :got:__blue_glCore_glProgramUniformui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformui64vNV, .-glProgramUniformui64vNV
+
+ .align 2
+ .global glCompressedMultiTexImage1DEXT
+ .type glCompressedMultiTexImage1DEXT, %function
+glCompressedMultiTexImage1DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedMultiTexImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedMultiTexImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedMultiTexImage1DEXT, .-glCompressedMultiTexImage1DEXT
+
+ .align 2
+ .global glProgramUniform2ivEXT
+ .type glProgramUniform2ivEXT, %function
+glProgramUniform2ivEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform2ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2ivEXT, .-glProgramUniform2ivEXT
+
+ .align 2
+ .global glPushGroupMarkerEXT
+ .type glPushGroupMarkerEXT, %function
+glPushGroupMarkerEXT:
+ adrp x16, :got:__blue_glCore_glPushGroupMarkerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPushGroupMarkerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPushGroupMarkerEXT, .-glPushGroupMarkerEXT
+
+ .align 2
+ .global glVertexAttrib1dv
+ .type glVertexAttrib1dv, %function
+glVertexAttrib1dv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1dv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1dv, .-glVertexAttrib1dv
+
+ .align 2
+ .global glResolveDepthValuesNV
+ .type glResolveDepthValuesNV, %function
+glResolveDepthValuesNV:
+ adrp x16, :got:__blue_glCore_glResolveDepthValuesNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glResolveDepthValuesNV]
+ ldr x16, [x16]
+ br x16
+ .size glResolveDepthValuesNV, .-glResolveDepthValuesNV
+
+ .align 2
+ .global glMultTransposeMatrixxOES
+ .type glMultTransposeMatrixxOES, %function
+glMultTransposeMatrixxOES:
+ adrp x16, :got:__blue_glCore_glMultTransposeMatrixxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultTransposeMatrixxOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultTransposeMatrixxOES, .-glMultTransposeMatrixxOES
+
+ .align 2
+ .global glGetPixelMapxv
+ .type glGetPixelMapxv, %function
+glGetPixelMapxv:
+ adrp x16, :got:__blue_glCore_glGetPixelMapxv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPixelMapxv]
+ ldr x16, [x16]
+ br x16
+ .size glGetPixelMapxv, .-glGetPixelMapxv
+
+ .align 2
+ .global glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN
+ .type glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, %function
+glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, .-glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN
+
+ .align 2
+ .global glFramebufferSampleLocationsfvARB
+ .type glFramebufferSampleLocationsfvARB, %function
+glFramebufferSampleLocationsfvARB:
+ adrp x16, :got:__blue_glCore_glFramebufferSampleLocationsfvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferSampleLocationsfvARB]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferSampleLocationsfvARB, .-glFramebufferSampleLocationsfvARB
+
+ .align 2
+ .global glBlendFuncSeparatei
+ .type glBlendFuncSeparatei, %function
+glBlendFuncSeparatei:
+ adrp x16, :got:__blue_glCore_glBlendFuncSeparatei
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendFuncSeparatei]
+ ldr x16, [x16]
+ br x16
+ .size glBlendFuncSeparatei, .-glBlendFuncSeparatei
+
+ .align 2
+ .global glGetBooleanIndexedvEXT
+ .type glGetBooleanIndexedvEXT, %function
+glGetBooleanIndexedvEXT:
+ adrp x16, :got:__blue_glCore_glGetBooleanIndexedvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBooleanIndexedvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetBooleanIndexedvEXT, .-glGetBooleanIndexedvEXT
+
+ .align 2
+ .global glVertexP4uiv
+ .type glVertexP4uiv, %function
+glVertexP4uiv:
+ adrp x16, :got:__blue_glCore_glVertexP4uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexP4uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexP4uiv, .-glVertexP4uiv
+
+ .align 2
+ .global glApplyFramebufferAttachmentCMAAINTEL
+ .type glApplyFramebufferAttachmentCMAAINTEL, %function
+glApplyFramebufferAttachmentCMAAINTEL:
+ adrp x16, :got:__blue_glCore_glApplyFramebufferAttachmentCMAAINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glApplyFramebufferAttachmentCMAAINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glApplyFramebufferAttachmentCMAAINTEL, .-glApplyFramebufferAttachmentCMAAINTEL
+
+ .align 2
+ .global glWindowPos2fv
+ .type glWindowPos2fv, %function
+glWindowPos2fv:
+ adrp x16, :got:__blue_glCore_glWindowPos2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2fv]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2fv, .-glWindowPos2fv
+
+ .align 2
+ .global glDisablei
+ .type glDisablei, %function
+glDisablei:
+ adrp x16, :got:__blue_glCore_glDisablei
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisablei]
+ ldr x16, [x16]
+ br x16
+ .size glDisablei, .-glDisablei
+
+ .align 2
+ .global glCopyBufferSubData
+ .type glCopyBufferSubData, %function
+glCopyBufferSubData:
+ adrp x16, :got:__blue_glCore_glCopyBufferSubData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyBufferSubData]
+ ldr x16, [x16]
+ br x16
+ .size glCopyBufferSubData, .-glCopyBufferSubData
+
+ .align 2
+ .global glSelectPerfMonitorCountersAMD
+ .type glSelectPerfMonitorCountersAMD, %function
+glSelectPerfMonitorCountersAMD:
+ adrp x16, :got:__blue_glCore_glSelectPerfMonitorCountersAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSelectPerfMonitorCountersAMD]
+ ldr x16, [x16]
+ br x16
+ .size glSelectPerfMonitorCountersAMD, .-glSelectPerfMonitorCountersAMD
+
+ .align 2
+ .global glGetVertexAttribLi64vNV
+ .type glGetVertexAttribLi64vNV, %function
+glGetVertexAttribLi64vNV:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribLi64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribLi64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribLi64vNV, .-glGetVertexAttribLi64vNV
+
+ .align 2
+ .global glMultiTexCoord2dvARB
+ .type glMultiTexCoord2dvARB, %function
+glMultiTexCoord2dvARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2dvARB, .-glMultiTexCoord2dvARB
+
+ .align 2
+ .global glWeightuivARB
+ .type glWeightuivARB, %function
+glWeightuivARB:
+ adrp x16, :got:__blue_glCore_glWeightuivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWeightuivARB]
+ ldr x16, [x16]
+ br x16
+ .size glWeightuivARB, .-glWeightuivARB
+
+ .align 2
+ .global glGetVideoCaptureStreamdvNV
+ .type glGetVideoCaptureStreamdvNV, %function
+glGetVideoCaptureStreamdvNV:
+ adrp x16, :got:__blue_glCore_glGetVideoCaptureStreamdvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVideoCaptureStreamdvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVideoCaptureStreamdvNV, .-glGetVideoCaptureStreamdvNV
+
+ .align 2
+ .global glGetProgramLocalParameterdvARB
+ .type glGetProgramLocalParameterdvARB, %function
+glGetProgramLocalParameterdvARB:
+ adrp x16, :got:__blue_glCore_glGetProgramLocalParameterdvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramLocalParameterdvARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramLocalParameterdvARB, .-glGetProgramLocalParameterdvARB
+
+ .align 2
+ .global glGetUniformui64vARB
+ .type glGetUniformui64vARB, %function
+glGetUniformui64vARB:
+ adrp x16, :got:__blue_glCore_glGetUniformui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformui64vARB, .-glGetUniformui64vARB
+
+ .align 2
+ .global glVertexStream4fvATI
+ .type glVertexStream4fvATI, %function
+glVertexStream4fvATI:
+ adrp x16, :got:__blue_glCore_glVertexStream4fvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream4fvATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream4fvATI, .-glVertexStream4fvATI
+
+ .align 2
+ .global glGetSynciv
+ .type glGetSynciv, %function
+glGetSynciv:
+ adrp x16, :got:__blue_glCore_glGetSynciv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetSynciv]
+ ldr x16, [x16]
+ br x16
+ .size glGetSynciv, .-glGetSynciv
+
+ .align 2
+ .global glMakeImageHandleResidentARB
+ .type glMakeImageHandleResidentARB, %function
+glMakeImageHandleResidentARB:
+ adrp x16, :got:__blue_glCore_glMakeImageHandleResidentARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMakeImageHandleResidentARB]
+ ldr x16, [x16]
+ br x16
+ .size glMakeImageHandleResidentARB, .-glMakeImageHandleResidentARB
+
+ .align 2
+ .global glGetProgramNamedParameterfvNV
+ .type glGetProgramNamedParameterfvNV, %function
+glGetProgramNamedParameterfvNV:
+ adrp x16, :got:__blue_glCore_glGetProgramNamedParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramNamedParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramNamedParameterfvNV, .-glGetProgramNamedParameterfvNV
+
+ .align 2
+ .global glProgramUniform2i
+ .type glProgramUniform2i, %function
+glProgramUniform2i:
+ adrp x16, :got:__blue_glCore_glProgramUniform2i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2i]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2i, .-glProgramUniform2i
+
+ .align 2
+ .global glProgramUniform2d
+ .type glProgramUniform2d, %function
+glProgramUniform2d:
+ adrp x16, :got:__blue_glCore_glProgramUniform2d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2d]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2d, .-glProgramUniform2d
+
+ .align 2
+ .global glProgramLocalParametersI4uivNV
+ .type glProgramLocalParametersI4uivNV, %function
+glProgramLocalParametersI4uivNV:
+ adrp x16, :got:__blue_glCore_glProgramLocalParametersI4uivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParametersI4uivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParametersI4uivNV, .-glProgramLocalParametersI4uivNV
+
+ .align 2
+ .global glProgramUniform2f
+ .type glProgramUniform2f, %function
+glProgramUniform2f:
+ adrp x16, :got:__blue_glCore_glProgramUniform2f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2f]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2f, .-glProgramUniform2f
+
+ .align 2
+ .global glGetProgramBinary
+ .type glGetProgramBinary, %function
+glGetProgramBinary:
+ adrp x16, :got:__blue_glCore_glGetProgramBinary
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramBinary]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramBinary, .-glGetProgramBinary
+
+ .align 2
+ .global glBinormal3iEXT
+ .type glBinormal3iEXT, %function
+glBinormal3iEXT:
+ adrp x16, :got:__blue_glCore_glBinormal3iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormal3iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormal3iEXT, .-glBinormal3iEXT
+
+ .align 2
+ .global glPauseTransformFeedback
+ .type glPauseTransformFeedback, %function
+glPauseTransformFeedback:
+ adrp x16, :got:__blue_glCore_glPauseTransformFeedback
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPauseTransformFeedback]
+ ldr x16, [x16]
+ br x16
+ .size glPauseTransformFeedback, .-glPauseTransformFeedback
+
+ .align 2
+ .global glWindowPos2sMESA
+ .type glWindowPos2sMESA, %function
+glWindowPos2sMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos2sMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2sMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2sMESA, .-glWindowPos2sMESA
+
+ .align 2
+ .global glGlobalAlphaFactorbSUN
+ .type glGlobalAlphaFactorbSUN, %function
+glGlobalAlphaFactorbSUN:
+ adrp x16, :got:__blue_glCore_glGlobalAlphaFactorbSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGlobalAlphaFactorbSUN]
+ ldr x16, [x16]
+ br x16
+ .size glGlobalAlphaFactorbSUN, .-glGlobalAlphaFactorbSUN
+
+ .align 2
+ .global glCreateTransformFeedbacks
+ .type glCreateTransformFeedbacks, %function
+glCreateTransformFeedbacks:
+ adrp x16, :got:__blue_glCore_glCreateTransformFeedbacks
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateTransformFeedbacks]
+ ldr x16, [x16]
+ br x16
+ .size glCreateTransformFeedbacks, .-glCreateTransformFeedbacks
+
+ .align 2
+ .global glTexturePageCommitmentEXT
+ .type glTexturePageCommitmentEXT, %function
+glTexturePageCommitmentEXT:
+ adrp x16, :got:__blue_glCore_glTexturePageCommitmentEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexturePageCommitmentEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTexturePageCommitmentEXT, .-glTexturePageCommitmentEXT
+
+ .align 2
+ .global glTransformFeedbackVaryingsNV
+ .type glTransformFeedbackVaryingsNV, %function
+glTransformFeedbackVaryingsNV:
+ adrp x16, :got:__blue_glCore_glTransformFeedbackVaryingsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTransformFeedbackVaryingsNV]
+ ldr x16, [x16]
+ br x16
+ .size glTransformFeedbackVaryingsNV, .-glTransformFeedbackVaryingsNV
+
+ .align 2
+ .global glTexSubImage1D
+ .type glTexSubImage1D, %function
+glTexSubImage1D:
+ adrp x16, :got:__blue_glCore_glTexSubImage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexSubImage1D]
+ ldr x16, [x16]
+ br x16
+ .size glTexSubImage1D, .-glTexSubImage1D
+
+ .align 2
+ .global glConvolutionParameterfvEXT
+ .type glConvolutionParameterfvEXT, %function
+glConvolutionParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glConvolutionParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionParameterfvEXT, .-glConvolutionParameterfvEXT
+
+ .align 2
+ .global glBlitFramebufferEXT
+ .type glBlitFramebufferEXT, %function
+glBlitFramebufferEXT:
+ adrp x16, :got:__blue_glCore_glBlitFramebufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlitFramebufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBlitFramebufferEXT, .-glBlitFramebufferEXT
+
+ .align 2
+ .global glUniformMatrix4fvARB
+ .type glUniformMatrix4fvARB, %function
+glUniformMatrix4fvARB:
+ adrp x16, :got:__blue_glCore_glUniformMatrix4fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix4fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix4fvARB, .-glUniformMatrix4fvARB
+
+ .align 2
+ .global glProgramEnvParameter4dvARB
+ .type glProgramEnvParameter4dvARB, %function
+glProgramEnvParameter4dvARB:
+ adrp x16, :got:__blue_glCore_glProgramEnvParameter4dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParameter4dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParameter4dvARB, .-glProgramEnvParameter4dvARB
+
+ .align 2
+ .global glVertexAttribP3uiv
+ .type glVertexAttribP3uiv, %function
+glVertexAttribP3uiv:
+ adrp x16, :got:__blue_glCore_glVertexAttribP3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribP3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribP3uiv, .-glVertexAttribP3uiv
+
+ .align 2
+ .global glElementPointerAPPLE
+ .type glElementPointerAPPLE, %function
+glElementPointerAPPLE:
+ adrp x16, :got:__blue_glCore_glElementPointerAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glElementPointerAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glElementPointerAPPLE, .-glElementPointerAPPLE
+
+ .align 2
+ .global glGetMultiTexLevelParameterivEXT
+ .type glGetMultiTexLevelParameterivEXT, %function
+glGetMultiTexLevelParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetMultiTexLevelParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMultiTexLevelParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetMultiTexLevelParameterivEXT, .-glGetMultiTexLevelParameterivEXT
+
+ .align 2
+ .global glIsOcclusionQueryNV
+ .type glIsOcclusionQueryNV, %function
+glIsOcclusionQueryNV:
+ adrp x16, :got:__blue_glCore_glIsOcclusionQueryNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsOcclusionQueryNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsOcclusionQueryNV, .-glIsOcclusionQueryNV
+
+ .align 2
+ .global glGetProgramEnvParameterIuivNV
+ .type glGetProgramEnvParameterIuivNV, %function
+glGetProgramEnvParameterIuivNV:
+ adrp x16, :got:__blue_glCore_glGetProgramEnvParameterIuivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramEnvParameterIuivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramEnvParameterIuivNV, .-glGetProgramEnvParameterIuivNV
+
+ .align 2
+ .global glGetVertexArrayiv
+ .type glGetVertexArrayiv, %function
+glGetVertexArrayiv:
+ adrp x16, :got:__blue_glCore_glGetVertexArrayiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexArrayiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexArrayiv, .-glGetVertexArrayiv
+
+ .align 2
+ .global glVertexAttrib4fvARB
+ .type glVertexAttrib4fvARB, %function
+glVertexAttrib4fvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4fvARB, .-glVertexAttrib4fvARB
+
+ .align 2
+ .global glGetNamedProgramLocalParameterIivEXT
+ .type glGetNamedProgramLocalParameterIivEXT, %function
+glGetNamedProgramLocalParameterIivEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedProgramLocalParameterIivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedProgramLocalParameterIivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedProgramLocalParameterIivEXT, .-glGetNamedProgramLocalParameterIivEXT
+
+ .align 2
+ .global glProgramUniform3uiEXT
+ .type glProgramUniform3uiEXT, %function
+glProgramUniform3uiEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform3uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3uiEXT, .-glProgramUniform3uiEXT
+
+ .align 2
+ .global glProgramUniformMatrix4x2dvEXT
+ .type glProgramUniformMatrix4x2dvEXT, %function
+glProgramUniformMatrix4x2dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4x2dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4x2dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4x2dvEXT, .-glProgramUniformMatrix4x2dvEXT
+
+ .align 2
+ .global glTexCoord1hvNV
+ .type glTexCoord1hvNV, %function
+glTexCoord1hvNV:
+ adrp x16, :got:__blue_glCore_glTexCoord1hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord1hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord1hvNV, .-glTexCoord1hvNV
+
+ .align 2
+ .global glTexParameterfv
+ .type glTexParameterfv, %function
+glTexParameterfv:
+ adrp x16, :got:__blue_glCore_glTexParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glTexParameterfv, .-glTexParameterfv
+
+ .align 2
+ .global glVariantdvEXT
+ .type glVariantdvEXT, %function
+glVariantdvEXT:
+ adrp x16, :got:__blue_glCore_glVariantdvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVariantdvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVariantdvEXT, .-glVariantdvEXT
+
+ .align 2
+ .global glCullParameterfvEXT
+ .type glCullParameterfvEXT, %function
+glCullParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glCullParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCullParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCullParameterfvEXT, .-glCullParameterfvEXT
+
+ .align 2
+ .global glUniform3dv
+ .type glUniform3dv, %function
+glUniform3dv:
+ adrp x16, :got:__blue_glCore_glUniform3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3dv, .-glUniform3dv
+
+ .align 2
+ .global glProgramUniform3fv
+ .type glProgramUniform3fv, %function
+glProgramUniform3fv:
+ adrp x16, :got:__blue_glCore_glProgramUniform3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3fv, .-glProgramUniform3fv
+
+ .align 2
+ .global glIsBufferARB
+ .type glIsBufferARB, %function
+glIsBufferARB:
+ adrp x16, :got:__blue_glCore_glIsBufferARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsBufferARB]
+ ldr x16, [x16]
+ br x16
+ .size glIsBufferARB, .-glIsBufferARB
+
+ .align 2
+ .global glMultiTexCoord1bOES
+ .type glMultiTexCoord1bOES, %function
+glMultiTexCoord1bOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1bOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1bOES, .-glMultiTexCoord1bOES
+
+ .align 2
+ .global glFogCoordhNV
+ .type glFogCoordhNV, %function
+glFogCoordhNV:
+ adrp x16, :got:__blue_glCore_glFogCoordhNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordhNV]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordhNV, .-glFogCoordhNV
+
+ .align 2
+ .global glVertexAttrib4dvNV
+ .type glVertexAttrib4dvNV, %function
+glVertexAttrib4dvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4dvNV, .-glVertexAttrib4dvNV
+
+ .align 2
+ .global glGenSymbolsEXT
+ .type glGenSymbolsEXT, %function
+glGenSymbolsEXT:
+ adrp x16, :got:__blue_glCore_glGenSymbolsEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenSymbolsEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGenSymbolsEXT, .-glGenSymbolsEXT
+
+ .align 2
+ .global glGetConvolutionFilter
+ .type glGetConvolutionFilter, %function
+glGetConvolutionFilter:
+ adrp x16, :got:__blue_glCore_glGetConvolutionFilter
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetConvolutionFilter]
+ ldr x16, [x16]
+ br x16
+ .size glGetConvolutionFilter, .-glGetConvolutionFilter
+
+ .align 2
+ .global glProgramUniform1fvEXT
+ .type glProgramUniform1fvEXT, %function
+glProgramUniform1fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform1fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1fvEXT, .-glProgramUniform1fvEXT
+
+ .align 2
+ .global glVertexAttrib1dvNV
+ .type glVertexAttrib1dvNV, %function
+glVertexAttrib1dvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1dvNV, .-glVertexAttrib1dvNV
+
+ .align 2
+ .global glCompressedTexImage1DARB
+ .type glCompressedTexImage1DARB, %function
+glCompressedTexImage1DARB:
+ adrp x16, :got:__blue_glCore_glCompressedTexImage1DARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexImage1DARB]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexImage1DARB, .-glCompressedTexImage1DARB
+
+ .align 2
+ .global glDrawElementsIndirect
+ .type glDrawElementsIndirect, %function
+glDrawElementsIndirect:
+ adrp x16, :got:__blue_glCore_glDrawElementsIndirect
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElementsIndirect]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElementsIndirect, .-glDrawElementsIndirect
+
+ .align 2
+ .global glGetProgramEnvParameterIivNV
+ .type glGetProgramEnvParameterIivNV, %function
+glGetProgramEnvParameterIivNV:
+ adrp x16, :got:__blue_glCore_glGetProgramEnvParameterIivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramEnvParameterIivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramEnvParameterIivNV, .-glGetProgramEnvParameterIivNV
+
+ .align 2
+ .global glGetQueryObjectui64v
+ .type glGetQueryObjectui64v, %function
+glGetQueryObjectui64v:
+ adrp x16, :got:__blue_glCore_glGetQueryObjectui64v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryObjectui64v]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryObjectui64v, .-glGetQueryObjectui64v
+
+ .align 2
+ .global glVertexAttribL4ui64vNV
+ .type glVertexAttribL4ui64vNV, %function
+glVertexAttribL4ui64vNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL4ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL4ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL4ui64vNV, .-glVertexAttribL4ui64vNV
+
+ .align 2
+ .global glGetVideoivNV
+ .type glGetVideoivNV, %function
+glGetVideoivNV:
+ adrp x16, :got:__blue_glCore_glGetVideoivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVideoivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVideoivNV, .-glGetVideoivNV
+
+ .align 2
+ .global glGetTextureImage
+ .type glGetTextureImage, %function
+glGetTextureImage:
+ adrp x16, :got:__blue_glCore_glGetTextureImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureImage]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureImage, .-glGetTextureImage
+
+ .align 2
+ .global glProgramUniform1fv
+ .type glProgramUniform1fv, %function
+glProgramUniform1fv:
+ adrp x16, :got:__blue_glCore_glProgramUniform1fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1fv, .-glProgramUniform1fv
+
+ .align 2
+ .global glUniformMatrix4fv
+ .type glUniformMatrix4fv, %function
+glUniformMatrix4fv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix4fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix4fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix4fv, .-glUniformMatrix4fv
+
+ .align 2
+ .global glBeginFragmentShaderATI
+ .type glBeginFragmentShaderATI, %function
+glBeginFragmentShaderATI:
+ adrp x16, :got:__blue_glCore_glBeginFragmentShaderATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginFragmentShaderATI]
+ ldr x16, [x16]
+ br x16
+ .size glBeginFragmentShaderATI, .-glBeginFragmentShaderATI
+
+ .align 2
+ .global glMultiDrawArraysEXT
+ .type glMultiDrawArraysEXT, %function
+glMultiDrawArraysEXT:
+ adrp x16, :got:__blue_glCore_glMultiDrawArraysEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawArraysEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawArraysEXT, .-glMultiDrawArraysEXT
+
+ .align 2
+ .global glGenNamesAMD
+ .type glGenNamesAMD, %function
+glGenNamesAMD:
+ adrp x16, :got:__blue_glCore_glGenNamesAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenNamesAMD]
+ ldr x16, [x16]
+ br x16
+ .size glGenNamesAMD, .-glGenNamesAMD
+
+ .align 2
+ .global glPathParameteriNV
+ .type glPathParameteriNV, %function
+glPathParameteriNV:
+ adrp x16, :got:__blue_glCore_glPathParameteriNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathParameteriNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathParameteriNV, .-glPathParameteriNV
+
+ .align 2
+ .global glCreateCommandListsNV
+ .type glCreateCommandListsNV, %function
+glCreateCommandListsNV:
+ adrp x16, :got:__blue_glCore_glCreateCommandListsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateCommandListsNV]
+ ldr x16, [x16]
+ br x16
+ .size glCreateCommandListsNV, .-glCreateCommandListsNV
+
+ .align 2
+ .global glDeleteProgramPipelines
+ .type glDeleteProgramPipelines, %function
+glDeleteProgramPipelines:
+ adrp x16, :got:__blue_glCore_glDeleteProgramPipelines
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteProgramPipelines]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteProgramPipelines, .-glDeleteProgramPipelines
+
+ .align 2
+ .global glCopyColorSubTableEXT
+ .type glCopyColorSubTableEXT, %function
+glCopyColorSubTableEXT:
+ adrp x16, :got:__blue_glCore_glCopyColorSubTableEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyColorSubTableEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyColorSubTableEXT, .-glCopyColorSubTableEXT
+
+ .align 2
+ .global glVariantsvEXT
+ .type glVariantsvEXT, %function
+glVariantsvEXT:
+ adrp x16, :got:__blue_glCore_glVariantsvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVariantsvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVariantsvEXT, .-glVariantsvEXT
+
+ .align 2
+ .global glIsNameAMD
+ .type glIsNameAMD, %function
+glIsNameAMD:
+ adrp x16, :got:__blue_glCore_glIsNameAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsNameAMD]
+ ldr x16, [x16]
+ br x16
+ .size glIsNameAMD, .-glIsNameAMD
+
+ .align 2
+ .global glVertexArrayEdgeFlagOffsetEXT
+ .type glVertexArrayEdgeFlagOffsetEXT, %function
+glVertexArrayEdgeFlagOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayEdgeFlagOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayEdgeFlagOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayEdgeFlagOffsetEXT, .-glVertexArrayEdgeFlagOffsetEXT
+
+ .align 2
+ .global glWindowPos2s
+ .type glWindowPos2s, %function
+glWindowPos2s:
+ adrp x16, :got:__blue_glCore_glWindowPos2s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2s]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2s, .-glWindowPos2s
+
+ .align 2
+ .global glSecondaryColor3iEXT
+ .type glSecondaryColor3iEXT, %function
+glSecondaryColor3iEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3iEXT, .-glSecondaryColor3iEXT
+
+ .align 2
+ .global glWindowPos2i
+ .type glWindowPos2i, %function
+glWindowPos2i:
+ adrp x16, :got:__blue_glCore_glWindowPos2i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2i]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2i, .-glWindowPos2i
+
+ .align 2
+ .global glWindowPos2f
+ .type glWindowPos2f, %function
+glWindowPos2f:
+ adrp x16, :got:__blue_glCore_glWindowPos2f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2f]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2f, .-glWindowPos2f
+
+ .align 2
+ .global glWindowPos2d
+ .type glWindowPos2d, %function
+glWindowPos2d:
+ adrp x16, :got:__blue_glCore_glWindowPos2d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2d]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2d, .-glWindowPos2d
+
+ .align 2
+ .global glUniform4uivEXT
+ .type glUniform4uivEXT, %function
+glUniform4uivEXT:
+ adrp x16, :got:__blue_glCore_glUniform4uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4uivEXT, .-glUniform4uivEXT
+
+ .align 2
+ .global glOrthoxOES
+ .type glOrthoxOES, %function
+glOrthoxOES:
+ adrp x16, :got:__blue_glCore_glOrthoxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glOrthoxOES]
+ ldr x16, [x16]
+ br x16
+ .size glOrthoxOES, .-glOrthoxOES
+
+ .align 2
+ .global glUniformSubroutinesuiv
+ .type glUniformSubroutinesuiv, %function
+glUniformSubroutinesuiv:
+ adrp x16, :got:__blue_glCore_glUniformSubroutinesuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformSubroutinesuiv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformSubroutinesuiv, .-glUniformSubroutinesuiv
+
+ .align 2
+ .global glTexCoord2fColor3fVertex3fvSUN
+ .type glTexCoord2fColor3fVertex3fvSUN, %function
+glTexCoord2fColor3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord2fColor3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2fColor3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2fColor3fVertex3fvSUN, .-glTexCoord2fColor3fVertex3fvSUN
+
+ .align 2
+ .global glProgramUniform1i64vNV
+ .type glProgramUniform1i64vNV, %function
+glProgramUniform1i64vNV:
+ adrp x16, :got:__blue_glCore_glProgramUniform1i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1i64vNV, .-glProgramUniform1i64vNV
+
+ .align 2
+ .global glVertexAttribI4uiEXT
+ .type glVertexAttribI4uiEXT, %function
+glVertexAttribI4uiEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4uiEXT, .-glVertexAttribI4uiEXT
+
+ .align 2
+ .global glSecondaryColor3ubEXT
+ .type glSecondaryColor3ubEXT, %function
+glSecondaryColor3ubEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3ubEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3ubEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3ubEXT, .-glSecondaryColor3ubEXT
+
+ .align 2
+ .global glCompressedMultiTexSubImage1DEXT
+ .type glCompressedMultiTexSubImage1DEXT, %function
+glCompressedMultiTexSubImage1DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedMultiTexSubImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedMultiTexSubImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedMultiTexSubImage1DEXT, .-glCompressedMultiTexSubImage1DEXT
+
+ .align 2
+ .global glTangentPointerEXT
+ .type glTangentPointerEXT, %function
+glTangentPointerEXT:
+ adrp x16, :got:__blue_glCore_glTangentPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangentPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangentPointerEXT, .-glTangentPointerEXT
+
+ .align 2
+ .global glColorP3uiv
+ .type glColorP3uiv, %function
+glColorP3uiv:
+ adrp x16, :got:__blue_glCore_glColorP3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorP3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glColorP3uiv, .-glColorP3uiv
+
+ .align 2
+ .global glFogCoordfv
+ .type glFogCoordfv, %function
+glFogCoordfv:
+ adrp x16, :got:__blue_glCore_glFogCoordfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoordfv]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoordfv, .-glFogCoordfv
+
+ .align 2
+ .global glCompileShader
+ .type glCompileShader, %function
+glCompileShader:
+ adrp x16, :got:__blue_glCore_glCompileShader
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompileShader]
+ ldr x16, [x16]
+ br x16
+ .size glCompileShader, .-glCompileShader
+
+ .align 2
+ .global glTexCoord2hNV
+ .type glTexCoord2hNV, %function
+glTexCoord2hNV:
+ adrp x16, :got:__blue_glCore_glTexCoord2hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2hNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2hNV, .-glTexCoord2hNV
+
+ .align 2
+ .global glUniform1uivEXT
+ .type glUniform1uivEXT, %function
+glUniform1uivEXT:
+ adrp x16, :got:__blue_glCore_glUniform1uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1uivEXT, .-glUniform1uivEXT
+
+ .align 2
+ .global glMatrixLoadTransposedEXT
+ .type glMatrixLoadTransposedEXT, %function
+glMatrixLoadTransposedEXT:
+ adrp x16, :got:__blue_glCore_glMatrixLoadTransposedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixLoadTransposedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixLoadTransposedEXT, .-glMatrixLoadTransposedEXT
+
+ .align 2
+ .global glMatrixTranslatefEXT
+ .type glMatrixTranslatefEXT, %function
+glMatrixTranslatefEXT:
+ adrp x16, :got:__blue_glCore_glMatrixTranslatefEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixTranslatefEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixTranslatefEXT, .-glMatrixTranslatefEXT
+
+ .align 2
+ .global glGetUniformuivEXT
+ .type glGetUniformuivEXT, %function
+glGetUniformuivEXT:
+ adrp x16, :got:__blue_glCore_glGetUniformuivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformuivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformuivEXT, .-glGetUniformuivEXT
+
+ .align 2
+ .global glBeginTransformFeedbackEXT
+ .type glBeginTransformFeedbackEXT, %function
+glBeginTransformFeedbackEXT:
+ adrp x16, :got:__blue_glCore_glBeginTransformFeedbackEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginTransformFeedbackEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBeginTransformFeedbackEXT, .-glBeginTransformFeedbackEXT
+
+ .align 2
+ .global glFramebufferTextureEXT
+ .type glFramebufferTextureEXT, %function
+glFramebufferTextureEXT:
+ adrp x16, :got:__blue_glCore_glFramebufferTextureEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTextureEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTextureEXT, .-glFramebufferTextureEXT
+
+ .align 2
+ .global glVertexAttribIPointer
+ .type glVertexAttribIPointer, %function
+glVertexAttribIPointer:
+ adrp x16, :got:__blue_glCore_glVertexAttribIPointer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribIPointer]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribIPointer, .-glVertexAttribIPointer
+
+ .align 2
+ .global glMultiTexCoordP3ui
+ .type glMultiTexCoordP3ui, %function
+glMultiTexCoordP3ui:
+ adrp x16, :got:__blue_glCore_glMultiTexCoordP3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoordP3ui]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoordP3ui, .-glMultiTexCoordP3ui
+
+ .align 2
+ .global glEvaluateDepthValuesARB
+ .type glEvaluateDepthValuesARB, %function
+glEvaluateDepthValuesARB:
+ adrp x16, :got:__blue_glCore_glEvaluateDepthValuesARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEvaluateDepthValuesARB]
+ ldr x16, [x16]
+ br x16
+ .size glEvaluateDepthValuesARB, .-glEvaluateDepthValuesARB
+
+ .align 2
+ .global glWindowPos2sARB
+ .type glWindowPos2sARB, %function
+glWindowPos2sARB:
+ adrp x16, :got:__blue_glCore_glWindowPos2sARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2sARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2sARB, .-glWindowPos2sARB
+
+ .align 2
+ .global glColor4fNormal3fVertex3fvSUN
+ .type glColor4fNormal3fVertex3fvSUN, %function
+glColor4fNormal3fVertex3fvSUN:
+ adrp x16, :got:__blue_glCore_glColor4fNormal3fVertex3fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor4fNormal3fVertex3fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glColor4fNormal3fVertex3fvSUN, .-glColor4fNormal3fVertex3fvSUN
+
+ .align 2
+ .global glSeparableFilter2DEXT
+ .type glSeparableFilter2DEXT, %function
+glSeparableFilter2DEXT:
+ adrp x16, :got:__blue_glCore_glSeparableFilter2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSeparableFilter2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSeparableFilter2DEXT, .-glSeparableFilter2DEXT
+
+ .align 2
+ .global glTexParameterxOES
+ .type glTexParameterxOES, %function
+glTexParameterxOES:
+ adrp x16, :got:__blue_glCore_glTexParameterxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexParameterxOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexParameterxOES, .-glTexParameterxOES
+
+ .align 2
+ .global glClearAccumxOES
+ .type glClearAccumxOES, %function
+glClearAccumxOES:
+ adrp x16, :got:__blue_glCore_glClearAccumxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearAccumxOES]
+ ldr x16, [x16]
+ br x16
+ .size glClearAccumxOES, .-glClearAccumxOES
+
+ .align 2
+ .global glInvalidateFramebuffer
+ .type glInvalidateFramebuffer, %function
+glInvalidateFramebuffer:
+ adrp x16, :got:__blue_glCore_glInvalidateFramebuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glInvalidateFramebuffer]
+ ldr x16, [x16]
+ br x16
+ .size glInvalidateFramebuffer, .-glInvalidateFramebuffer
+
+ .align 2
+ .global glWeightubvARB
+ .type glWeightubvARB, %function
+glWeightubvARB:
+ adrp x16, :got:__blue_glCore_glWeightubvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWeightubvARB]
+ ldr x16, [x16]
+ br x16
+ .size glWeightubvARB, .-glWeightubvARB
+
+ .align 2
+ .global glCompressedTexImage2D
+ .type glCompressedTexImage2D, %function
+glCompressedTexImage2D:
+ adrp x16, :got:__blue_glCore_glCompressedTexImage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexImage2D]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexImage2D, .-glCompressedTexImage2D
+
+ .align 2
+ .global glVertexAttrib1f
+ .type glVertexAttrib1f, %function
+glVertexAttrib1f:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1f]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1f, .-glVertexAttrib1f
+
+ .align 2
+ .global glClearNamedFramebufferfi
+ .type glClearNamedFramebufferfi, %function
+glClearNamedFramebufferfi:
+ adrp x16, :got:__blue_glCore_glClearNamedFramebufferfi
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearNamedFramebufferfi]
+ ldr x16, [x16]
+ br x16
+ .size glClearNamedFramebufferfi, .-glClearNamedFramebufferfi
+
+ .align 2
+ .global glGetQueryBufferObjectuiv
+ .type glGetQueryBufferObjectuiv, %function
+glGetQueryBufferObjectuiv:
+ adrp x16, :got:__blue_glCore_glGetQueryBufferObjectuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryBufferObjectuiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryBufferObjectuiv, .-glGetQueryBufferObjectuiv
+
+ .align 2
+ .global glDrawBuffers
+ .type glDrawBuffers, %function
+glDrawBuffers:
+ adrp x16, :got:__blue_glCore_glDrawBuffers
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawBuffers]
+ ldr x16, [x16]
+ br x16
+ .size glDrawBuffers, .-glDrawBuffers
+
+ .align 2
+ .global glEndVertexShaderEXT
+ .type glEndVertexShaderEXT, %function
+glEndVertexShaderEXT:
+ adrp x16, :got:__blue_glCore_glEndVertexShaderEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndVertexShaderEXT]
+ ldr x16, [x16]
+ br x16
+ .size glEndVertexShaderEXT, .-glEndVertexShaderEXT
+
+ .align 2
+ .global glVertexAttrib1s
+ .type glVertexAttrib1s, %function
+glVertexAttrib1s:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1s]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1s, .-glVertexAttrib1s
+
+ .align 2
+ .global glMultiTexCoord4dvARB
+ .type glMultiTexCoord4dvARB, %function
+glMultiTexCoord4dvARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4dvARB, .-glMultiTexCoord4dvARB
+
+ .align 2
+ .global glMultiTexCoord1sv
+ .type glMultiTexCoord1sv, %function
+glMultiTexCoord1sv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1sv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1sv, .-glMultiTexCoord1sv
+
+ .align 2
+ .global glUniform1ui64vNV
+ .type glUniform1ui64vNV, %function
+glUniform1ui64vNV:
+ adrp x16, :got:__blue_glCore_glUniform1ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1ui64vNV, .-glUniform1ui64vNV
+
+ .align 2
+ .global glGetClipPlanefOES
+ .type glGetClipPlanefOES, %function
+glGetClipPlanefOES:
+ adrp x16, :got:__blue_glCore_glGetClipPlanefOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetClipPlanefOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetClipPlanefOES, .-glGetClipPlanefOES
+
+ .align 2
+ .global glProgramUniform3ivEXT
+ .type glProgramUniform3ivEXT, %function
+glProgramUniform3ivEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform3ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3ivEXT, .-glProgramUniform3ivEXT
+
+ .align 2
+ .global glWeightivARB
+ .type glWeightivARB, %function
+glWeightivARB:
+ adrp x16, :got:__blue_glCore_glWeightivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWeightivARB]
+ ldr x16, [x16]
+ br x16
+ .size glWeightivARB, .-glWeightivARB
+
+ .align 2
+ .global glMultiTexCoord4hvNV
+ .type glMultiTexCoord4hvNV, %function
+glMultiTexCoord4hvNV:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4hvNV, .-glMultiTexCoord4hvNV
+
+ .align 2
+ .global glNormal3hNV
+ .type glNormal3hNV, %function
+glNormal3hNV:
+ adrp x16, :got:__blue_glCore_glNormal3hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormal3hNV]
+ ldr x16, [x16]
+ br x16
+ .size glNormal3hNV, .-glNormal3hNV
+
+ .align 2
+ .global glGetSeparableFilter
+ .type glGetSeparableFilter, %function
+glGetSeparableFilter:
+ adrp x16, :got:__blue_glCore_glGetSeparableFilter
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetSeparableFilter]
+ ldr x16, [x16]
+ br x16
+ .size glGetSeparableFilter, .-glGetSeparableFilter
+
+ .align 2
+ .global glDeleteProgram
+ .type glDeleteProgram, %function
+glDeleteProgram:
+ adrp x16, :got:__blue_glCore_glDeleteProgram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteProgram]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteProgram, .-glDeleteProgram
+
+ .align 2
+ .global glNamedBufferPageCommitmentARB
+ .type glNamedBufferPageCommitmentARB, %function
+glNamedBufferPageCommitmentARB:
+ adrp x16, :got:__blue_glCore_glNamedBufferPageCommitmentARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedBufferPageCommitmentARB]
+ ldr x16, [x16]
+ br x16
+ .size glNamedBufferPageCommitmentARB, .-glNamedBufferPageCommitmentARB
+
+ .align 2
+ .global glTexCoord4bOES
+ .type glTexCoord4bOES, %function
+glTexCoord4bOES:
+ adrp x16, :got:__blue_glCore_glTexCoord4bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord4bOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord4bOES, .-glTexCoord4bOES
+
+ .align 2
+ .global glProgramParameter4dNV
+ .type glProgramParameter4dNV, %function
+glProgramParameter4dNV:
+ adrp x16, :got:__blue_glCore_glProgramParameter4dNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramParameter4dNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramParameter4dNV, .-glProgramParameter4dNV
+
+ .align 2
+ .global glUniformMatrix4x3fv
+ .type glUniformMatrix4x3fv, %function
+glUniformMatrix4x3fv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix4x3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix4x3fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix4x3fv, .-glUniformMatrix4x3fv
+
+ .align 2
+ .global glClearBufferfv
+ .type glClearBufferfv, %function
+glClearBufferfv:
+ adrp x16, :got:__blue_glCore_glClearBufferfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearBufferfv]
+ ldr x16, [x16]
+ br x16
+ .size glClearBufferfv, .-glClearBufferfv
+
+ .align 2
+ .global glPauseTransformFeedbackNV
+ .type glPauseTransformFeedbackNV, %function
+glPauseTransformFeedbackNV:
+ adrp x16, :got:__blue_glCore_glPauseTransformFeedbackNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPauseTransformFeedbackNV]
+ ldr x16, [x16]
+ br x16
+ .size glPauseTransformFeedbackNV, .-glPauseTransformFeedbackNV
+
+ .align 2
+ .global glMultiTexCoord4hNV
+ .type glMultiTexCoord4hNV, %function
+glMultiTexCoord4hNV:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4hNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4hNV, .-glMultiTexCoord4hNV
+
+ .align 2
+ .global glTextureBarrier
+ .type glTextureBarrier, %function
+glTextureBarrier:
+ adrp x16, :got:__blue_glCore_glTextureBarrier
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureBarrier]
+ ldr x16, [x16]
+ br x16
+ .size glTextureBarrier, .-glTextureBarrier
+
+ .align 2
+ .global glAlphaFragmentOp3ATI
+ .type glAlphaFragmentOp3ATI, %function
+glAlphaFragmentOp3ATI:
+ adrp x16, :got:__blue_glCore_glAlphaFragmentOp3ATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glAlphaFragmentOp3ATI]
+ ldr x16, [x16]
+ br x16
+ .size glAlphaFragmentOp3ATI, .-glAlphaFragmentOp3ATI
+
+ .align 2
+ .global glUniform1i64ARB
+ .type glUniform1i64ARB, %function
+glUniform1i64ARB:
+ adrp x16, :got:__blue_glCore_glUniform1i64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1i64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1i64ARB, .-glUniform1i64ARB
+
+ .align 2
+ .global glTexCoord2bvOES
+ .type glTexCoord2bvOES, %function
+glTexCoord2bvOES:
+ adrp x16, :got:__blue_glCore_glTexCoord2bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2bvOES, .-glTexCoord2bvOES
+
+ .align 2
+ .global glEvalCoord2xOES
+ .type glEvalCoord2xOES, %function
+glEvalCoord2xOES:
+ adrp x16, :got:__blue_glCore_glEvalCoord2xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEvalCoord2xOES]
+ ldr x16, [x16]
+ br x16
+ .size glEvalCoord2xOES, .-glEvalCoord2xOES
+
+ .align 2
+ .global glGetSharpenTexFuncSGIS
+ .type glGetSharpenTexFuncSGIS, %function
+glGetSharpenTexFuncSGIS:
+ adrp x16, :got:__blue_glCore_glGetSharpenTexFuncSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetSharpenTexFuncSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glGetSharpenTexFuncSGIS, .-glGetSharpenTexFuncSGIS
+
+ .align 2
+ .global glProgramUniformHandleui64vNV
+ .type glProgramUniformHandleui64vNV, %function
+glProgramUniformHandleui64vNV:
+ adrp x16, :got:__blue_glCore_glProgramUniformHandleui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformHandleui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformHandleui64vNV, .-glProgramUniformHandleui64vNV
+
+ .align 2
+ .global glIglooInterfaceSGIX
+ .type glIglooInterfaceSGIX, %function
+glIglooInterfaceSGIX:
+ adrp x16, :got:__blue_glCore_glIglooInterfaceSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIglooInterfaceSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glIglooInterfaceSGIX, .-glIglooInterfaceSGIX
+
+ .align 2
+ .global glWindowPos2dvARB
+ .type glWindowPos2dvARB, %function
+glWindowPos2dvARB:
+ adrp x16, :got:__blue_glCore_glWindowPos2dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2dvARB, .-glWindowPos2dvARB
+
+ .align 2
+ .global glClearBufferfi
+ .type glClearBufferfi, %function
+glClearBufferfi:
+ adrp x16, :got:__blue_glCore_glClearBufferfi
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearBufferfi]
+ ldr x16, [x16]
+ br x16
+ .size glClearBufferfi, .-glClearBufferfi
+
+ .align 2
+ .global glDrawArraysIndirect
+ .type glDrawArraysIndirect, %function
+glDrawArraysIndirect:
+ adrp x16, :got:__blue_glCore_glDrawArraysIndirect
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawArraysIndirect]
+ ldr x16, [x16]
+ br x16
+ .size glDrawArraysIndirect, .-glDrawArraysIndirect
+
+ .align 2
+ .global glGenVertexArrays
+ .type glGenVertexArrays, %function
+glGenVertexArrays:
+ adrp x16, :got:__blue_glCore_glGenVertexArrays
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenVertexArrays]
+ ldr x16, [x16]
+ br x16
+ .size glGenVertexArrays, .-glGenVertexArrays
+
+ .align 2
+ .global glEnableVertexArrayAttrib
+ .type glEnableVertexArrayAttrib, %function
+glEnableVertexArrayAttrib:
+ adrp x16, :got:__blue_glCore_glEnableVertexArrayAttrib
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnableVertexArrayAttrib]
+ ldr x16, [x16]
+ br x16
+ .size glEnableVertexArrayAttrib, .-glEnableVertexArrayAttrib
+
+ .align 2
+ .global glProgramUniformMatrix3x2dv
+ .type glProgramUniformMatrix3x2dv, %function
+glProgramUniformMatrix3x2dv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3x2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3x2dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3x2dv, .-glProgramUniformMatrix3x2dv
+
+ .align 2
+ .global glVertexStream4fATI
+ .type glVertexStream4fATI, %function
+glVertexStream4fATI:
+ adrp x16, :got:__blue_glCore_glVertexStream4fATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream4fATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream4fATI, .-glVertexStream4fATI
+
+ .align 2
+ .global glGetSamplerParameterIiv
+ .type glGetSamplerParameterIiv, %function
+glGetSamplerParameterIiv:
+ adrp x16, :got:__blue_glCore_glGetSamplerParameterIiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetSamplerParameterIiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetSamplerParameterIiv, .-glGetSamplerParameterIiv
+
+ .align 2
+ .global glGetCoverageModulationTableNV
+ .type glGetCoverageModulationTableNV, %function
+glGetCoverageModulationTableNV:
+ adrp x16, :got:__blue_glCore_glGetCoverageModulationTableNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCoverageModulationTableNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetCoverageModulationTableNV, .-glGetCoverageModulationTableNV
+
+ .align 2
+ .global glDepthRangedNV
+ .type glDepthRangedNV, %function
+glDepthRangedNV:
+ adrp x16, :got:__blue_glCore_glDepthRangedNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthRangedNV]
+ ldr x16, [x16]
+ br x16
+ .size glDepthRangedNV, .-glDepthRangedNV
+
+ .align 2
+ .global glMultiDrawRangeElementArrayAPPLE
+ .type glMultiDrawRangeElementArrayAPPLE, %function
+glMultiDrawRangeElementArrayAPPLE:
+ adrp x16, :got:__blue_glCore_glMultiDrawRangeElementArrayAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawRangeElementArrayAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawRangeElementArrayAPPLE, .-glMultiDrawRangeElementArrayAPPLE
+
+ .align 2
+ .global glVertexAttribFormatNV
+ .type glVertexAttribFormatNV, %function
+glVertexAttribFormatNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribFormatNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribFormatNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribFormatNV, .-glVertexAttribFormatNV
+
+ .align 2
+ .global glGetQueryBufferObjecti64v
+ .type glGetQueryBufferObjecti64v, %function
+glGetQueryBufferObjecti64v:
+ adrp x16, :got:__blue_glCore_glGetQueryBufferObjecti64v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryBufferObjecti64v]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryBufferObjecti64v, .-glGetQueryBufferObjecti64v
+
+ .align 2
+ .global glGetVertexAttribdv
+ .type glGetVertexAttribdv, %function
+glGetVertexAttribdv:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribdv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribdv]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribdv, .-glGetVertexAttribdv
+
+ .align 2
+ .global glStartInstrumentsSGIX
+ .type glStartInstrumentsSGIX, %function
+glStartInstrumentsSGIX:
+ adrp x16, :got:__blue_glCore_glStartInstrumentsSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStartInstrumentsSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glStartInstrumentsSGIX, .-glStartInstrumentsSGIX
+
+ .align 2
+ .global glAreTexturesResidentEXT
+ .type glAreTexturesResidentEXT, %function
+glAreTexturesResidentEXT:
+ adrp x16, :got:__blue_glCore_glAreTexturesResidentEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glAreTexturesResidentEXT]
+ ldr x16, [x16]
+ br x16
+ .size glAreTexturesResidentEXT, .-glAreTexturesResidentEXT
+
+ .align 2
+ .global glProgramUniformMatrix3x4dv
+ .type glProgramUniformMatrix3x4dv, %function
+glProgramUniformMatrix3x4dv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3x4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3x4dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3x4dv, .-glProgramUniformMatrix3x4dv
+
+ .align 2
+ .global glVideoCaptureStreamParameterdvNV
+ .type glVideoCaptureStreamParameterdvNV, %function
+glVideoCaptureStreamParameterdvNV:
+ adrp x16, :got:__blue_glCore_glVideoCaptureStreamParameterdvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVideoCaptureStreamParameterdvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVideoCaptureStreamParameterdvNV, .-glVideoCaptureStreamParameterdvNV
+
+ .align 2
+ .global glMapParameterivNV
+ .type glMapParameterivNV, %function
+glMapParameterivNV:
+ adrp x16, :got:__blue_glCore_glMapParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glMapParameterivNV, .-glMapParameterivNV
+
+ .align 2
+ .global glMultiTexCoord2svARB
+ .type glMultiTexCoord2svARB, %function
+glMultiTexCoord2svARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2svARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2svARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2svARB, .-glMultiTexCoord2svARB
+
+ .align 2
+ .global glSecondaryColor3sEXT
+ .type glSecondaryColor3sEXT, %function
+glSecondaryColor3sEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3sEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3sEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3sEXT, .-glSecondaryColor3sEXT
+
+ .align 2
+ .global glGetTexParameterIivEXT
+ .type glGetTexParameterIivEXT, %function
+glGetTexParameterIivEXT:
+ adrp x16, :got:__blue_glCore_glGetTexParameterIivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexParameterIivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexParameterIivEXT, .-glGetTexParameterIivEXT
+
+ .align 2
+ .global glFrameTerminatorGREMEDY
+ .type glFrameTerminatorGREMEDY, %function
+glFrameTerminatorGREMEDY:
+ adrp x16, :got:__blue_glCore_glFrameTerminatorGREMEDY
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFrameTerminatorGREMEDY]
+ ldr x16, [x16]
+ br x16
+ .size glFrameTerminatorGREMEDY, .-glFrameTerminatorGREMEDY
+
+ .align 2
+ .global glBlendBarrierKHR
+ .type glBlendBarrierKHR, %function
+glBlendBarrierKHR:
+ adrp x16, :got:__blue_glCore_glBlendBarrierKHR
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendBarrierKHR]
+ ldr x16, [x16]
+ br x16
+ .size glBlendBarrierKHR, .-glBlendBarrierKHR
+
+ .align 2
+ .global glVertexAttrib4NubARB
+ .type glVertexAttrib4NubARB, %function
+glVertexAttrib4NubARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4NubARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4NubARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4NubARB, .-glVertexAttrib4NubARB
+
+ .align 2
+ .global glPrimitiveRestartNV
+ .type glPrimitiveRestartNV, %function
+glPrimitiveRestartNV:
+ adrp x16, :got:__blue_glCore_glPrimitiveRestartNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPrimitiveRestartNV]
+ ldr x16, [x16]
+ br x16
+ .size glPrimitiveRestartNV, .-glPrimitiveRestartNV
+
+ .align 2
+ .global glVertexAttribL1ui64vARB
+ .type glVertexAttribL1ui64vARB, %function
+glVertexAttribL1ui64vARB:
+ adrp x16, :got:__blue_glCore_glVertexAttribL1ui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL1ui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL1ui64vARB, .-glVertexAttribL1ui64vARB
+
+ .align 2
+ .global glUniform1i64vNV
+ .type glUniform1i64vNV, %function
+glUniform1i64vNV:
+ adrp x16, :got:__blue_glCore_glUniform1i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1i64vNV, .-glUniform1i64vNV
+
+ .align 2
+ .global glVertexAttribs4svNV
+ .type glVertexAttribs4svNV, %function
+glVertexAttribs4svNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs4svNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs4svNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs4svNV, .-glVertexAttribs4svNV
+
+ .align 2
+ .global glUniform1ui
+ .type glUniform1ui, %function
+glUniform1ui:
+ adrp x16, :got:__blue_glCore_glUniform1ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1ui]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1ui, .-glUniform1ui
+
+ .align 2
+ .global glVertexAttrib2fvARB
+ .type glVertexAttrib2fvARB, %function
+glVertexAttrib2fvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2fvARB, .-glVertexAttrib2fvARB
+
+ .align 2
+ .global glVertexAttribI4svEXT
+ .type glVertexAttribI4svEXT, %function
+glVertexAttribI4svEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4svEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4svEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4svEXT, .-glVertexAttribI4svEXT
+
+ .align 2
+ .global glTextureImage3DMultisampleCoverageNV
+ .type glTextureImage3DMultisampleCoverageNV, %function
+glTextureImage3DMultisampleCoverageNV:
+ adrp x16, :got:__blue_glCore_glTextureImage3DMultisampleCoverageNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureImage3DMultisampleCoverageNV]
+ ldr x16, [x16]
+ br x16
+ .size glTextureImage3DMultisampleCoverageNV, .-glTextureImage3DMultisampleCoverageNV
+
+ .align 2
+ .global glMemoryBarrier
+ .type glMemoryBarrier, %function
+glMemoryBarrier:
+ adrp x16, :got:__blue_glCore_glMemoryBarrier
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMemoryBarrier]
+ ldr x16, [x16]
+ br x16
+ .size glMemoryBarrier, .-glMemoryBarrier
+
+ .align 2
+ .global glGetVariantArrayObjectfvATI
+ .type glGetVariantArrayObjectfvATI, %function
+glGetVariantArrayObjectfvATI:
+ adrp x16, :got:__blue_glCore_glGetVariantArrayObjectfvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVariantArrayObjectfvATI]
+ ldr x16, [x16]
+ br x16
+ .size glGetVariantArrayObjectfvATI, .-glGetVariantArrayObjectfvATI
+
+ .align 2
+ .global glTexCoord4fColor4fNormal3fVertex4fvSUN
+ .type glTexCoord4fColor4fNormal3fVertex4fvSUN, %function
+glTexCoord4fColor4fNormal3fVertex4fvSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord4fColor4fNormal3fVertex4fvSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord4fColor4fNormal3fVertex4fvSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord4fColor4fNormal3fVertex4fvSUN, .-glTexCoord4fColor4fNormal3fVertex4fvSUN
+
+ .align 2
+ .global glIsProgramARB
+ .type glIsProgramARB, %function
+glIsProgramARB:
+ adrp x16, :got:__blue_glCore_glIsProgramARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsProgramARB]
+ ldr x16, [x16]
+ br x16
+ .size glIsProgramARB, .-glIsProgramARB
+
+ .align 2
+ .global glBindImageTextureEXT
+ .type glBindImageTextureEXT, %function
+glBindImageTextureEXT:
+ adrp x16, :got:__blue_glCore_glBindImageTextureEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindImageTextureEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindImageTextureEXT, .-glBindImageTextureEXT
+
+ .align 2
+ .global glGetFragDataLocation
+ .type glGetFragDataLocation, %function
+glGetFragDataLocation:
+ adrp x16, :got:__blue_glCore_glGetFragDataLocation
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFragDataLocation]
+ ldr x16, [x16]
+ br x16
+ .size glGetFragDataLocation, .-glGetFragDataLocation
+
+ .align 2
+ .global glMultiTexCoord1svARB
+ .type glMultiTexCoord1svARB, %function
+glMultiTexCoord1svARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1svARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1svARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1svARB, .-glMultiTexCoord1svARB
+
+ .align 2
+ .global glGetMapxvOES
+ .type glGetMapxvOES, %function
+glGetMapxvOES:
+ adrp x16, :got:__blue_glCore_glGetMapxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMapxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetMapxvOES, .-glGetMapxvOES
+
+ .align 2
+ .global glTextureStorage2DMultisampleEXT
+ .type glTextureStorage2DMultisampleEXT, %function
+glTextureStorage2DMultisampleEXT:
+ adrp x16, :got:__blue_glCore_glTextureStorage2DMultisampleEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorage2DMultisampleEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorage2DMultisampleEXT, .-glTextureStorage2DMultisampleEXT
+
+ .align 2
+ .global glVertexAttrib4svARB
+ .type glVertexAttrib4svARB, %function
+glVertexAttrib4svARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4svARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4svARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4svARB, .-glVertexAttrib4svARB
+
+ .align 2
+ .global glVertexAttrib4NbvARB
+ .type glVertexAttrib4NbvARB, %function
+glVertexAttrib4NbvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4NbvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4NbvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4NbvARB, .-glVertexAttrib4NbvARB
+
+ .align 2
+ .global glColorPointerEXT
+ .type glColorPointerEXT, %function
+glColorPointerEXT:
+ adrp x16, :got:__blue_glCore_glColorPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glColorPointerEXT, .-glColorPointerEXT
+
+ .align 2
+ .global glEnableClientStateiEXT
+ .type glEnableClientStateiEXT, %function
+glEnableClientStateiEXT:
+ adrp x16, :got:__blue_glCore_glEnableClientStateiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnableClientStateiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glEnableClientStateiEXT, .-glEnableClientStateiEXT
+
+ .align 2
+ .global glClearTexSubImage
+ .type glClearTexSubImage, %function
+glClearTexSubImage:
+ adrp x16, :got:__blue_glCore_glClearTexSubImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearTexSubImage]
+ ldr x16, [x16]
+ br x16
+ .size glClearTexSubImage, .-glClearTexSubImage
+
+ .align 2
+ .global glEvalCoord1xvOES
+ .type glEvalCoord1xvOES, %function
+glEvalCoord1xvOES:
+ adrp x16, :got:__blue_glCore_glEvalCoord1xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEvalCoord1xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glEvalCoord1xvOES, .-glEvalCoord1xvOES
+
+ .align 2
+ .global glDetachObjectARB
+ .type glDetachObjectARB, %function
+glDetachObjectARB:
+ adrp x16, :got:__blue_glCore_glDetachObjectARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDetachObjectARB]
+ ldr x16, [x16]
+ br x16
+ .size glDetachObjectARB, .-glDetachObjectARB
+
+ .align 2
+ .global glGetTextureParameterIiv
+ .type glGetTextureParameterIiv, %function
+glGetTextureParameterIiv:
+ adrp x16, :got:__blue_glCore_glGetTextureParameterIiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureParameterIiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureParameterIiv, .-glGetTextureParameterIiv
+
+ .align 2
+ .global glVariantusvEXT
+ .type glVariantusvEXT, %function
+glVariantusvEXT:
+ adrp x16, :got:__blue_glCore_glVariantusvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVariantusvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVariantusvEXT, .-glVariantusvEXT
+
+ .align 2
+ .global glCompressedTextureImage3DEXT
+ .type glCompressedTextureImage3DEXT, %function
+glCompressedTextureImage3DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedTextureImage3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTextureImage3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTextureImage3DEXT, .-glCompressedTextureImage3DEXT
+
+ .align 2
+ .global glMultiTexCoord1dARB
+ .type glMultiTexCoord1dARB, %function
+glMultiTexCoord1dARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1dARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1dARB, .-glMultiTexCoord1dARB
+
+ .align 2
+ .global glGetVertexArrayIntegeri_vEXT
+ .type glGetVertexArrayIntegeri_vEXT, %function
+glGetVertexArrayIntegeri_vEXT:
+ adrp x16, :got:__blue_glCore_glGetVertexArrayIntegeri_vEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexArrayIntegeri_vEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexArrayIntegeri_vEXT, .-glGetVertexArrayIntegeri_vEXT
+
+ .align 2
+ .global glCheckNamedFramebufferStatusEXT
+ .type glCheckNamedFramebufferStatusEXT, %function
+glCheckNamedFramebufferStatusEXT:
+ adrp x16, :got:__blue_glCore_glCheckNamedFramebufferStatusEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCheckNamedFramebufferStatusEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCheckNamedFramebufferStatusEXT, .-glCheckNamedFramebufferStatusEXT
+
+ .align 2
+ .global glPixelTexGenParameterfSGIS
+ .type glPixelTexGenParameterfSGIS, %function
+glPixelTexGenParameterfSGIS:
+ adrp x16, :got:__blue_glCore_glPixelTexGenParameterfSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelTexGenParameterfSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glPixelTexGenParameterfSGIS, .-glPixelTexGenParameterfSGIS
+
+ .align 2
+ .global glProgramUniformMatrix4x2dv
+ .type glProgramUniformMatrix4x2dv, %function
+glProgramUniformMatrix4x2dv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4x2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4x2dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4x2dv, .-glProgramUniformMatrix4x2dv
+
+ .align 2
+ .global glUniform3fARB
+ .type glUniform3fARB, %function
+glUniform3fARB:
+ adrp x16, :got:__blue_glCore_glUniform3fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3fARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3fARB, .-glUniform3fARB
+
+ .align 2
+ .global glIsShader
+ .type glIsShader, %function
+glIsShader:
+ adrp x16, :got:__blue_glCore_glIsShader
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsShader]
+ ldr x16, [x16]
+ br x16
+ .size glIsShader, .-glIsShader
+
+ .align 2
+ .global glConvolutionParameteriv
+ .type glConvolutionParameteriv, %function
+glConvolutionParameteriv:
+ adrp x16, :got:__blue_glCore_glConvolutionParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionParameteriv, .-glConvolutionParameteriv
+
+ .align 2
+ .global glCopyMultiTexSubImage2DEXT
+ .type glCopyMultiTexSubImage2DEXT, %function
+glCopyMultiTexSubImage2DEXT:
+ adrp x16, :got:__blue_glCore_glCopyMultiTexSubImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyMultiTexSubImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyMultiTexSubImage2DEXT, .-glCopyMultiTexSubImage2DEXT
+
+ .align 2
+ .global glEnableVertexAttribArrayARB
+ .type glEnableVertexAttribArrayARB, %function
+glEnableVertexAttribArrayARB:
+ adrp x16, :got:__blue_glCore_glEnableVertexAttribArrayARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnableVertexAttribArrayARB]
+ ldr x16, [x16]
+ br x16
+ .size glEnableVertexAttribArrayARB, .-glEnableVertexAttribArrayARB
+
+ .align 2
+ .global glEnable
+ .type glEnable, %function
+glEnable:
+ adrp x16, :got:__blue_glCore_glEnable
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnable]
+ ldr x16, [x16]
+ br x16
+ .size glEnable, .-glEnable
+
+ .align 2
+ .global glGetActiveUniformsiv
+ .type glGetActiveUniformsiv, %function
+glGetActiveUniformsiv:
+ adrp x16, :got:__blue_glCore_glGetActiveUniformsiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveUniformsiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveUniformsiv, .-glGetActiveUniformsiv
+
+ .align 2
+ .global glGetVertexAttribivARB
+ .type glGetVertexAttribivARB, %function
+glGetVertexAttribivARB:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribivARB, .-glGetVertexAttribivARB
+
+ .align 2
+ .global glTexCoord4hvNV
+ .type glTexCoord4hvNV, %function
+glTexCoord4hvNV:
+ adrp x16, :got:__blue_glCore_glTexCoord4hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord4hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord4hvNV, .-glTexCoord4hvNV
+
+ .align 2
+ .global glUseProgramObjectARB
+ .type glUseProgramObjectARB, %function
+glUseProgramObjectARB:
+ adrp x16, :got:__blue_glCore_glUseProgramObjectARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUseProgramObjectARB]
+ ldr x16, [x16]
+ br x16
+ .size glUseProgramObjectARB, .-glUseProgramObjectARB
+
+ .align 2
+ .global glGetAttribLocation
+ .type glGetAttribLocation, %function
+glGetAttribLocation:
+ adrp x16, :got:__blue_glCore_glGetAttribLocation
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetAttribLocation]
+ ldr x16, [x16]
+ br x16
+ .size glGetAttribLocation, .-glGetAttribLocation
+
+ .align 2
+ .global glVertexAttrib4dv
+ .type glVertexAttrib4dv, %function
+glVertexAttrib4dv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4dv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4dv, .-glVertexAttrib4dv
+
+ .align 2
+ .global glGetTextureParameteriv
+ .type glGetTextureParameteriv, %function
+glGetTextureParameteriv:
+ adrp x16, :got:__blue_glCore_glGetTextureParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureParameteriv, .-glGetTextureParameteriv
+
+ .align 2
+ .global glUniform3ui64vNV
+ .type glUniform3ui64vNV, %function
+glUniform3ui64vNV:
+ adrp x16, :got:__blue_glCore_glUniform3ui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3ui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3ui64vNV, .-glUniform3ui64vNV
+
+ .align 2
+ .global glMatrixIndexusvARB
+ .type glMatrixIndexusvARB, %function
+glMatrixIndexusvARB:
+ adrp x16, :got:__blue_glCore_glMatrixIndexusvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixIndexusvARB]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixIndexusvARB, .-glMatrixIndexusvARB
+
+ .align 2
+ .global glVertexAttrib4d
+ .type glVertexAttrib4d, %function
+glVertexAttrib4d:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4d]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4d, .-glVertexAttrib4d
+
+ .align 2
+ .global glGetVideoCaptureivNV
+ .type glGetVideoCaptureivNV, %function
+glGetVideoCaptureivNV:
+ adrp x16, :got:__blue_glCore_glGetVideoCaptureivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVideoCaptureivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVideoCaptureivNV, .-glGetVideoCaptureivNV
+
+ .align 2
+ .global glProgramUniform3ui
+ .type glProgramUniform3ui, %function
+glProgramUniform3ui:
+ adrp x16, :got:__blue_glCore_glProgramUniform3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3ui]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3ui, .-glProgramUniform3ui
+
+ .align 2
+ .global glVertexAttrib3svARB
+ .type glVertexAttrib3svARB, %function
+glVertexAttrib3svARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3svARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3svARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3svARB, .-glVertexAttrib3svARB
+
+ .align 2
+ .global glGetNamedBufferParameterivEXT
+ .type glGetNamedBufferParameterivEXT, %function
+glGetNamedBufferParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedBufferParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedBufferParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedBufferParameterivEXT, .-glGetNamedBufferParameterivEXT
+
+ .align 2
+ .global glMatrixScaledEXT
+ .type glMatrixScaledEXT, %function
+glMatrixScaledEXT:
+ adrp x16, :got:__blue_glCore_glMatrixScaledEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixScaledEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixScaledEXT, .-glMatrixScaledEXT
+
+ .align 2
+ .global glProgramUniformMatrix2x3fv
+ .type glProgramUniformMatrix2x3fv, %function
+glProgramUniformMatrix2x3fv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2x3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2x3fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2x3fv, .-glProgramUniformMatrix2x3fv
+
+ .align 2
+ .global glGetFragmentLightivSGIX
+ .type glGetFragmentLightivSGIX, %function
+glGetFragmentLightivSGIX:
+ adrp x16, :got:__blue_glCore_glGetFragmentLightivSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFragmentLightivSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glGetFragmentLightivSGIX, .-glGetFragmentLightivSGIX
+
+ .align 2
+ .global glWindowPos2svARB
+ .type glWindowPos2svARB, %function
+glWindowPos2svARB:
+ adrp x16, :got:__blue_glCore_glWindowPos2svARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2svARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2svARB, .-glWindowPos2svARB
+
+ .align 2
+ .global glVertexAttrib2svNV
+ .type glVertexAttrib2svNV, %function
+glVertexAttrib2svNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2svNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2svNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2svNV, .-glVertexAttrib2svNV
+
+ .align 2
+ .global glWindowPos2ivARB
+ .type glWindowPos2ivARB, %function
+glWindowPos2ivARB:
+ adrp x16, :got:__blue_glCore_glWindowPos2ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2ivARB, .-glWindowPos2ivARB
+
+ .align 2
+ .global glGetVertexAttribPointervNV
+ .type glGetVertexAttribPointervNV, %function
+glGetVertexAttribPointervNV:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribPointervNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribPointervNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribPointervNV, .-glGetVertexAttribPointervNV
+
+ .align 2
+ .global glEdgeFlagPointerListIBM
+ .type glEdgeFlagPointerListIBM, %function
+glEdgeFlagPointerListIBM:
+ adrp x16, :got:__blue_glCore_glEdgeFlagPointerListIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEdgeFlagPointerListIBM]
+ ldr x16, [x16]
+ br x16
+ .size glEdgeFlagPointerListIBM, .-glEdgeFlagPointerListIBM
+
+ .align 2
+ .global glGenerateMipmapEXT
+ .type glGenerateMipmapEXT, %function
+glGenerateMipmapEXT:
+ adrp x16, :got:__blue_glCore_glGenerateMipmapEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenerateMipmapEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGenerateMipmapEXT, .-glGenerateMipmapEXT
+
+ .align 2
+ .global glWindowPos3sv
+ .type glWindowPos3sv, %function
+glWindowPos3sv:
+ adrp x16, :got:__blue_glCore_glWindowPos3sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3sv]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3sv, .-glWindowPos3sv
+
+ .align 2
+ .global glPathCoordsNV
+ .type glPathCoordsNV, %function
+glPathCoordsNV:
+ adrp x16, :got:__blue_glCore_glPathCoordsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathCoordsNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathCoordsNV, .-glPathCoordsNV
+
+ .align 2
+ .global glProgramUniform1i
+ .type glProgramUniform1i, %function
+glProgramUniform1i:
+ adrp x16, :got:__blue_glCore_glProgramUniform1i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1i]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1i, .-glProgramUniform1i
+
+ .align 2
+ .global glProgramUniform1d
+ .type glProgramUniform1d, %function
+glProgramUniform1d:
+ adrp x16, :got:__blue_glCore_glProgramUniform1d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1d]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1d, .-glProgramUniform1d
+
+ .align 2
+ .global glProgramUniform1f
+ .type glProgramUniform1f, %function
+glProgramUniform1f:
+ adrp x16, :got:__blue_glCore_glProgramUniform1f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1f]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1f, .-glProgramUniform1f
+
+ .align 2
+ .global glProgramParameteriEXT
+ .type glProgramParameteriEXT, %function
+glProgramParameteriEXT:
+ adrp x16, :got:__blue_glCore_glProgramParameteriEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramParameteriEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramParameteriEXT, .-glProgramParameteriEXT
+
+ .align 2
+ .global glCompressedMultiTexImage2DEXT
+ .type glCompressedMultiTexImage2DEXT, %function
+glCompressedMultiTexImage2DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedMultiTexImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedMultiTexImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedMultiTexImage2DEXT, .-glCompressedMultiTexImage2DEXT
+
+ .align 2
+ .global glProgramUniform3iv
+ .type glProgramUniform3iv, %function
+glProgramUniform3iv:
+ adrp x16, :got:__blue_glCore_glProgramUniform3iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3iv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3iv, .-glProgramUniform3iv
+
+ .align 2
+ .global glCombinerParameterivNV
+ .type glCombinerParameterivNV, %function
+glCombinerParameterivNV:
+ adrp x16, :got:__blue_glCore_glCombinerParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCombinerParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glCombinerParameterivNV, .-glCombinerParameterivNV
+
+ .align 2
+ .global glMultiTexCoord4xvOES
+ .type glMultiTexCoord4xvOES, %function
+glMultiTexCoord4xvOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4xvOES, .-glMultiTexCoord4xvOES
+
+ .align 2
+ .global glGetVertexAttribPointerv
+ .type glGetVertexAttribPointerv, %function
+glGetVertexAttribPointerv:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribPointerv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribPointerv]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribPointerv, .-glGetVertexAttribPointerv
+
+ .align 2
+ .global glVideoCaptureNV
+ .type glVideoCaptureNV, %function
+glVideoCaptureNV:
+ adrp x16, :got:__blue_glCore_glVideoCaptureNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVideoCaptureNV]
+ ldr x16, [x16]
+ br x16
+ .size glVideoCaptureNV, .-glVideoCaptureNV
+
+ .align 2
+ .global glFramebufferReadBufferEXT
+ .type glFramebufferReadBufferEXT, %function
+glFramebufferReadBufferEXT:
+ adrp x16, :got:__blue_glCore_glFramebufferReadBufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferReadBufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferReadBufferEXT, .-glFramebufferReadBufferEXT
+
+ .align 2
+ .global glExtractComponentEXT
+ .type glExtractComponentEXT, %function
+glExtractComponentEXT:
+ adrp x16, :got:__blue_glCore_glExtractComponentEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glExtractComponentEXT]
+ ldr x16, [x16]
+ br x16
+ .size glExtractComponentEXT, .-glExtractComponentEXT
+
+ .align 2
+ .global glNamedProgramLocalParameter4fvEXT
+ .type glNamedProgramLocalParameter4fvEXT, %function
+glNamedProgramLocalParameter4fvEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParameter4fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParameter4fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParameter4fvEXT, .-glNamedProgramLocalParameter4fvEXT
+
+ .align 2
+ .global glMinmax
+ .type glMinmax, %function
+glMinmax:
+ adrp x16, :got:__blue_glCore_glMinmax
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMinmax]
+ ldr x16, [x16]
+ br x16
+ .size glMinmax, .-glMinmax
+
+ .align 2
+ .global glColorP3ui
+ .type glColorP3ui, %function
+glColorP3ui:
+ adrp x16, :got:__blue_glCore_glColorP3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorP3ui]
+ ldr x16, [x16]
+ br x16
+ .size glColorP3ui, .-glColorP3ui
+
+ .align 2
+ .global glBlendEquationi
+ .type glBlendEquationi, %function
+glBlendEquationi:
+ adrp x16, :got:__blue_glCore_glBlendEquationi
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendEquationi]
+ ldr x16, [x16]
+ br x16
+ .size glBlendEquationi, .-glBlendEquationi
+
+ .align 2
+ .global glVertexAttrib4s
+ .type glVertexAttrib4s, %function
+glVertexAttrib4s:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4s]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4s, .-glVertexAttrib4s
+
+ .align 2
+ .global glVertexAttrib4fvNV
+ .type glVertexAttrib4fvNV, %function
+glVertexAttrib4fvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4fvNV, .-glVertexAttrib4fvNV
+
+ .align 2
+ .global glFragmentLightiSGIX
+ .type glFragmentLightiSGIX, %function
+glFragmentLightiSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentLightiSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentLightiSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentLightiSGIX, .-glFragmentLightiSGIX
+
+ .align 2
+ .global glMultiTexCoord1bvOES
+ .type glMultiTexCoord1bvOES, %function
+glMultiTexCoord1bvOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord1bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord1bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord1bvOES, .-glMultiTexCoord1bvOES
+
+ .align 2
+ .global glSecondaryColorPointerEXT
+ .type glSecondaryColorPointerEXT, %function
+glSecondaryColorPointerEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColorPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColorPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColorPointerEXT, .-glSecondaryColorPointerEXT
+
+ .align 2
+ .global glMultiTexCoordP4uiv
+ .type glMultiTexCoordP4uiv, %function
+glMultiTexCoordP4uiv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoordP4uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoordP4uiv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoordP4uiv, .-glMultiTexCoordP4uiv
+
+ .align 2
+ .global glGetBufferSubDataARB
+ .type glGetBufferSubDataARB, %function
+glGetBufferSubDataARB:
+ adrp x16, :got:__blue_glCore_glGetBufferSubDataARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBufferSubDataARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetBufferSubDataARB, .-glGetBufferSubDataARB
+
+ .align 2
+ .global glGetPathParameterivNV
+ .type glGetPathParameterivNV, %function
+glGetPathParameterivNV:
+ adrp x16, :got:__blue_glCore_glGetPathParameterivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathParameterivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathParameterivNV, .-glGetPathParameterivNV
+
+ .align 2
+ .global glDisableVertexArrayAttrib
+ .type glDisableVertexArrayAttrib, %function
+glDisableVertexArrayAttrib:
+ adrp x16, :got:__blue_glCore_glDisableVertexArrayAttrib
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisableVertexArrayAttrib]
+ ldr x16, [x16]
+ br x16
+ .size glDisableVertexArrayAttrib, .-glDisableVertexArrayAttrib
+
+ .align 2
+ .global glElementPointerATI
+ .type glElementPointerATI, %function
+glElementPointerATI:
+ adrp x16, :got:__blue_glCore_glElementPointerATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glElementPointerATI]
+ ldr x16, [x16]
+ br x16
+ .size glElementPointerATI, .-glElementPointerATI
+
+ .align 2
+ .global glGetAttachedObjectsARB
+ .type glGetAttachedObjectsARB, %function
+glGetAttachedObjectsARB:
+ adrp x16, :got:__blue_glCore_glGetAttachedObjectsARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetAttachedObjectsARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetAttachedObjectsARB, .-glGetAttachedObjectsARB
+
+ .align 2
+ .global glUniform4iv
+ .type glUniform4iv, %function
+glUniform4iv:
+ adrp x16, :got:__blue_glCore_glUniform4iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4iv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4iv, .-glUniform4iv
+
+ .align 2
+ .global glFogxOES
+ .type glFogxOES, %function
+glFogxOES:
+ adrp x16, :got:__blue_glCore_glFogxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogxOES]
+ ldr x16, [x16]
+ br x16
+ .size glFogxOES, .-glFogxOES
+
+ .align 2
+ .global glSharpenTexFuncSGIS
+ .type glSharpenTexFuncSGIS, %function
+glSharpenTexFuncSGIS:
+ adrp x16, :got:__blue_glCore_glSharpenTexFuncSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSharpenTexFuncSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glSharpenTexFuncSGIS, .-glSharpenTexFuncSGIS
+
+ .align 2
+ .global glClearDepthfOES
+ .type glClearDepthfOES, %function
+glClearDepthfOES:
+ adrp x16, :got:__blue_glCore_glClearDepthfOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearDepthfOES]
+ ldr x16, [x16]
+ br x16
+ .size glClearDepthfOES, .-glClearDepthfOES
+
+ .align 2
+ .global glDeleteCommandListsNV
+ .type glDeleteCommandListsNV, %function
+glDeleteCommandListsNV:
+ adrp x16, :got:__blue_glCore_glDeleteCommandListsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteCommandListsNV]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteCommandListsNV, .-glDeleteCommandListsNV
+
+ .align 2
+ .global glVertex4hNV
+ .type glVertex4hNV, %function
+glVertex4hNV:
+ adrp x16, :got:__blue_glCore_glVertex4hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex4hNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertex4hNV, .-glVertex4hNV
+
+ .align 2
+ .global glSecondaryColor3dvEXT
+ .type glSecondaryColor3dvEXT, %function
+glSecondaryColor3dvEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3dvEXT, .-glSecondaryColor3dvEXT
+
+ .align 2
+ .global glGenTextures
+ .type glGenTextures, %function
+glGenTextures:
+ adrp x16, :got:__blue_glCore_glGenTextures
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenTextures]
+ ldr x16, [x16]
+ br x16
+ .size glGenTextures, .-glGenTextures
+
+ .align 2
+ .global glTextureStorage2DMultisample
+ .type glTextureStorage2DMultisample, %function
+glTextureStorage2DMultisample:
+ adrp x16, :got:__blue_glCore_glTextureStorage2DMultisample
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureStorage2DMultisample]
+ ldr x16, [x16]
+ br x16
+ .size glTextureStorage2DMultisample, .-glTextureStorage2DMultisample
+
+ .align 2
+ .global glPathSubCoordsNV
+ .type glPathSubCoordsNV, %function
+glPathSubCoordsNV:
+ adrp x16, :got:__blue_glCore_glPathSubCoordsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathSubCoordsNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathSubCoordsNV, .-glPathSubCoordsNV
+
+ .align 2
+ .global glBlendFuncSeparateIndexedAMD
+ .type glBlendFuncSeparateIndexedAMD, %function
+glBlendFuncSeparateIndexedAMD:
+ adrp x16, :got:__blue_glCore_glBlendFuncSeparateIndexedAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendFuncSeparateIndexedAMD]
+ ldr x16, [x16]
+ br x16
+ .size glBlendFuncSeparateIndexedAMD, .-glBlendFuncSeparateIndexedAMD
+
+ .align 2
+ .global glProgramStringARB
+ .type glProgramStringARB, %function
+glProgramStringARB:
+ adrp x16, :got:__blue_glCore_glProgramStringARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramStringARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramStringARB, .-glProgramStringARB
+
+ .align 2
+ .global glShaderOp2EXT
+ .type glShaderOp2EXT, %function
+glShaderOp2EXT:
+ adrp x16, :got:__blue_glCore_glShaderOp2EXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glShaderOp2EXT]
+ ldr x16, [x16]
+ br x16
+ .size glShaderOp2EXT, .-glShaderOp2EXT
+
+ .align 2
+ .global glActiveTextureARB
+ .type glActiveTextureARB, %function
+glActiveTextureARB:
+ adrp x16, :got:__blue_glCore_glActiveTextureARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glActiveTextureARB]
+ ldr x16, [x16]
+ br x16
+ .size glActiveTextureARB, .-glActiveTextureARB
+
+ .align 2
+ .global glTexParameterIivEXT
+ .type glTexParameterIivEXT, %function
+glTexParameterIivEXT:
+ adrp x16, :got:__blue_glCore_glTexParameterIivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexParameterIivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTexParameterIivEXT, .-glTexParameterIivEXT
+
+ .align 2
+ .global glGetPerfQueryDataINTEL
+ .type glGetPerfQueryDataINTEL, %function
+glGetPerfQueryDataINTEL:
+ adrp x16, :got:__blue_glCore_glGetPerfQueryDataINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPerfQueryDataINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glGetPerfQueryDataINTEL, .-glGetPerfQueryDataINTEL
+
+ .align 2
+ .global glNamedProgramStringEXT
+ .type glNamedProgramStringEXT, %function
+glNamedProgramStringEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramStringEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramStringEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramStringEXT, .-glNamedProgramStringEXT
+
+ .align 2
+ .global glVertexAttrib4dvARB
+ .type glVertexAttrib4dvARB, %function
+glVertexAttrib4dvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4dvARB, .-glVertexAttrib4dvARB
+
+ .align 2
+ .global glTextureSubImage1DEXT
+ .type glTextureSubImage1DEXT, %function
+glTextureSubImage1DEXT:
+ adrp x16, :got:__blue_glCore_glTextureSubImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureSubImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureSubImage1DEXT, .-glTextureSubImage1DEXT
+
+ .align 2
+ .global glDispatchComputeGroupSizeARB
+ .type glDispatchComputeGroupSizeARB, %function
+glDispatchComputeGroupSizeARB:
+ adrp x16, :got:__blue_glCore_glDispatchComputeGroupSizeARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDispatchComputeGroupSizeARB]
+ ldr x16, [x16]
+ br x16
+ .size glDispatchComputeGroupSizeARB, .-glDispatchComputeGroupSizeARB
+
+ .align 2
+ .global glVertexAttrib2dvARB
+ .type glVertexAttrib2dvARB, %function
+glVertexAttrib2dvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2dvARB, .-glVertexAttrib2dvARB
+
+ .align 2
+ .global glVertexAttribPointer
+ .type glVertexAttribPointer, %function
+glVertexAttribPointer:
+ adrp x16, :got:__blue_glCore_glVertexAttribPointer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribPointer]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribPointer, .-glVertexAttribPointer
+
+ .align 2
+ .global glDepthBoundsdNV
+ .type glDepthBoundsdNV, %function
+glDepthBoundsdNV:
+ adrp x16, :got:__blue_glCore_glDepthBoundsdNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthBoundsdNV]
+ ldr x16, [x16]
+ br x16
+ .size glDepthBoundsdNV, .-glDepthBoundsdNV
+
+ .align 2
+ .global glDeleteTexturesEXT
+ .type glDeleteTexturesEXT, %function
+glDeleteTexturesEXT:
+ adrp x16, :got:__blue_glCore_glDeleteTexturesEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteTexturesEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteTexturesEXT, .-glDeleteTexturesEXT
+
+ .align 2
+ .global glGetVideouivNV
+ .type glGetVideouivNV, %function
+glGetVideouivNV:
+ adrp x16, :got:__blue_glCore_glGetVideouivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVideouivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVideouivNV, .-glGetVideouivNV
+
+ .align 2
+ .global glDrawBuffersATI
+ .type glDrawBuffersATI, %function
+glDrawBuffersATI:
+ adrp x16, :got:__blue_glCore_glDrawBuffersATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawBuffersATI]
+ ldr x16, [x16]
+ br x16
+ .size glDrawBuffersATI, .-glDrawBuffersATI
+
+ .align 2
+ .global glLightModelxvOES
+ .type glLightModelxvOES, %function
+glLightModelxvOES:
+ adrp x16, :got:__blue_glCore_glLightModelxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLightModelxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glLightModelxvOES, .-glLightModelxvOES
+
+ .align 2
+ .global glApplyTextureEXT
+ .type glApplyTextureEXT, %function
+glApplyTextureEXT:
+ adrp x16, :got:__blue_glCore_glApplyTextureEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glApplyTextureEXT]
+ ldr x16, [x16]
+ br x16
+ .size glApplyTextureEXT, .-glApplyTextureEXT
+
+ .align 2
+ .global glGetImageHandleNV
+ .type glGetImageHandleNV, %function
+glGetImageHandleNV:
+ adrp x16, :got:__blue_glCore_glGetImageHandleNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetImageHandleNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetImageHandleNV, .-glGetImageHandleNV
+
+ .align 2
+ .global glGetMinmax
+ .type glGetMinmax, %function
+glGetMinmax:
+ adrp x16, :got:__blue_glCore_glGetMinmax
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMinmax]
+ ldr x16, [x16]
+ br x16
+ .size glGetMinmax, .-glGetMinmax
+
+ .align 2
+ .global glGetFixedvOES
+ .type glGetFixedvOES, %function
+glGetFixedvOES:
+ adrp x16, :got:__blue_glCore_glGetFixedvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFixedvOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetFixedvOES, .-glGetFixedvOES
+
+ .align 2
+ .global glSamplePatternEXT
+ .type glSamplePatternEXT, %function
+glSamplePatternEXT:
+ adrp x16, :got:__blue_glCore_glSamplePatternEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSamplePatternEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSamplePatternEXT, .-glSamplePatternEXT
+
+ .align 2
+ .global glColor4fNormal3fVertex3fSUN
+ .type glColor4fNormal3fVertex3fSUN, %function
+glColor4fNormal3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glColor4fNormal3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor4fNormal3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glColor4fNormal3fVertex3fSUN, .-glColor4fNormal3fVertex3fSUN
+
+ .align 2
+ .global glFogCoorddvEXT
+ .type glFogCoorddvEXT, %function
+glFogCoorddvEXT:
+ adrp x16, :got:__blue_glCore_glFogCoorddvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoorddvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoorddvEXT, .-glFogCoorddvEXT
+
+ .align 2
+ .global glCopyTextureImage1DEXT
+ .type glCopyTextureImage1DEXT, %function
+glCopyTextureImage1DEXT:
+ adrp x16, :got:__blue_glCore_glCopyTextureImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTextureImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTextureImage1DEXT, .-glCopyTextureImage1DEXT
+
+ .align 2
+ .global glDeleteFencesNV
+ .type glDeleteFencesNV, %function
+glDeleteFencesNV:
+ adrp x16, :got:__blue_glCore_glDeleteFencesNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteFencesNV]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteFencesNV, .-glDeleteFencesNV
+
+ .align 2
+ .global glProgramUniform1ivEXT
+ .type glProgramUniform1ivEXT, %function
+glProgramUniform1ivEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform1ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1ivEXT, .-glProgramUniform1ivEXT
+
+ .align 2
+ .global glFlushStaticDataIBM
+ .type glFlushStaticDataIBM, %function
+glFlushStaticDataIBM:
+ adrp x16, :got:__blue_glCore_glFlushStaticDataIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFlushStaticDataIBM]
+ ldr x16, [x16]
+ br x16
+ .size glFlushStaticDataIBM, .-glFlushStaticDataIBM
+
+ .align 2
+ .global glProgramUniform4ui64NV
+ .type glProgramUniform4ui64NV, %function
+glProgramUniform4ui64NV:
+ adrp x16, :got:__blue_glCore_glProgramUniform4ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4ui64NV, .-glProgramUniform4ui64NV
+
+ .align 2
+ .global glRasterPos4xOES
+ .type glRasterPos4xOES, %function
+glRasterPos4xOES:
+ adrp x16, :got:__blue_glCore_glRasterPos4xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRasterPos4xOES]
+ ldr x16, [x16]
+ br x16
+ .size glRasterPos4xOES, .-glRasterPos4xOES
+
+ .align 2
+ .global glVertexAttribP1ui
+ .type glVertexAttribP1ui, %function
+glVertexAttribP1ui:
+ adrp x16, :got:__blue_glCore_glVertexAttribP1ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribP1ui]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribP1ui, .-glVertexAttribP1ui
+
+ .align 2
+ .global glProgramUniform4dvEXT
+ .type glProgramUniform4dvEXT, %function
+glProgramUniform4dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform4dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4dvEXT, .-glProgramUniform4dvEXT
+
+ .align 2
+ .global glEndTransformFeedbackEXT
+ .type glEndTransformFeedbackEXT, %function
+glEndTransformFeedbackEXT:
+ adrp x16, :got:__blue_glCore_glEndTransformFeedbackEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndTransformFeedbackEXT]
+ ldr x16, [x16]
+ br x16
+ .size glEndTransformFeedbackEXT, .-glEndTransformFeedbackEXT
+
+ .align 2
+ .global glBinormal3dEXT
+ .type glBinormal3dEXT, %function
+glBinormal3dEXT:
+ adrp x16, :got:__blue_glCore_glBinormal3dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormal3dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormal3dEXT, .-glBinormal3dEXT
+
+ .align 2
+ .global glEndConditionalRenderNVX
+ .type glEndConditionalRenderNVX, %function
+glEndConditionalRenderNVX:
+ adrp x16, :got:__blue_glCore_glEndConditionalRenderNVX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndConditionalRenderNVX]
+ ldr x16, [x16]
+ br x16
+ .size glEndConditionalRenderNVX, .-glEndConditionalRenderNVX
+
+ .align 2
+ .global glGetNamedRenderbufferParameteriv
+ .type glGetNamedRenderbufferParameteriv, %function
+glGetNamedRenderbufferParameteriv:
+ adrp x16, :got:__blue_glCore_glGetNamedRenderbufferParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedRenderbufferParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedRenderbufferParameteriv, .-glGetNamedRenderbufferParameteriv
+
+ .align 2
+ .global glBindBuffersRange
+ .type glBindBuffersRange, %function
+glBindBuffersRange:
+ adrp x16, :got:__blue_glCore_glBindBuffersRange
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBuffersRange]
+ ldr x16, [x16]
+ br x16
+ .size glBindBuffersRange, .-glBindBuffersRange
+
+ .align 2
+ .global glDrawCommandsAddressNV
+ .type glDrawCommandsAddressNV, %function
+glDrawCommandsAddressNV:
+ adrp x16, :got:__blue_glCore_glDrawCommandsAddressNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawCommandsAddressNV]
+ ldr x16, [x16]
+ br x16
+ .size glDrawCommandsAddressNV, .-glDrawCommandsAddressNV
+
+ .align 2
+ .global glBindFragDataLocationIndexed
+ .type glBindFragDataLocationIndexed, %function
+glBindFragDataLocationIndexed:
+ adrp x16, :got:__blue_glCore_glBindFragDataLocationIndexed
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindFragDataLocationIndexed]
+ ldr x16, [x16]
+ br x16
+ .size glBindFragDataLocationIndexed, .-glBindFragDataLocationIndexed
+
+ .align 2
+ .global glMultiTexCoord2dv
+ .type glMultiTexCoord2dv, %function
+glMultiTexCoord2dv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2dv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2dv, .-glMultiTexCoord2dv
+
+ .align 2
+ .global glUniform2iv
+ .type glUniform2iv, %function
+glUniform2iv:
+ adrp x16, :got:__blue_glCore_glUniform2iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2iv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2iv, .-glUniform2iv
+
+ .align 2
+ .global glProgramUniform2i64vNV
+ .type glProgramUniform2i64vNV, %function
+glProgramUniform2i64vNV:
+ adrp x16, :got:__blue_glCore_glProgramUniform2i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2i64vNV, .-glProgramUniform2i64vNV
+
+ .align 2
+ .global glFlushVertexArrayRangeAPPLE
+ .type glFlushVertexArrayRangeAPPLE, %function
+glFlushVertexArrayRangeAPPLE:
+ adrp x16, :got:__blue_glCore_glFlushVertexArrayRangeAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFlushVertexArrayRangeAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glFlushVertexArrayRangeAPPLE, .-glFlushVertexArrayRangeAPPLE
+
+ .align 2
+ .global glMultiTexCoord3dvARB
+ .type glMultiTexCoord3dvARB, %function
+glMultiTexCoord3dvARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3dvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3dvARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3dvARB, .-glMultiTexCoord3dvARB
+
+ .align 2
+ .global glMultiTexCoord2s
+ .type glMultiTexCoord2s, %function
+glMultiTexCoord2s:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2s]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2s, .-glMultiTexCoord2s
+
+ .align 2
+ .global glDebugMessageInsertARB
+ .type glDebugMessageInsertARB, %function
+glDebugMessageInsertARB:
+ adrp x16, :got:__blue_glCore_glDebugMessageInsertARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDebugMessageInsertARB]
+ ldr x16, [x16]
+ br x16
+ .size glDebugMessageInsertARB, .-glDebugMessageInsertARB
+
+ .align 2
+ .global glMultiTexCoord2i
+ .type glMultiTexCoord2i, %function
+glMultiTexCoord2i:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2i]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2i, .-glMultiTexCoord2i
+
+ .align 2
+ .global glTextureSubImage3D
+ .type glTextureSubImage3D, %function
+glTextureSubImage3D:
+ adrp x16, :got:__blue_glCore_glTextureSubImage3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureSubImage3D]
+ ldr x16, [x16]
+ br x16
+ .size glTextureSubImage3D, .-glTextureSubImage3D
+
+ .align 2
+ .global glFramebufferTexture1D
+ .type glFramebufferTexture1D, %function
+glFramebufferTexture1D:
+ adrp x16, :got:__blue_glCore_glFramebufferTexture1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTexture1D]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTexture1D, .-glFramebufferTexture1D
+
+ .align 2
+ .global glGetShaderiv
+ .type glGetShaderiv, %function
+glGetShaderiv:
+ adrp x16, :got:__blue_glCore_glGetShaderiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetShaderiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetShaderiv, .-glGetShaderiv
+
+ .align 2
+ .global glMultiTexCoord2d
+ .type glMultiTexCoord2d, %function
+glMultiTexCoord2d:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2d]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2d, .-glMultiTexCoord2d
+
+ .align 2
+ .global glMultiTexCoord2f
+ .type glMultiTexCoord2f, %function
+glMultiTexCoord2f:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2f]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2f, .-glMultiTexCoord2f
+
+ .align 2
+ .global glGetPointeri_vEXT
+ .type glGetPointeri_vEXT, %function
+glGetPointeri_vEXT:
+ adrp x16, :got:__blue_glCore_glGetPointeri_vEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPointeri_vEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetPointeri_vEXT, .-glGetPointeri_vEXT
+
+ .align 2
+ .global glGetPerfMonitorCountersAMD
+ .type glGetPerfMonitorCountersAMD, %function
+glGetPerfMonitorCountersAMD:
+ adrp x16, :got:__blue_glCore_glGetPerfMonitorCountersAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPerfMonitorCountersAMD]
+ ldr x16, [x16]
+ br x16
+ .size glGetPerfMonitorCountersAMD, .-glGetPerfMonitorCountersAMD
+
+ .align 2
+ .global glNamedBufferStorage
+ .type glNamedBufferStorage, %function
+glNamedBufferStorage:
+ adrp x16, :got:__blue_glCore_glNamedBufferStorage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedBufferStorage]
+ ldr x16, [x16]
+ br x16
+ .size glNamedBufferStorage, .-glNamedBufferStorage
+
+ .align 2
+ .global glGenQueriesARB
+ .type glGenQueriesARB, %function
+glGenQueriesARB:
+ adrp x16, :got:__blue_glCore_glGenQueriesARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenQueriesARB]
+ ldr x16, [x16]
+ br x16
+ .size glGenQueriesARB, .-glGenQueriesARB
+
+ .align 2
+ .global glProgramUniform2ui64NV
+ .type glProgramUniform2ui64NV, %function
+glProgramUniform2ui64NV:
+ adrp x16, :got:__blue_glCore_glProgramUniform2ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2ui64NV, .-glProgramUniform2ui64NV
+
+ .align 2
+ .global glMultiTexCoord3bOES
+ .type glMultiTexCoord3bOES, %function
+glMultiTexCoord3bOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3bOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3bOES, .-glMultiTexCoord3bOES
+
+ .align 2
+ .global glUniform1dv
+ .type glUniform1dv, %function
+glUniform1dv:
+ adrp x16, :got:__blue_glCore_glUniform1dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1dv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1dv, .-glUniform1dv
+
+ .align 2
+ .global glVertexAttrib1fv
+ .type glVertexAttrib1fv, %function
+glVertexAttrib1fv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1fv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1fv, .-glVertexAttrib1fv
+
+ .align 2
+ .global glProgramEnvParameterI4uivNV
+ .type glProgramEnvParameterI4uivNV, %function
+glProgramEnvParameterI4uivNV:
+ adrp x16, :got:__blue_glCore_glProgramEnvParameterI4uivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParameterI4uivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParameterI4uivNV, .-glProgramEnvParameterI4uivNV
+
+ .align 2
+ .global glWindowPos4dMESA
+ .type glWindowPos4dMESA, %function
+glWindowPos4dMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos4dMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos4dMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos4dMESA, .-glWindowPos4dMESA
+
+ .align 2
+ .global glDebugMessageControlARB
+ .type glDebugMessageControlARB, %function
+glDebugMessageControlARB:
+ adrp x16, :got:__blue_glCore_glDebugMessageControlARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDebugMessageControlARB]
+ ldr x16, [x16]
+ br x16
+ .size glDebugMessageControlARB, .-glDebugMessageControlARB
+
+ .align 2
+ .global glIsTextureEXT
+ .type glIsTextureEXT, %function
+glIsTextureEXT:
+ adrp x16, :got:__blue_glCore_glIsTextureEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsTextureEXT]
+ ldr x16, [x16]
+ br x16
+ .size glIsTextureEXT, .-glIsTextureEXT
+
+ .align 2
+ .global glFragmentMaterialivSGIX
+ .type glFragmentMaterialivSGIX, %function
+glFragmentMaterialivSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentMaterialivSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentMaterialivSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentMaterialivSGIX, .-glFragmentMaterialivSGIX
+
+ .align 2
+ .global glLinkProgramARB
+ .type glLinkProgramARB, %function
+glLinkProgramARB:
+ adrp x16, :got:__blue_glCore_glLinkProgramARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLinkProgramARB]
+ ldr x16, [x16]
+ br x16
+ .size glLinkProgramARB, .-glLinkProgramARB
+
+ .align 2
+ .global glFinishFenceAPPLE
+ .type glFinishFenceAPPLE, %function
+glFinishFenceAPPLE:
+ adrp x16, :got:__blue_glCore_glFinishFenceAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFinishFenceAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glFinishFenceAPPLE, .-glFinishFenceAPPLE
+
+ .align 2
+ .global glVertexArrayVertexAttribBindingEXT
+ .type glVertexArrayVertexAttribBindingEXT, %function
+glVertexArrayVertexAttribBindingEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexAttribBindingEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexAttribBindingEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexAttribBindingEXT, .-glVertexArrayVertexAttribBindingEXT
+
+ .align 2
+ .global glMultiTexCoord4fv
+ .type glMultiTexCoord4fv, %function
+glMultiTexCoord4fv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4fv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4fv, .-glMultiTexCoord4fv
+
+ .align 2
+ .global glCompressedTexImage3D
+ .type glCompressedTexImage3D, %function
+glCompressedTexImage3D:
+ adrp x16, :got:__blue_glCore_glCompressedTexImage3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexImage3D]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexImage3D, .-glCompressedTexImage3D
+
+ .align 2
+ .global glVariantivEXT
+ .type glVariantivEXT, %function
+glVariantivEXT:
+ adrp x16, :got:__blue_glCore_glVariantivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVariantivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVariantivEXT, .-glVariantivEXT
+
+ .align 2
+ .global glUnmapTexture2DINTEL
+ .type glUnmapTexture2DINTEL, %function
+glUnmapTexture2DINTEL:
+ adrp x16, :got:__blue_glCore_glUnmapTexture2DINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUnmapTexture2DINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glUnmapTexture2DINTEL, .-glUnmapTexture2DINTEL
+
+ .align 2
+ .global glGetVertexAttribiv
+ .type glGetVertexAttribiv, %function
+glGetVertexAttribiv:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribiv, .-glGetVertexAttribiv
+
+ .align 2
+ .global glGetPointerIndexedvEXT
+ .type glGetPointerIndexedvEXT, %function
+glGetPointerIndexedvEXT:
+ adrp x16, :got:__blue_glCore_glGetPointerIndexedvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPointerIndexedvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetPointerIndexedvEXT, .-glGetPointerIndexedvEXT
+
+ .align 2
+ .global glColor4xvOES
+ .type glColor4xvOES, %function
+glColor4xvOES:
+ adrp x16, :got:__blue_glCore_glColor4xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor4xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glColor4xvOES, .-glColor4xvOES
+
+ .align 2
+ .global glVertexAttrib3fv
+ .type glVertexAttrib3fv, %function
+glVertexAttrib3fv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3fv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3fv, .-glVertexAttrib3fv
+
+ .align 2
+ .global glClampColorARB
+ .type glClampColorARB, %function
+glClampColorARB:
+ adrp x16, :got:__blue_glCore_glClampColorARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClampColorARB]
+ ldr x16, [x16]
+ br x16
+ .size glClampColorARB, .-glClampColorARB
+
+ .align 2
+ .global glVertex4bOES
+ .type glVertex4bOES, %function
+glVertex4bOES:
+ adrp x16, :got:__blue_glCore_glVertex4bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex4bOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex4bOES, .-glVertex4bOES
+
+ .align 2
+ .global glGetnHistogram
+ .type glGetnHistogram, %function
+glGetnHistogram:
+ adrp x16, :got:__blue_glCore_glGetnHistogram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnHistogram]
+ ldr x16, [x16]
+ br x16
+ .size glGetnHistogram, .-glGetnHistogram
+
+ .align 2
+ .global glCombinerOutputNV
+ .type glCombinerOutputNV, %function
+glCombinerOutputNV:
+ adrp x16, :got:__blue_glCore_glCombinerOutputNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCombinerOutputNV]
+ ldr x16, [x16]
+ br x16
+ .size glCombinerOutputNV, .-glCombinerOutputNV
+
+ .align 2
+ .global glWindowPos4sMESA
+ .type glWindowPos4sMESA, %function
+glWindowPos4sMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos4sMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos4sMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos4sMESA, .-glWindowPos4sMESA
+
+ .align 2
+ .global glMultiTexCoord2ivARB
+ .type glMultiTexCoord2ivARB, %function
+glMultiTexCoord2ivARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2ivARB, .-glMultiTexCoord2ivARB
+
+ .align 2
+ .global glGetFenceivNV
+ .type glGetFenceivNV, %function
+glGetFenceivNV:
+ adrp x16, :got:__blue_glCore_glGetFenceivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFenceivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetFenceivNV, .-glGetFenceivNV
+
+ .align 2
+ .global glGetVertexAttribivNV
+ .type glGetVertexAttribivNV, %function
+glGetVertexAttribivNV:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribivNV, .-glGetVertexAttribivNV
+
+ .align 2
+ .global glGetInfoLogARB
+ .type glGetInfoLogARB, %function
+glGetInfoLogARB:
+ adrp x16, :got:__blue_glCore_glGetInfoLogARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetInfoLogARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetInfoLogARB, .-glGetInfoLogARB
+
+ .align 2
+ .global glBindParameterEXT
+ .type glBindParameterEXT, %function
+glBindParameterEXT:
+ adrp x16, :got:__blue_glCore_glBindParameterEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindParameterEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindParameterEXT, .-glBindParameterEXT
+
+ .align 2
+ .global glVertexAttribs3dvNV
+ .type glVertexAttribs3dvNV, %function
+glVertexAttribs3dvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs3dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs3dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs3dvNV, .-glVertexAttribs3dvNV
+
+ .align 2
+ .global glGlobalAlphaFactorsSUN
+ .type glGlobalAlphaFactorsSUN, %function
+glGlobalAlphaFactorsSUN:
+ adrp x16, :got:__blue_glCore_glGlobalAlphaFactorsSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGlobalAlphaFactorsSUN]
+ ldr x16, [x16]
+ br x16
+ .size glGlobalAlphaFactorsSUN, .-glGlobalAlphaFactorsSUN
+
+ .align 2
+ .global glGetTrackMatrixivNV
+ .type glGetTrackMatrixivNV, %function
+glGetTrackMatrixivNV:
+ adrp x16, :got:__blue_glCore_glGetTrackMatrixivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTrackMatrixivNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetTrackMatrixivNV, .-glGetTrackMatrixivNV
+
+ .align 2
+ .global glTextureParameterfvEXT
+ .type glTextureParameterfvEXT, %function
+glTextureParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glTextureParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameterfvEXT, .-glTextureParameterfvEXT
+
+ .align 2
+ .global glIsNamedBufferResidentNV
+ .type glIsNamedBufferResidentNV, %function
+glIsNamedBufferResidentNV:
+ adrp x16, :got:__blue_glCore_glIsNamedBufferResidentNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsNamedBufferResidentNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsNamedBufferResidentNV, .-glIsNamedBufferResidentNV
+
+ .align 2
+ .global glProgramUniform4ui64vARB
+ .type glProgramUniform4ui64vARB, %function
+glProgramUniform4ui64vARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform4ui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4ui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4ui64vARB, .-glProgramUniform4ui64vARB
+
+ .align 2
+ .global glTbufferMask3DFX
+ .type glTbufferMask3DFX, %function
+glTbufferMask3DFX:
+ adrp x16, :got:__blue_glCore_glTbufferMask3DFX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTbufferMask3DFX]
+ ldr x16, [x16]
+ br x16
+ .size glTbufferMask3DFX, .-glTbufferMask3DFX
+
+ .align 2
+ .global glCoverFillPathNV
+ .type glCoverFillPathNV, %function
+glCoverFillPathNV:
+ adrp x16, :got:__blue_glCore_glCoverFillPathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCoverFillPathNV]
+ ldr x16, [x16]
+ br x16
+ .size glCoverFillPathNV, .-glCoverFillPathNV
+
+ .align 2
+ .global glVertexAttrib1fvARB
+ .type glVertexAttrib1fvARB, %function
+glVertexAttrib1fvARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1fvARB, .-glVertexAttrib1fvARB
+
+ .align 2
+ .global glGenerateTextureMipmap
+ .type glGenerateTextureMipmap, %function
+glGenerateTextureMipmap:
+ adrp x16, :got:__blue_glCore_glGenerateTextureMipmap
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenerateTextureMipmap]
+ ldr x16, [x16]
+ br x16
+ .size glGenerateTextureMipmap, .-glGenerateTextureMipmap
+
+ .align 2
+ .global glNamedProgramLocalParameterI4uivEXT
+ .type glNamedProgramLocalParameterI4uivEXT, %function
+glNamedProgramLocalParameterI4uivEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParameterI4uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParameterI4uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParameterI4uivEXT, .-glNamedProgramLocalParameterI4uivEXT
+
+ .align 2
+ .global glMultiDrawElementsBaseVertex
+ .type glMultiDrawElementsBaseVertex, %function
+glMultiDrawElementsBaseVertex:
+ adrp x16, :got:__blue_glCore_glMultiDrawElementsBaseVertex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawElementsBaseVertex]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawElementsBaseVertex, .-glMultiDrawElementsBaseVertex
+
+ .align 2
+ .global glProgramSubroutineParametersuivNV
+ .type glProgramSubroutineParametersuivNV, %function
+glProgramSubroutineParametersuivNV:
+ adrp x16, :got:__blue_glCore_glProgramSubroutineParametersuivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramSubroutineParametersuivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramSubroutineParametersuivNV, .-glProgramSubroutineParametersuivNV
+
+ .align 2
+ .global glProgramUniformMatrix2x4dvEXT
+ .type glProgramUniformMatrix2x4dvEXT, %function
+glProgramUniformMatrix2x4dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2x4dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2x4dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2x4dvEXT, .-glProgramUniformMatrix2x4dvEXT
+
+ .align 2
+ .global glBufferData
+ .type glBufferData, %function
+glBufferData:
+ adrp x16, :got:__blue_glCore_glBufferData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBufferData]
+ ldr x16, [x16]
+ br x16
+ .size glBufferData, .-glBufferData
+
+ .align 2
+ .global glMemoryBarrierEXT
+ .type glMemoryBarrierEXT, %function
+glMemoryBarrierEXT:
+ adrp x16, :got:__blue_glCore_glMemoryBarrierEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMemoryBarrierEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMemoryBarrierEXT, .-glMemoryBarrierEXT
+
+ .align 2
+ .global glVertexAttrib3svNV
+ .type glVertexAttrib3svNV, %function
+glVertexAttrib3svNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3svNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3svNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3svNV, .-glVertexAttrib3svNV
+
+ .align 2
+ .global glVertexStream3iATI
+ .type glVertexStream3iATI, %function
+glVertexStream3iATI:
+ adrp x16, :got:__blue_glCore_glVertexStream3iATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream3iATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream3iATI, .-glVertexStream3iATI
+
+ .align 2
+ .global glCompressedTexSubImage1D
+ .type glCompressedTexSubImage1D, %function
+glCompressedTexSubImage1D:
+ adrp x16, :got:__blue_glCore_glCompressedTexSubImage1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexSubImage1D]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexSubImage1D, .-glCompressedTexSubImage1D
+
+ .align 2
+ .global glGetTexParameterIiv
+ .type glGetTexParameterIiv, %function
+glGetTexParameterIiv:
+ adrp x16, :got:__blue_glCore_glGetTexParameterIiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexParameterIiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexParameterIiv, .-glGetTexParameterIiv
+
+ .align 2
+ .global glCopyConvolutionFilter1D
+ .type glCopyConvolutionFilter1D, %function
+glCopyConvolutionFilter1D:
+ adrp x16, :got:__blue_glCore_glCopyConvolutionFilter1D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyConvolutionFilter1D]
+ ldr x16, [x16]
+ br x16
+ .size glCopyConvolutionFilter1D, .-glCopyConvolutionFilter1D
+
+ .align 2
+ .global glDeletePathsNV
+ .type glDeletePathsNV, %function
+glDeletePathsNV:
+ adrp x16, :got:__blue_glCore_glDeletePathsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeletePathsNV]
+ ldr x16, [x16]
+ br x16
+ .size glDeletePathsNV, .-glDeletePathsNV
+
+ .align 2
+ .global glProgramParameters4fvNV
+ .type glProgramParameters4fvNV, %function
+glProgramParameters4fvNV:
+ adrp x16, :got:__blue_glCore_glProgramParameters4fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramParameters4fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramParameters4fvNV, .-glProgramParameters4fvNV
+
+ .align 2
+ .global glTextureBuffer
+ .type glTextureBuffer, %function
+glTextureBuffer:
+ adrp x16, :got:__blue_glCore_glTextureBuffer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureBuffer]
+ ldr x16, [x16]
+ br x16
+ .size glTextureBuffer, .-glTextureBuffer
+
+ .align 2
+ .global glVertexAttrib4Nsv
+ .type glVertexAttrib4Nsv, %function
+glVertexAttrib4Nsv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4Nsv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4Nsv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4Nsv, .-glVertexAttrib4Nsv
+
+ .align 2
+ .global glVertexAttribI4usvEXT
+ .type glVertexAttribI4usvEXT, %function
+glVertexAttribI4usvEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4usvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4usvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4usvEXT, .-glVertexAttribI4usvEXT
+
+ .align 2
+ .global glTextureBufferRangeEXT
+ .type glTextureBufferRangeEXT, %function
+glTextureBufferRangeEXT:
+ adrp x16, :got:__blue_glCore_glTextureBufferRangeEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureBufferRangeEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureBufferRangeEXT, .-glTextureBufferRangeEXT
+
+ .align 2
+ .global glVertexP3uiv
+ .type glVertexP3uiv, %function
+glVertexP3uiv:
+ adrp x16, :got:__blue_glCore_glVertexP3uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexP3uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexP3uiv, .-glVertexP3uiv
+
+ .align 2
+ .global glTransformFeedbackVaryings
+ .type glTransformFeedbackVaryings, %function
+glTransformFeedbackVaryings:
+ adrp x16, :got:__blue_glCore_glTransformFeedbackVaryings
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTransformFeedbackVaryings]
+ ldr x16, [x16]
+ br x16
+ .size glTransformFeedbackVaryings, .-glTransformFeedbackVaryings
+
+ .align 2
+ .global glGetnUniformi64vARB
+ .type glGetnUniformi64vARB, %function
+glGetnUniformi64vARB:
+ adrp x16, :got:__blue_glCore_glGetnUniformi64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnUniformi64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetnUniformi64vARB, .-glGetnUniformi64vARB
+
+ .align 2
+ .global glFramebufferTextureMultiviewOVR
+ .type glFramebufferTextureMultiviewOVR, %function
+glFramebufferTextureMultiviewOVR:
+ adrp x16, :got:__blue_glCore_glFramebufferTextureMultiviewOVR
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTextureMultiviewOVR]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTextureMultiviewOVR, .-glFramebufferTextureMultiviewOVR
+
+ .align 2
+ .global glCompressedMultiTexSubImage2DEXT
+ .type glCompressedMultiTexSubImage2DEXT, %function
+glCompressedMultiTexSubImage2DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedMultiTexSubImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedMultiTexSubImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedMultiTexSubImage2DEXT, .-glCompressedMultiTexSubImage2DEXT
+
+ .align 2
+ .global glGetnMapdv
+ .type glGetnMapdv, %function
+glGetnMapdv:
+ adrp x16, :got:__blue_glCore_glGetnMapdv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnMapdv]
+ ldr x16, [x16]
+ br x16
+ .size glGetnMapdv, .-glGetnMapdv
+
+ .align 2
+ .global glDebugMessageCallback
+ .type glDebugMessageCallback, %function
+glDebugMessageCallback:
+ adrp x16, :got:__blue_glCore_glDebugMessageCallback
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDebugMessageCallback]
+ ldr x16, [x16]
+ br x16
+ .size glDebugMessageCallback, .-glDebugMessageCallback
+
+ .align 2
+ .global glTangent3svEXT
+ .type glTangent3svEXT, %function
+glTangent3svEXT:
+ adrp x16, :got:__blue_glCore_glTangent3svEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangent3svEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangent3svEXT, .-glTangent3svEXT
+
+ .align 2
+ .global glVertexAttribParameteriAMD
+ .type glVertexAttribParameteriAMD, %function
+glVertexAttribParameteriAMD:
+ adrp x16, :got:__blue_glCore_glVertexAttribParameteriAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribParameteriAMD]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribParameteriAMD, .-glVertexAttribParameteriAMD
+
+ .align 2
+ .global glBufferSubDataARB
+ .type glBufferSubDataARB, %function
+glBufferSubDataARB:
+ adrp x16, :got:__blue_glCore_glBufferSubDataARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBufferSubDataARB]
+ ldr x16, [x16]
+ br x16
+ .size glBufferSubDataARB, .-glBufferSubDataARB
+
+ .align 2
+ .global glGetVertexAttribLui64vARB
+ .type glGetVertexAttribLui64vARB, %function
+glGetVertexAttribLui64vARB:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribLui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribLui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribLui64vARB, .-glGetVertexAttribLui64vARB
+
+ .align 2
+ .global glVertexAttribL4ui64NV
+ .type glVertexAttribL4ui64NV, %function
+glVertexAttribL4ui64NV:
+ adrp x16, :got:__blue_glCore_glVertexAttribL4ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL4ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL4ui64NV, .-glVertexAttribL4ui64NV
+
+ .align 2
+ .global glReplacementCodeuiColor4ubVertex3fSUN
+ .type glReplacementCodeuiColor4ubVertex3fSUN, %function
+glReplacementCodeuiColor4ubVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiColor4ubVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiColor4ubVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiColor4ubVertex3fSUN, .-glReplacementCodeuiColor4ubVertex3fSUN
+
+ .align 2
+ .global glImageTransformParameterfHP
+ .type glImageTransformParameterfHP, %function
+glImageTransformParameterfHP:
+ adrp x16, :got:__blue_glCore_glImageTransformParameterfHP
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glImageTransformParameterfHP]
+ ldr x16, [x16]
+ br x16
+ .size glImageTransformParameterfHP, .-glImageTransformParameterfHP
+
+ .align 2
+ .global glGetBooleani_v
+ .type glGetBooleani_v, %function
+glGetBooleani_v:
+ adrp x16, :got:__blue_glCore_glGetBooleani_v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBooleani_v]
+ ldr x16, [x16]
+ br x16
+ .size glGetBooleani_v, .-glGetBooleani_v
+
+ .align 2
+ .global glVertex2bvOES
+ .type glVertex2bvOES, %function
+glVertex2bvOES:
+ adrp x16, :got:__blue_glCore_glVertex2bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex2bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex2bvOES, .-glVertex2bvOES
+
+ .align 2
+ .global glGetMapControlPointsNV
+ .type glGetMapControlPointsNV, %function
+glGetMapControlPointsNV:
+ adrp x16, :got:__blue_glCore_glGetMapControlPointsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMapControlPointsNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetMapControlPointsNV, .-glGetMapControlPointsNV
+
+ .align 2
+ .global glNamedProgramLocalParametersI4ivEXT
+ .type glNamedProgramLocalParametersI4ivEXT, %function
+glNamedProgramLocalParametersI4ivEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParametersI4ivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParametersI4ivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParametersI4ivEXT, .-glNamedProgramLocalParametersI4ivEXT
+
+ .align 2
+ .global glBindBufferRangeNV
+ .type glBindBufferRangeNV, %function
+glBindBufferRangeNV:
+ adrp x16, :got:__blue_glCore_glBindBufferRangeNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBufferRangeNV]
+ ldr x16, [x16]
+ br x16
+ .size glBindBufferRangeNV, .-glBindBufferRangeNV
+
+ .align 2
+ .global glVertexStream3dvATI
+ .type glVertexStream3dvATI, %function
+glVertexStream3dvATI:
+ adrp x16, :got:__blue_glCore_glVertexStream3dvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream3dvATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream3dvATI, .-glVertexStream3dvATI
+
+ .align 2
+ .global glNormalPointerListIBM
+ .type glNormalPointerListIBM, %function
+glNormalPointerListIBM:
+ adrp x16, :got:__blue_glCore_glNormalPointerListIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalPointerListIBM]
+ ldr x16, [x16]
+ br x16
+ .size glNormalPointerListIBM, .-glNormalPointerListIBM
+
+ .align 2
+ .global glProgramUniform2dvEXT
+ .type glProgramUniform2dvEXT, %function
+glProgramUniform2dvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform2dvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2dvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2dvEXT, .-glProgramUniform2dvEXT
+
+ .align 2
+ .global glMultiModeDrawArraysIBM
+ .type glMultiModeDrawArraysIBM, %function
+glMultiModeDrawArraysIBM:
+ adrp x16, :got:__blue_glCore_glMultiModeDrawArraysIBM
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiModeDrawArraysIBM]
+ ldr x16, [x16]
+ br x16
+ .size glMultiModeDrawArraysIBM, .-glMultiModeDrawArraysIBM
+
+ .align 2
+ .global glGetNamedFramebufferAttachmentParameterivEXT
+ .type glGetNamedFramebufferAttachmentParameterivEXT, %function
+glGetNamedFramebufferAttachmentParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedFramebufferAttachmentParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedFramebufferAttachmentParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedFramebufferAttachmentParameterivEXT, .-glGetNamedFramebufferAttachmentParameterivEXT
+
+ .align 2
+ .global glVertexArrayVertexAttribIFormatEXT
+ .type glVertexArrayVertexAttribIFormatEXT, %function
+glVertexArrayVertexAttribIFormatEXT:
+ adrp x16, :got:__blue_glCore_glVertexArrayVertexAttribIFormatEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayVertexAttribIFormatEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayVertexAttribIFormatEXT, .-glVertexArrayVertexAttribIFormatEXT
+
+ .align 2
+ .global glHint
+ .type glHint, %function
+glHint:
+ adrp x16, :got:__blue_glCore_glHint
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glHint]
+ ldr x16, [x16]
+ br x16
+ .size glHint, .-glHint
+
+ .align 2
+ .global glPointAlongPathNV
+ .type glPointAlongPathNV, %function
+glPointAlongPathNV:
+ adrp x16, :got:__blue_glCore_glPointAlongPathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointAlongPathNV]
+ ldr x16, [x16]
+ br x16
+ .size glPointAlongPathNV, .-glPointAlongPathNV
+
+ .align 2
+ .global glVertexStream2svATI
+ .type glVertexStream2svATI, %function
+glVertexStream2svATI:
+ adrp x16, :got:__blue_glCore_glVertexStream2svATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream2svATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream2svATI, .-glVertexStream2svATI
+
+ .align 2
+ .global glMultiDrawArraysIndirect
+ .type glMultiDrawArraysIndirect, %function
+glMultiDrawArraysIndirect:
+ adrp x16, :got:__blue_glCore_glMultiDrawArraysIndirect
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawArraysIndirect]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawArraysIndirect, .-glMultiDrawArraysIndirect
+
+ .align 2
+ .global glVertexAttribP2uiv
+ .type glVertexAttribP2uiv, %function
+glVertexAttribP2uiv:
+ adrp x16, :got:__blue_glCore_glVertexAttribP2uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribP2uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribP2uiv, .-glVertexAttribP2uiv
+
+ .align 2
+ .global glProgramUniform1i64vARB
+ .type glProgramUniform1i64vARB, %function
+glProgramUniform1i64vARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform1i64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1i64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1i64vARB, .-glProgramUniform1i64vARB
+
+ .align 2
+ .global glFramebufferTextureARB
+ .type glFramebufferTextureARB, %function
+glFramebufferTextureARB:
+ adrp x16, :got:__blue_glCore_glFramebufferTextureARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTextureARB]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTextureARB, .-glFramebufferTextureARB
+
+ .align 2
+ .global glPushClientAttribDefaultEXT
+ .type glPushClientAttribDefaultEXT, %function
+glPushClientAttribDefaultEXT:
+ adrp x16, :got:__blue_glCore_glPushClientAttribDefaultEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPushClientAttribDefaultEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPushClientAttribDefaultEXT, .-glPushClientAttribDefaultEXT
+
+ .align 2
+ .global glVertexAttrib4svNV
+ .type glVertexAttrib4svNV, %function
+glVertexAttrib4svNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4svNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4svNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4svNV, .-glVertexAttrib4svNV
+
+ .align 2
+ .global glGetProgramResourceName
+ .type glGetProgramResourceName, %function
+glGetProgramResourceName:
+ adrp x16, :got:__blue_glCore_glGetProgramResourceName
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramResourceName]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramResourceName, .-glGetProgramResourceName
+
+ .align 2
+ .global glCopyColorTable
+ .type glCopyColorTable, %function
+glCopyColorTable:
+ adrp x16, :got:__blue_glCore_glCopyColorTable
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyColorTable]
+ ldr x16, [x16]
+ br x16
+ .size glCopyColorTable, .-glCopyColorTable
+
+ .align 2
+ .global glDepthRangeArrayv
+ .type glDepthRangeArrayv, %function
+glDepthRangeArrayv:
+ adrp x16, :got:__blue_glCore_glDepthRangeArrayv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDepthRangeArrayv]
+ ldr x16, [x16]
+ br x16
+ .size glDepthRangeArrayv, .-glDepthRangeArrayv
+
+ .align 2
+ .global glCoverFillPathInstancedNV
+ .type glCoverFillPathInstancedNV, %function
+glCoverFillPathInstancedNV:
+ adrp x16, :got:__blue_glCore_glCoverFillPathInstancedNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCoverFillPathInstancedNV]
+ ldr x16, [x16]
+ br x16
+ .size glCoverFillPathInstancedNV, .-glCoverFillPathInstancedNV
+
+ .align 2
+ .global glMultiTexParameterivEXT
+ .type glMultiTexParameterivEXT, %function
+glMultiTexParameterivEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexParameterivEXT, .-glMultiTexParameterivEXT
+
+ .align 2
+ .global glGetActiveAtomicCounterBufferiv
+ .type glGetActiveAtomicCounterBufferiv, %function
+glGetActiveAtomicCounterBufferiv:
+ adrp x16, :got:__blue_glCore_glGetActiveAtomicCounterBufferiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveAtomicCounterBufferiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveAtomicCounterBufferiv, .-glGetActiveAtomicCounterBufferiv
+
+ .align 2
+ .global glStencilOpSeparate
+ .type glStencilOpSeparate, %function
+glStencilOpSeparate:
+ adrp x16, :got:__blue_glCore_glStencilOpSeparate
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilOpSeparate]
+ ldr x16, [x16]
+ br x16
+ .size glStencilOpSeparate, .-glStencilOpSeparate
+
+ .align 2
+ .global glVertexAttrib4fNV
+ .type glVertexAttrib4fNV, %function
+glVertexAttrib4fNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4fNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4fNV, .-glVertexAttrib4fNV
+
+ .align 2
+ .global glGetColorTableParameterivSGI
+ .type glGetColorTableParameterivSGI, %function
+glGetColorTableParameterivSGI:
+ adrp x16, :got:__blue_glCore_glGetColorTableParameterivSGI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetColorTableParameterivSGI]
+ ldr x16, [x16]
+ br x16
+ .size glGetColorTableParameterivSGI, .-glGetColorTableParameterivSGI
+
+ .align 2
+ .global glVertexArrayAttribBinding
+ .type glVertexArrayAttribBinding, %function
+glVertexArrayAttribBinding:
+ adrp x16, :got:__blue_glCore_glVertexArrayAttribBinding
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayAttribBinding]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayAttribBinding, .-glVertexArrayAttribBinding
+
+ .align 2
+ .global glProgramParameters4dvNV
+ .type glProgramParameters4dvNV, %function
+glProgramParameters4dvNV:
+ adrp x16, :got:__blue_glCore_glProgramParameters4dvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramParameters4dvNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramParameters4dvNV, .-glProgramParameters4dvNV
+
+ .align 2
+ .global glVertexAttribL4dv
+ .type glVertexAttribL4dv, %function
+glVertexAttribL4dv:
+ adrp x16, :got:__blue_glCore_glVertexAttribL4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribL4dv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribL4dv, .-glVertexAttribL4dv
+
+ .align 2
+ .global glGetTexParameteriv
+ .type glGetTexParameteriv, %function
+glGetTexParameteriv:
+ adrp x16, :got:__blue_glCore_glGetTexParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexParameteriv, .-glGetTexParameteriv
+
+ .align 2
+ .global glGetUniformOffsetEXT
+ .type glGetUniformOffsetEXT, %function
+glGetUniformOffsetEXT:
+ adrp x16, :got:__blue_glCore_glGetUniformOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformOffsetEXT, .-glGetUniformOffsetEXT
+
+ .align 2
+ .global glProgramUniform1dv
+ .type glProgramUniform1dv, %function
+glProgramUniform1dv:
+ adrp x16, :got:__blue_glCore_glProgramUniform1dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1dv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1dv, .-glProgramUniform1dv
+
+ .align 2
+ .global glProgramUniform3i64vNV
+ .type glProgramUniform3i64vNV, %function
+glProgramUniform3i64vNV:
+ adrp x16, :got:__blue_glCore_glProgramUniform3i64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3i64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3i64vNV, .-glProgramUniform3i64vNV
+
+ .align 2
+ .global glTangent3fEXT
+ .type glTangent3fEXT, %function
+glTangent3fEXT:
+ adrp x16, :got:__blue_glCore_glTangent3fEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangent3fEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangent3fEXT, .-glTangent3fEXT
+
+ .align 2
+ .global glGetPathMetricRangeNV
+ .type glGetPathMetricRangeNV, %function
+glGetPathMetricRangeNV:
+ adrp x16, :got:__blue_glCore_glGetPathMetricRangeNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathMetricRangeNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathMetricRangeNV, .-glGetPathMetricRangeNV
+
+ .align 2
+ .global glWindowPos2iMESA
+ .type glWindowPos2iMESA, %function
+glWindowPos2iMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos2iMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2iMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2iMESA, .-glWindowPos2iMESA
+
+ .align 2
+ .global glVertex2xvOES
+ .type glVertex2xvOES, %function
+glVertex2xvOES:
+ adrp x16, :got:__blue_glCore_glVertex2xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex2xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex2xvOES, .-glVertex2xvOES
+
+ .align 2
+ .global glGetnCompressedTexImage
+ .type glGetnCompressedTexImage, %function
+glGetnCompressedTexImage:
+ adrp x16, :got:__blue_glCore_glGetnCompressedTexImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnCompressedTexImage]
+ ldr x16, [x16]
+ br x16
+ .size glGetnCompressedTexImage, .-glGetnCompressedTexImage
+
+ .align 2
+ .global glWindowPos2dv
+ .type glWindowPos2dv, %function
+glWindowPos2dv:
+ adrp x16, :got:__blue_glCore_glWindowPos2dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2dv]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2dv, .-glWindowPos2dv
+
+ .align 2
+ .global glReplacementCodeuiVertex3fSUN
+ .type glReplacementCodeuiVertex3fSUN, %function
+glReplacementCodeuiVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeuiVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeuiVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeuiVertex3fSUN, .-glReplacementCodeuiVertex3fSUN
+
+ .align 2
+ .global glGetTransformFeedbackVaryingEXT
+ .type glGetTransformFeedbackVaryingEXT, %function
+glGetTransformFeedbackVaryingEXT:
+ adrp x16, :got:__blue_glCore_glGetTransformFeedbackVaryingEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTransformFeedbackVaryingEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetTransformFeedbackVaryingEXT, .-glGetTransformFeedbackVaryingEXT
+
+ .align 2
+ .global glWindowPos3fARB
+ .type glWindowPos3fARB, %function
+glWindowPos3fARB:
+ adrp x16, :got:__blue_glCore_glWindowPos3fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3fARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3fARB, .-glWindowPos3fARB
+
+ .align 2
+ .global glMapNamedBufferEXT
+ .type glMapNamedBufferEXT, %function
+glMapNamedBufferEXT:
+ adrp x16, :got:__blue_glCore_glMapNamedBufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapNamedBufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMapNamedBufferEXT, .-glMapNamedBufferEXT
+
+ .align 2
+ .global glDisable
+ .type glDisable, %function
+glDisable:
+ adrp x16, :got:__blue_glCore_glDisable
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisable]
+ ldr x16, [x16]
+ br x16
+ .size glDisable, .-glDisable
+
+ .align 2
+ .global glIsPointInFillPathNV
+ .type glIsPointInFillPathNV, %function
+glIsPointInFillPathNV:
+ adrp x16, :got:__blue_glCore_glIsPointInFillPathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsPointInFillPathNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsPointInFillPathNV, .-glIsPointInFillPathNV
+
+ .align 2
+ .global glVertexAttribI2uiEXT
+ .type glVertexAttribI2uiEXT, %function
+glVertexAttribI2uiEXT:
+ adrp x16, :got:__blue_glCore_glVertexAttribI2uiEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI2uiEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI2uiEXT, .-glVertexAttribI2uiEXT
+
+ .align 2
+ .global glProgramUniform4uiv
+ .type glProgramUniform4uiv, %function
+glProgramUniform4uiv:
+ adrp x16, :got:__blue_glCore_glProgramUniform4uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4uiv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4uiv, .-glProgramUniform4uiv
+
+ .align 2
+ .global glGetConvolutionParameterfvEXT
+ .type glGetConvolutionParameterfvEXT, %function
+glGetConvolutionParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glGetConvolutionParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetConvolutionParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetConvolutionParameterfvEXT, .-glGetConvolutionParameterfvEXT
+
+ .align 2
+ .global glFramebufferRenderbufferEXT
+ .type glFramebufferRenderbufferEXT, %function
+glFramebufferRenderbufferEXT:
+ adrp x16, :got:__blue_glCore_glFramebufferRenderbufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferRenderbufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferRenderbufferEXT, .-glFramebufferRenderbufferEXT
+
+ .align 2
+ .global glBinormal3svEXT
+ .type glBinormal3svEXT, %function
+glBinormal3svEXT:
+ adrp x16, :got:__blue_glCore_glBinormal3svEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormal3svEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormal3svEXT, .-glBinormal3svEXT
+
+ .align 2
+ .global glBindBufferOffsetNV
+ .type glBindBufferOffsetNV, %function
+glBindBufferOffsetNV:
+ adrp x16, :got:__blue_glCore_glBindBufferOffsetNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBufferOffsetNV]
+ ldr x16, [x16]
+ br x16
+ .size glBindBufferOffsetNV, .-glBindBufferOffsetNV
+
+ .align 2
+ .global glCopyTextureSubImage2D
+ .type glCopyTextureSubImage2D, %function
+glCopyTextureSubImage2D:
+ adrp x16, :got:__blue_glCore_glCopyTextureSubImage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTextureSubImage2D]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTextureSubImage2D, .-glCopyTextureSubImage2D
+
+ .align 2
+ .global glGetProgramResourcefvNV
+ .type glGetProgramResourcefvNV, %function
+glGetProgramResourcefvNV:
+ adrp x16, :got:__blue_glCore_glGetProgramResourcefvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramResourcefvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramResourcefvNV, .-glGetProgramResourcefvNV
+
+ .align 2
+ .global glBinormalPointerEXT
+ .type glBinormalPointerEXT, %function
+glBinormalPointerEXT:
+ adrp x16, :got:__blue_glCore_glBinormalPointerEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBinormalPointerEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBinormalPointerEXT, .-glBinormalPointerEXT
+
+ .align 2
+ .global glUniform2ivARB
+ .type glUniform2ivARB, %function
+glUniform2ivARB:
+ adrp x16, :got:__blue_glCore_glUniform2ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2ivARB, .-glUniform2ivARB
+
+ .align 2
+ .global glMultiTexCoord3s
+ .type glMultiTexCoord3s, %function
+glMultiTexCoord3s:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3s]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3s, .-glMultiTexCoord3s
+
+ .align 2
+ .global glGetHistogramParameterfvEXT
+ .type glGetHistogramParameterfvEXT, %function
+glGetHistogramParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glGetHistogramParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetHistogramParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetHistogramParameterfvEXT, .-glGetHistogramParameterfvEXT
+
+ .align 2
+ .global glGetProgramStringNV
+ .type glGetProgramStringNV, %function
+glGetProgramStringNV:
+ adrp x16, :got:__blue_glCore_glGetProgramStringNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramStringNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramStringNV, .-glGetProgramStringNV
+
+ .align 2
+ .global glGetTexGenxvOES
+ .type glGetTexGenxvOES, %function
+glGetTexGenxvOES:
+ adrp x16, :got:__blue_glCore_glGetTexGenxvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexGenxvOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexGenxvOES, .-glGetTexGenxvOES
+
+ .align 2
+ .global glTextureSubImage2D
+ .type glTextureSubImage2D, %function
+glTextureSubImage2D:
+ adrp x16, :got:__blue_glCore_glTextureSubImage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureSubImage2D]
+ ldr x16, [x16]
+ br x16
+ .size glTextureSubImage2D, .-glTextureSubImage2D
+
+ .align 2
+ .global glObjectPurgeableAPPLE
+ .type glObjectPurgeableAPPLE, %function
+glObjectPurgeableAPPLE:
+ adrp x16, :got:__blue_glCore_glObjectPurgeableAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glObjectPurgeableAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glObjectPurgeableAPPLE, .-glObjectPurgeableAPPLE
+
+ .align 2
+ .global glColorTableSGI
+ .type glColorTableSGI, %function
+glColorTableSGI:
+ adrp x16, :got:__blue_glCore_glColorTableSGI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColorTableSGI]
+ ldr x16, [x16]
+ br x16
+ .size glColorTableSGI, .-glColorTableSGI
+
+ .align 2
+ .global glMultiTexCoord3i
+ .type glMultiTexCoord3i, %function
+glMultiTexCoord3i:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3i]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3i, .-glMultiTexCoord3i
+
+ .align 2
+ .global glMultiTexCoord3f
+ .type glMultiTexCoord3f, %function
+glMultiTexCoord3f:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3f]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3f, .-glMultiTexCoord3f
+
+ .align 2
+ .global glMultiTexCoord3d
+ .type glMultiTexCoord3d, %function
+glMultiTexCoord3d:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3d]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3d, .-glMultiTexCoord3d
+
+ .align 2
+ .global glFogCoorddv
+ .type glFogCoorddv, %function
+glFogCoorddv:
+ adrp x16, :got:__blue_glCore_glFogCoorddv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoorddv]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoorddv, .-glFogCoorddv
+
+ .align 2
+ .global glCopyConvolutionFilter2DEXT
+ .type glCopyConvolutionFilter2DEXT, %function
+glCopyConvolutionFilter2DEXT:
+ adrp x16, :got:__blue_glCore_glCopyConvolutionFilter2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyConvolutionFilter2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyConvolutionFilter2DEXT, .-glCopyConvolutionFilter2DEXT
+
+ .align 2
+ .global glProgramUniform1fEXT
+ .type glProgramUniform1fEXT, %function
+glProgramUniform1fEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform1fEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform1fEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform1fEXT, .-glProgramUniform1fEXT
+
+ .align 2
+ .global glClipPlanefOES
+ .type glClipPlanefOES, %function
+glClipPlanefOES:
+ adrp x16, :got:__blue_glCore_glClipPlanefOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClipPlanefOES]
+ ldr x16, [x16]
+ br x16
+ .size glClipPlanefOES, .-glClipPlanefOES
+
+ .align 2
+ .global glPolygonOffsetxOES
+ .type glPolygonOffsetxOES, %function
+glPolygonOffsetxOES:
+ adrp x16, :got:__blue_glCore_glPolygonOffsetxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPolygonOffsetxOES]
+ ldr x16, [x16]
+ br x16
+ .size glPolygonOffsetxOES, .-glPolygonOffsetxOES
+
+ .align 2
+ .global glVertexAttrib4dARB
+ .type glVertexAttrib4dARB, %function
+glVertexAttrib4dARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4dARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4dARB, .-glVertexAttrib4dARB
+
+ .align 2
+ .global glUniformHandleui64vARB
+ .type glUniformHandleui64vARB, %function
+glUniformHandleui64vARB:
+ adrp x16, :got:__blue_glCore_glUniformHandleui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformHandleui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniformHandleui64vARB, .-glUniformHandleui64vARB
+
+ .align 2
+ .global glFragmentLightModelfvSGIX
+ .type glFragmentLightModelfvSGIX, %function
+glFragmentLightModelfvSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentLightModelfvSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentLightModelfvSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentLightModelfvSGIX, .-glFragmentLightModelfvSGIX
+
+ .align 2
+ .global glSwizzleEXT
+ .type glSwizzleEXT, %function
+glSwizzleEXT:
+ adrp x16, :got:__blue_glCore_glSwizzleEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSwizzleEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSwizzleEXT, .-glSwizzleEXT
+
+ .align 2
+ .global glBindFragmentShaderATI
+ .type glBindFragmentShaderATI, %function
+glBindFragmentShaderATI:
+ adrp x16, :got:__blue_glCore_glBindFragmentShaderATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindFragmentShaderATI]
+ ldr x16, [x16]
+ br x16
+ .size glBindFragmentShaderATI, .-glBindFragmentShaderATI
+
+ .align 2
+ .global glVertexAttribs3hvNV
+ .type glVertexAttribs3hvNV, %function
+glVertexAttribs3hvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs3hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs3hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs3hvNV, .-glVertexAttribs3hvNV
+
+ .align 2
+ .global glGenBuffersARB
+ .type glGenBuffersARB, %function
+glGenBuffersARB:
+ adrp x16, :got:__blue_glCore_glGenBuffersARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenBuffersARB]
+ ldr x16, [x16]
+ br x16
+ .size glGenBuffersARB, .-glGenBuffersARB
+
+ .align 2
+ .global glListParameterfvSGIX
+ .type glListParameterfvSGIX, %function
+glListParameterfvSGIX:
+ adrp x16, :got:__blue_glCore_glListParameterfvSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glListParameterfvSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glListParameterfvSGIX, .-glListParameterfvSGIX
+
+ .align 2
+ .global glNamedRenderbufferStorageMultisample
+ .type glNamedRenderbufferStorageMultisample, %function
+glNamedRenderbufferStorageMultisample:
+ adrp x16, :got:__blue_glCore_glNamedRenderbufferStorageMultisample
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedRenderbufferStorageMultisample]
+ ldr x16, [x16]
+ br x16
+ .size glNamedRenderbufferStorageMultisample, .-glNamedRenderbufferStorageMultisample
+
+ .align 2
+ .global glClearNamedBufferData
+ .type glClearNamedBufferData, %function
+glClearNamedBufferData:
+ adrp x16, :got:__blue_glCore_glClearNamedBufferData
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearNamedBufferData]
+ ldr x16, [x16]
+ br x16
+ .size glClearNamedBufferData, .-glClearNamedBufferData
+
+ .align 2
+ .global glLightModelxOES
+ .type glLightModelxOES, %function
+glLightModelxOES:
+ adrp x16, :got:__blue_glCore_glLightModelxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLightModelxOES]
+ ldr x16, [x16]
+ br x16
+ .size glLightModelxOES, .-glLightModelxOES
+
+ .align 2
+ .global glColor3xOES
+ .type glColor3xOES, %function
+glColor3xOES:
+ adrp x16, :got:__blue_glCore_glColor3xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glColor3xOES]
+ ldr x16, [x16]
+ br x16
+ .size glColor3xOES, .-glColor3xOES
+
+ .align 2
+ .global glMultiDrawElementArrayAPPLE
+ .type glMultiDrawElementArrayAPPLE, %function
+glMultiDrawElementArrayAPPLE:
+ adrp x16, :got:__blue_glCore_glMultiDrawElementArrayAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawElementArrayAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawElementArrayAPPLE, .-glMultiDrawElementArrayAPPLE
+
+ .align 2
+ .global glStencilFillPathInstancedNV
+ .type glStencilFillPathInstancedNV, %function
+glStencilFillPathInstancedNV:
+ adrp x16, :got:__blue_glCore_glStencilFillPathInstancedNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glStencilFillPathInstancedNV]
+ ldr x16, [x16]
+ br x16
+ .size glStencilFillPathInstancedNV, .-glStencilFillPathInstancedNV
+
+ .align 2
+ .global glVDPAUUnmapSurfacesNV
+ .type glVDPAUUnmapSurfacesNV, %function
+glVDPAUUnmapSurfacesNV:
+ adrp x16, :got:__blue_glCore_glVDPAUUnmapSurfacesNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVDPAUUnmapSurfacesNV]
+ ldr x16, [x16]
+ br x16
+ .size glVDPAUUnmapSurfacesNV, .-glVDPAUUnmapSurfacesNV
+
+ .align 2
+ .global glProgramUniform4i64NV
+ .type glProgramUniform4i64NV, %function
+glProgramUniform4i64NV:
+ adrp x16, :got:__blue_glCore_glProgramUniform4i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform4i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform4i64NV, .-glProgramUniform4i64NV
+
+ .align 2
+ .global glVertexStream4dvATI
+ .type glVertexStream4dvATI, %function
+glVertexStream4dvATI:
+ adrp x16, :got:__blue_glCore_glVertexStream4dvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexStream4dvATI]
+ ldr x16, [x16]
+ br x16
+ .size glVertexStream4dvATI, .-glVertexStream4dvATI
+
+ .align 2
+ .global glIsQuery
+ .type glIsQuery, %function
+glIsQuery:
+ adrp x16, :got:__blue_glCore_glIsQuery
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsQuery]
+ ldr x16, [x16]
+ br x16
+ .size glIsQuery, .-glIsQuery
+
+ .align 2
+ .global glProgramUniformMatrix4fvEXT
+ .type glProgramUniformMatrix4fvEXT, %function
+glProgramUniformMatrix4fvEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4fvEXT, .-glProgramUniformMatrix4fvEXT
+
+ .align 2
+ .global glVertexAttrib3hNV
+ .type glVertexAttrib3hNV, %function
+glVertexAttrib3hNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3hNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3hNV, .-glVertexAttrib3hNV
+
+ .align 2
+ .global glFlushMappedNamedBufferRange
+ .type glFlushMappedNamedBufferRange, %function
+glFlushMappedNamedBufferRange:
+ adrp x16, :got:__blue_glCore_glFlushMappedNamedBufferRange
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFlushMappedNamedBufferRange]
+ ldr x16, [x16]
+ br x16
+ .size glFlushMappedNamedBufferRange, .-glFlushMappedNamedBufferRange
+
+ .align 2
+ .global glVertexAttrib3f
+ .type glVertexAttrib3f, %function
+glVertexAttrib3f:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3f]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3f, .-glVertexAttrib3f
+
+ .align 2
+ .global glVertexAttrib3d
+ .type glVertexAttrib3d, %function
+glVertexAttrib3d:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3d]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3d, .-glVertexAttrib3d
+
+ .align 2
+ .global glBlendColor
+ .type glBlendColor, %function
+glBlendColor:
+ adrp x16, :got:__blue_glCore_glBlendColor
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendColor]
+ ldr x16, [x16]
+ br x16
+ .size glBlendColor, .-glBlendColor
+
+ .align 2
+ .global glBindTransformFeedbackNV
+ .type glBindTransformFeedbackNV, %function
+glBindTransformFeedbackNV:
+ adrp x16, :got:__blue_glCore_glBindTransformFeedbackNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindTransformFeedbackNV]
+ ldr x16, [x16]
+ br x16
+ .size glBindTransformFeedbackNV, .-glBindTransformFeedbackNV
+
+ .align 2
+ .global glSamplerParameterIuiv
+ .type glSamplerParameterIuiv, %function
+glSamplerParameterIuiv:
+ adrp x16, :got:__blue_glCore_glSamplerParameterIuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSamplerParameterIuiv]
+ ldr x16, [x16]
+ br x16
+ .size glSamplerParameterIuiv, .-glSamplerParameterIuiv
+
+ .align 2
+ .global glNamedBufferPageCommitmentEXT
+ .type glNamedBufferPageCommitmentEXT, %function
+glNamedBufferPageCommitmentEXT:
+ adrp x16, :got:__blue_glCore_glNamedBufferPageCommitmentEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedBufferPageCommitmentEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedBufferPageCommitmentEXT, .-glNamedBufferPageCommitmentEXT
+
+ .align 2
+ .global glCheckNamedFramebufferStatus
+ .type glCheckNamedFramebufferStatus, %function
+glCheckNamedFramebufferStatus:
+ adrp x16, :got:__blue_glCore_glCheckNamedFramebufferStatus
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCheckNamedFramebufferStatus]
+ ldr x16, [x16]
+ br x16
+ .size glCheckNamedFramebufferStatus, .-glCheckNamedFramebufferStatus
+
+ .align 2
+ .global glGetObjectBufferfvATI
+ .type glGetObjectBufferfvATI, %function
+glGetObjectBufferfvATI:
+ adrp x16, :got:__blue_glCore_glGetObjectBufferfvATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetObjectBufferfvATI]
+ ldr x16, [x16]
+ br x16
+ .size glGetObjectBufferfvATI, .-glGetObjectBufferfvATI
+
+ .align 2
+ .global glVertexAttrib3s
+ .type glVertexAttrib3s, %function
+glVertexAttrib3s:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3s]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3s, .-glVertexAttrib3s
+
+ .align 2
+ .global glDrawElementsInstancedEXT
+ .type glDrawElementsInstancedEXT, %function
+glDrawElementsInstancedEXT:
+ adrp x16, :got:__blue_glCore_glDrawElementsInstancedEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElementsInstancedEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElementsInstancedEXT, .-glDrawElementsInstancedEXT
+
+ .align 2
+ .global glNamedProgramLocalParameterI4iEXT
+ .type glNamedProgramLocalParameterI4iEXT, %function
+glNamedProgramLocalParameterI4iEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParameterI4iEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParameterI4iEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParameterI4iEXT, .-glNamedProgramLocalParameterI4iEXT
+
+ .align 2
+ .global glGetProgramStageiv
+ .type glGetProgramStageiv, %function
+glGetProgramStageiv:
+ adrp x16, :got:__blue_glCore_glGetProgramStageiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramStageiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramStageiv, .-glGetProgramStageiv
+
+ .align 2
+ .global glGetMaterialxOES
+ .type glGetMaterialxOES, %function
+glGetMaterialxOES:
+ adrp x16, :got:__blue_glCore_glGetMaterialxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetMaterialxOES]
+ ldr x16, [x16]
+ br x16
+ .size glGetMaterialxOES, .-glGetMaterialxOES
+
+ .align 2
+ .global glGetVideoui64vNV
+ .type glGetVideoui64vNV, %function
+glGetVideoui64vNV:
+ adrp x16, :got:__blue_glCore_glGetVideoui64vNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVideoui64vNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetVideoui64vNV, .-glGetVideoui64vNV
+
+ .align 2
+ .global glTangent3bEXT
+ .type glTangent3bEXT, %function
+glTangent3bEXT:
+ adrp x16, :got:__blue_glCore_glTangent3bEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangent3bEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangent3bEXT, .-glTangent3bEXT
+
+ .align 2
+ .global glGetGraphicsResetStatusARB
+ .type glGetGraphicsResetStatusARB, %function
+glGetGraphicsResetStatusARB:
+ adrp x16, :got:__blue_glCore_glGetGraphicsResetStatusARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetGraphicsResetStatusARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetGraphicsResetStatusARB, .-glGetGraphicsResetStatusARB
+
+ .align 2
+ .global glUniform4i
+ .type glUniform4i, %function
+glUniform4i:
+ adrp x16, :got:__blue_glCore_glUniform4i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4i]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4i, .-glUniform4i
+
+ .align 2
+ .global glActiveTexture
+ .type glActiveTexture, %function
+glActiveTexture:
+ adrp x16, :got:__blue_glCore_glActiveTexture
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glActiveTexture]
+ ldr x16, [x16]
+ br x16
+ .size glActiveTexture, .-glActiveTexture
+
+ .align 2
+ .global glEnableVertexAttribArray
+ .type glEnableVertexAttribArray, %function
+glEnableVertexAttribArray:
+ adrp x16, :got:__blue_glCore_glEnableVertexAttribArray
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEnableVertexAttribArray]
+ ldr x16, [x16]
+ br x16
+ .size glEnableVertexAttribArray, .-glEnableVertexAttribArray
+
+ .align 2
+ .global glProgramUniformHandleui64NV
+ .type glProgramUniformHandleui64NV, %function
+glProgramUniformHandleui64NV:
+ adrp x16, :got:__blue_glCore_glProgramUniformHandleui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformHandleui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformHandleui64NV, .-glProgramUniformHandleui64NV
+
+ .align 2
+ .global glUniform4d
+ .type glUniform4d, %function
+glUniform4d:
+ adrp x16, :got:__blue_glCore_glUniform4d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4d]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4d, .-glUniform4d
+
+ .align 2
+ .global glUniform4f
+ .type glUniform4f, %function
+glUniform4f:
+ adrp x16, :got:__blue_glCore_glUniform4f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4f]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4f, .-glUniform4f
+
+ .align 2
+ .global glRenderbufferStorageMultisample
+ .type glRenderbufferStorageMultisample, %function
+glRenderbufferStorageMultisample:
+ adrp x16, :got:__blue_glCore_glRenderbufferStorageMultisample
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRenderbufferStorageMultisample]
+ ldr x16, [x16]
+ br x16
+ .size glRenderbufferStorageMultisample, .-glRenderbufferStorageMultisample
+
+ .align 2
+ .global glCreateProgramPipelines
+ .type glCreateProgramPipelines, %function
+glCreateProgramPipelines:
+ adrp x16, :got:__blue_glCore_glCreateProgramPipelines
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateProgramPipelines]
+ ldr x16, [x16]
+ br x16
+ .size glCreateProgramPipelines, .-glCreateProgramPipelines
+
+ .align 2
+ .global glVertexAttribLPointer
+ .type glVertexAttribLPointer, %function
+glVertexAttribLPointer:
+ adrp x16, :got:__blue_glCore_glVertexAttribLPointer
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribLPointer]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribLPointer, .-glVertexAttribLPointer
+
+ .align 2
+ .global glMultiTexCoord3sv
+ .type glMultiTexCoord3sv, %function
+glMultiTexCoord3sv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3sv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3sv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3sv, .-glMultiTexCoord3sv
+
+ .align 2
+ .global glDrawElementsInstancedBaseVertex
+ .type glDrawElementsInstancedBaseVertex, %function
+glDrawElementsInstancedBaseVertex:
+ adrp x16, :got:__blue_glCore_glDrawElementsInstancedBaseVertex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawElementsInstancedBaseVertex]
+ ldr x16, [x16]
+ br x16
+ .size glDrawElementsInstancedBaseVertex, .-glDrawElementsInstancedBaseVertex
+
+ .align 2
+ .global glPixelTransformParameterfvEXT
+ .type glPixelTransformParameterfvEXT, %function
+glPixelTransformParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glPixelTransformParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelTransformParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPixelTransformParameterfvEXT, .-glPixelTransformParameterfvEXT
+
+ .align 2
+ .global glDrawTransformFeedbackNV
+ .type glDrawTransformFeedbackNV, %function
+glDrawTransformFeedbackNV:
+ adrp x16, :got:__blue_glCore_glDrawTransformFeedbackNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawTransformFeedbackNV]
+ ldr x16, [x16]
+ br x16
+ .size glDrawTransformFeedbackNV, .-glDrawTransformFeedbackNV
+
+ .align 2
+ .global glTextureImage2DMultisampleCoverageNV
+ .type glTextureImage2DMultisampleCoverageNV, %function
+glTextureImage2DMultisampleCoverageNV:
+ adrp x16, :got:__blue_glCore_glTextureImage2DMultisampleCoverageNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureImage2DMultisampleCoverageNV]
+ ldr x16, [x16]
+ br x16
+ .size glTextureImage2DMultisampleCoverageNV, .-glTextureImage2DMultisampleCoverageNV
+
+ .align 2
+ .global glNamedRenderbufferStorageMultisampleCoverageEXT
+ .type glNamedRenderbufferStorageMultisampleCoverageEXT, %function
+glNamedRenderbufferStorageMultisampleCoverageEXT:
+ adrp x16, :got:__blue_glCore_glNamedRenderbufferStorageMultisampleCoverageEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedRenderbufferStorageMultisampleCoverageEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedRenderbufferStorageMultisampleCoverageEXT, .-glNamedRenderbufferStorageMultisampleCoverageEXT
+
+ .align 2
+ .global glGetActiveSubroutineName
+ .type glGetActiveSubroutineName, %function
+glGetActiveSubroutineName:
+ adrp x16, :got:__blue_glCore_glGetActiveSubroutineName
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveSubroutineName]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveSubroutineName, .-glGetActiveSubroutineName
+
+ .align 2
+ .global glMultiTexCoord4iv
+ .type glMultiTexCoord4iv, %function
+glMultiTexCoord4iv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4iv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4iv, .-glMultiTexCoord4iv
+
+ .align 2
+ .global glPopDebugGroup
+ .type glPopDebugGroup, %function
+glPopDebugGroup:
+ adrp x16, :got:__blue_glCore_glPopDebugGroup
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPopDebugGroup]
+ ldr x16, [x16]
+ br x16
+ .size glPopDebugGroup, .-glPopDebugGroup
+
+ .align 2
+ .global glUniformBlockBinding
+ .type glUniformBlockBinding, %function
+glUniformBlockBinding:
+ adrp x16, :got:__blue_glCore_glUniformBlockBinding
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformBlockBinding]
+ ldr x16, [x16]
+ br x16
+ .size glUniformBlockBinding, .-glUniformBlockBinding
+
+ .align 2
+ .global glWindowPos2svMESA
+ .type glWindowPos2svMESA, %function
+glWindowPos2svMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos2svMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2svMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2svMESA, .-glWindowPos2svMESA
+
+ .align 2
+ .global glGenerateTextureMipmapEXT
+ .type glGenerateTextureMipmapEXT, %function
+glGenerateTextureMipmapEXT:
+ adrp x16, :got:__blue_glCore_glGenerateTextureMipmapEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenerateTextureMipmapEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGenerateTextureMipmapEXT, .-glGenerateTextureMipmapEXT
+
+ .align 2
+ .global glBindLightParameterEXT
+ .type glBindLightParameterEXT, %function
+glBindLightParameterEXT:
+ adrp x16, :got:__blue_glCore_glBindLightParameterEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindLightParameterEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindLightParameterEXT, .-glBindLightParameterEXT
+
+ .align 2
+ .global glTexCoord3bOES
+ .type glTexCoord3bOES, %function
+glTexCoord3bOES:
+ adrp x16, :got:__blue_glCore_glTexCoord3bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord3bOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord3bOES, .-glTexCoord3bOES
+
+ .align 2
+ .global glProgramUniformMatrix3x2fv
+ .type glProgramUniformMatrix3x2fv, %function
+glProgramUniformMatrix3x2fv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix3x2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix3x2fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix3x2fv, .-glProgramUniformMatrix3x2fv
+
+ .align 2
+ .global glUniform2fvARB
+ .type glUniform2fvARB, %function
+glUniform2fvARB:
+ adrp x16, :got:__blue_glCore_glUniform2fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform2fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform2fvARB, .-glUniform2fvARB
+
+ .align 2
+ .global glProgramLocalParameterI4uivNV
+ .type glProgramLocalParameterI4uivNV, %function
+glProgramLocalParameterI4uivNV:
+ adrp x16, :got:__blue_glCore_glProgramLocalParameterI4uivNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramLocalParameterI4uivNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramLocalParameterI4uivNV, .-glProgramLocalParameterI4uivNV
+
+ .align 2
+ .global glFlushVertexArrayRangeNV
+ .type glFlushVertexArrayRangeNV, %function
+glFlushVertexArrayRangeNV:
+ adrp x16, :got:__blue_glCore_glFlushVertexArrayRangeNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFlushVertexArrayRangeNV]
+ ldr x16, [x16]
+ br x16
+ .size glFlushVertexArrayRangeNV, .-glFlushVertexArrayRangeNV
+
+ .align 2
+ .global glSecondaryColor3svEXT
+ .type glSecondaryColor3svEXT, %function
+glSecondaryColor3svEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3svEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3svEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3svEXT, .-glSecondaryColor3svEXT
+
+ .align 2
+ .global glGetQueryIndexediv
+ .type glGetQueryIndexediv, %function
+glGetQueryIndexediv:
+ adrp x16, :got:__blue_glCore_glGetQueryIndexediv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryIndexediv]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryIndexediv, .-glGetQueryIndexediv
+
+ .align 2
+ .global glFramebufferTexture3DEXT
+ .type glFramebufferTexture3DEXT, %function
+glFramebufferTexture3DEXT:
+ adrp x16, :got:__blue_glCore_glFramebufferTexture3DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTexture3DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTexture3DEXT, .-glFramebufferTexture3DEXT
+
+ .align 2
+ .global glLoadTransposeMatrixxOES
+ .type glLoadTransposeMatrixxOES, %function
+glLoadTransposeMatrixxOES:
+ adrp x16, :got:__blue_glCore_glLoadTransposeMatrixxOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLoadTransposeMatrixxOES]
+ ldr x16, [x16]
+ br x16
+ .size glLoadTransposeMatrixxOES, .-glLoadTransposeMatrixxOES
+
+ .align 2
+ .global glDeleteTransformFeedbacksNV
+ .type glDeleteTransformFeedbacksNV, %function
+glDeleteTransformFeedbacksNV:
+ adrp x16, :got:__blue_glCore_glDeleteTransformFeedbacksNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteTransformFeedbacksNV]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteTransformFeedbacksNV, .-glDeleteTransformFeedbacksNV
+
+ .align 2
+ .global glGetCompressedTextureImageEXT
+ .type glGetCompressedTextureImageEXT, %function
+glGetCompressedTextureImageEXT:
+ adrp x16, :got:__blue_glCore_glGetCompressedTextureImageEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCompressedTextureImageEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetCompressedTextureImageEXT, .-glGetCompressedTextureImageEXT
+
+ .align 2
+ .global glIndexMaterialEXT
+ .type glIndexMaterialEXT, %function
+glIndexMaterialEXT:
+ adrp x16, :got:__blue_glCore_glIndexMaterialEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIndexMaterialEXT]
+ ldr x16, [x16]
+ br x16
+ .size glIndexMaterialEXT, .-glIndexMaterialEXT
+
+ .align 2
+ .global glFogCoorddEXT
+ .type glFogCoorddEXT, %function
+glFogCoorddEXT:
+ adrp x16, :got:__blue_glCore_glFogCoorddEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFogCoorddEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFogCoorddEXT, .-glFogCoorddEXT
+
+ .align 2
+ .global glTexCoord2hvNV
+ .type glTexCoord2hvNV, %function
+glTexCoord2hvNV:
+ adrp x16, :got:__blue_glCore_glTexCoord2hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2hvNV, .-glTexCoord2hvNV
+
+ .align 2
+ .global glFramebufferTexture2DEXT
+ .type glFramebufferTexture2DEXT, %function
+glFramebufferTexture2DEXT:
+ adrp x16, :got:__blue_glCore_glFramebufferTexture2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTexture2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTexture2DEXT, .-glFramebufferTexture2DEXT
+
+ .align 2
+ .global glEndTransformFeedbackNV
+ .type glEndTransformFeedbackNV, %function
+glEndTransformFeedbackNV:
+ adrp x16, :got:__blue_glCore_glEndTransformFeedbackNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndTransformFeedbackNV]
+ ldr x16, [x16]
+ br x16
+ .size glEndTransformFeedbackNV, .-glEndTransformFeedbackNV
+
+ .align 2
+ .global glGlobalAlphaFactoruiSUN
+ .type glGlobalAlphaFactoruiSUN, %function
+glGlobalAlphaFactoruiSUN:
+ adrp x16, :got:__blue_glCore_glGlobalAlphaFactoruiSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGlobalAlphaFactoruiSUN]
+ ldr x16, [x16]
+ br x16
+ .size glGlobalAlphaFactoruiSUN, .-glGlobalAlphaFactoruiSUN
+
+ .align 2
+ .global glProgramUniform3fEXT
+ .type glProgramUniform3fEXT, %function
+glProgramUniform3fEXT:
+ adrp x16, :got:__blue_glCore_glProgramUniform3fEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3fEXT]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3fEXT, .-glProgramUniform3fEXT
+
+ .align 2
+ .global glNamedBufferSubDataEXT
+ .type glNamedBufferSubDataEXT, %function
+glNamedBufferSubDataEXT:
+ adrp x16, :got:__blue_glCore_glNamedBufferSubDataEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedBufferSubDataEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedBufferSubDataEXT, .-glNamedBufferSubDataEXT
+
+ .align 2
+ .global glFlushRasterSGIX
+ .type glFlushRasterSGIX, %function
+glFlushRasterSGIX:
+ adrp x16, :got:__blue_glCore_glFlushRasterSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFlushRasterSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFlushRasterSGIX, .-glFlushRasterSGIX
+
+ .align 2
+ .global glBlendFunc
+ .type glBlendFunc, %function
+glBlendFunc:
+ adrp x16, :got:__blue_glCore_glBlendFunc
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBlendFunc]
+ ldr x16, [x16]
+ br x16
+ .size glBlendFunc, .-glBlendFunc
+
+ .align 2
+ .global glCreateProgram
+ .type glCreateProgram, %function
+glCreateProgram:
+ adrp x16, :got:__blue_glCore_glCreateProgram
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCreateProgram]
+ ldr x16, [x16]
+ br x16
+ .size glCreateProgram, .-glCreateProgram
+
+ .align 2
+ .global glUniform4ui64vARB
+ .type glUniform4ui64vARB, %function
+glUniform4ui64vARB:
+ adrp x16, :got:__blue_glCore_glUniform4ui64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4ui64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4ui64vARB, .-glUniform4ui64vARB
+
+ .align 2
+ .global glPrimitiveRestartIndex
+ .type glPrimitiveRestartIndex, %function
+glPrimitiveRestartIndex:
+ adrp x16, :got:__blue_glCore_glPrimitiveRestartIndex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPrimitiveRestartIndex]
+ ldr x16, [x16]
+ br x16
+ .size glPrimitiveRestartIndex, .-glPrimitiveRestartIndex
+
+ .align 2
+ .global glNormalStream3fATI
+ .type glNormalStream3fATI, %function
+glNormalStream3fATI:
+ adrp x16, :got:__blue_glCore_glNormalStream3fATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalStream3fATI]
+ ldr x16, [x16]
+ br x16
+ .size glNormalStream3fATI, .-glNormalStream3fATI
+
+ .align 2
+ .global glProgramUniformMatrix2fv
+ .type glProgramUniformMatrix2fv, %function
+glProgramUniformMatrix2fv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix2fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix2fv, .-glProgramUniformMatrix2fv
+
+ .align 2
+ .global glVertexAttribs1hvNV
+ .type glVertexAttribs1hvNV, %function
+glVertexAttribs1hvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs1hvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs1hvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs1hvNV, .-glVertexAttribs1hvNV
+
+ .align 2
+ .global glWindowPos4svMESA
+ .type glWindowPos4svMESA, %function
+glWindowPos4svMESA:
+ adrp x16, :got:__blue_glCore_glWindowPos4svMESA
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos4svMESA]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos4svMESA, .-glWindowPos4svMESA
+
+ .align 2
+ .global glDeleteFragmentShaderATI
+ .type glDeleteFragmentShaderATI, %function
+glDeleteFragmentShaderATI:
+ adrp x16, :got:__blue_glCore_glDeleteFragmentShaderATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteFragmentShaderATI]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteFragmentShaderATI, .-glDeleteFragmentShaderATI
+
+ .align 2
+ .global glBindImageTextures
+ .type glBindImageTextures, %function
+glBindImageTextures:
+ adrp x16, :got:__blue_glCore_glBindImageTextures
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindImageTextures]
+ ldr x16, [x16]
+ br x16
+ .size glBindImageTextures, .-glBindImageTextures
+
+ .align 2
+ .global glSamplerParameteriv
+ .type glSamplerParameteriv, %function
+glSamplerParameteriv:
+ adrp x16, :got:__blue_glCore_glSamplerParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSamplerParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glSamplerParameteriv, .-glSamplerParameteriv
+
+ .align 2
+ .global glUniform1i64NV
+ .type glUniform1i64NV, %function
+glUniform1i64NV:
+ adrp x16, :got:__blue_glCore_glUniform1i64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1i64NV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1i64NV, .-glUniform1i64NV
+
+ .align 2
+ .global glPathStringNV
+ .type glPathStringNV, %function
+glPathStringNV:
+ adrp x16, :got:__blue_glCore_glPathStringNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathStringNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathStringNV, .-glPathStringNV
+
+ .align 2
+ .global glGetNamedFramebufferParameterivEXT
+ .type glGetNamedFramebufferParameterivEXT, %function
+glGetNamedFramebufferParameterivEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedFramebufferParameterivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedFramebufferParameterivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedFramebufferParameterivEXT, .-glGetNamedFramebufferParameterivEXT
+
+ .align 2
+ .global glGetProgramNamedParameterdvNV
+ .type glGetProgramNamedParameterdvNV, %function
+glGetProgramNamedParameterdvNV:
+ adrp x16, :got:__blue_glCore_glGetProgramNamedParameterdvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetProgramNamedParameterdvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetProgramNamedParameterdvNV, .-glGetProgramNamedParameterdvNV
+
+ .align 2
+ .global glPathDashArrayNV
+ .type glPathDashArrayNV, %function
+glPathDashArrayNV:
+ adrp x16, :got:__blue_glCore_glPathDashArrayNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathDashArrayNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathDashArrayNV, .-glPathDashArrayNV
+
+ .align 2
+ .global glSecondaryColor3iv
+ .type glSecondaryColor3iv, %function
+glSecondaryColor3iv:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3iv]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3iv, .-glSecondaryColor3iv
+
+ .align 2
+ .global glMultTransposeMatrixf
+ .type glMultTransposeMatrixf, %function
+glMultTransposeMatrixf:
+ adrp x16, :got:__blue_glCore_glMultTransposeMatrixf
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultTransposeMatrixf]
+ ldr x16, [x16]
+ br x16
+ .size glMultTransposeMatrixf, .-glMultTransposeMatrixf
+
+ .align 2
+ .global glMultTransposeMatrixd
+ .type glMultTransposeMatrixd, %function
+glMultTransposeMatrixd:
+ adrp x16, :got:__blue_glCore_glMultTransposeMatrixd
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultTransposeMatrixd]
+ ldr x16, [x16]
+ br x16
+ .size glMultTransposeMatrixd, .-glMultTransposeMatrixd
+
+ .align 2
+ .global glClearColor
+ .type glClearColor, %function
+glClearColor:
+ adrp x16, :got:__blue_glCore_glClearColor
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glClearColor]
+ ldr x16, [x16]
+ br x16
+ .size glClearColor, .-glClearColor
+
+ .align 2
+ .global glGetImageHandleARB
+ .type glGetImageHandleARB, %function
+glGetImageHandleARB:
+ adrp x16, :got:__blue_glCore_glGetImageHandleARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetImageHandleARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetImageHandleARB, .-glGetImageHandleARB
+
+ .align 2
+ .global glTangent3dEXT
+ .type glTangent3dEXT, %function
+glTangent3dEXT:
+ adrp x16, :got:__blue_glCore_glTangent3dEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTangent3dEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTangent3dEXT, .-glTangent3dEXT
+
+ .align 2
+ .global glGetQueryObjectivARB
+ .type glGetQueryObjectivARB, %function
+glGetQueryObjectivARB:
+ adrp x16, :got:__blue_glCore_glGetQueryObjectivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryObjectivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryObjectivARB, .-glGetQueryObjectivARB
+
+ .align 2
+ .global glGetLocalConstantFloatvEXT
+ .type glGetLocalConstantFloatvEXT, %function
+glGetLocalConstantFloatvEXT:
+ adrp x16, :got:__blue_glCore_glGetLocalConstantFloatvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetLocalConstantFloatvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetLocalConstantFloatvEXT, .-glGetLocalConstantFloatvEXT
+
+ .align 2
+ .global glUseShaderProgramEXT
+ .type glUseShaderProgramEXT, %function
+glUseShaderProgramEXT:
+ adrp x16, :got:__blue_glCore_glUseShaderProgramEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUseShaderProgramEXT]
+ ldr x16, [x16]
+ br x16
+ .size glUseShaderProgramEXT, .-glUseShaderProgramEXT
+
+ .align 2
+ .global glBindRenderbufferEXT
+ .type glBindRenderbufferEXT, %function
+glBindRenderbufferEXT:
+ adrp x16, :got:__blue_glCore_glBindRenderbufferEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindRenderbufferEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindRenderbufferEXT, .-glBindRenderbufferEXT
+
+ .align 2
+ .global glGetnUniformiv
+ .type glGetnUniformiv, %function
+glGetnUniformiv:
+ adrp x16, :got:__blue_glCore_glGetnUniformiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnUniformiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetnUniformiv, .-glGetnUniformiv
+
+ .align 2
+ .global glGetPerfMonitorGroupStringAMD
+ .type glGetPerfMonitorGroupStringAMD, %function
+glGetPerfMonitorGroupStringAMD:
+ adrp x16, :got:__blue_glCore_glGetPerfMonitorGroupStringAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPerfMonitorGroupStringAMD]
+ ldr x16, [x16]
+ br x16
+ .size glGetPerfMonitorGroupStringAMD, .-glGetPerfMonitorGroupStringAMD
+
+ .align 2
+ .global glUniform3ui
+ .type glUniform3ui, %function
+glUniform3ui:
+ adrp x16, :got:__blue_glCore_glUniform3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform3ui]
+ ldr x16, [x16]
+ br x16
+ .size glUniform3ui, .-glUniform3ui
+
+ .align 2
+ .global glGetNamedProgramLocalParameterdvEXT
+ .type glGetNamedProgramLocalParameterdvEXT, %function
+glGetNamedProgramLocalParameterdvEXT:
+ adrp x16, :got:__blue_glCore_glGetNamedProgramLocalParameterdvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedProgramLocalParameterdvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedProgramLocalParameterdvEXT, .-glGetNamedProgramLocalParameterdvEXT
+
+ .align 2
+ .global glSecondaryColor3us
+ .type glSecondaryColor3us, %function
+glSecondaryColor3us:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3us
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3us]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3us, .-glSecondaryColor3us
+
+ .align 2
+ .global glVertexAttribI4uiv
+ .type glVertexAttribI4uiv, %function
+glVertexAttribI4uiv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4uiv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4uiv, .-glVertexAttribI4uiv
+
+ .align 2
+ .global glVertexAttrib4bv
+ .type glVertexAttrib4bv, %function
+glVertexAttrib4bv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4bv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4bv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4bv, .-glVertexAttrib4bv
+
+ .align 2
+ .global glMultiTexCoord3xOES
+ .type glMultiTexCoord3xOES, %function
+glMultiTexCoord3xOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3xOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3xOES, .-glMultiTexCoord3xOES
+
+ .align 2
+ .global glSecondaryColor3ub
+ .type glSecondaryColor3ub, %function
+glSecondaryColor3ub:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3ub
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3ub]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3ub, .-glSecondaryColor3ub
+
+ .align 2
+ .global glConvolutionFilter2DEXT
+ .type glConvolutionFilter2DEXT, %function
+glConvolutionFilter2DEXT:
+ adrp x16, :got:__blue_glCore_glConvolutionFilter2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glConvolutionFilter2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glConvolutionFilter2DEXT, .-glConvolutionFilter2DEXT
+
+ .align 2
+ .global glGetVariantArrayObjectivATI
+ .type glGetVariantArrayObjectivATI, %function
+glGetVariantArrayObjectivATI:
+ adrp x16, :got:__blue_glCore_glGetVariantArrayObjectivATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVariantArrayObjectivATI]
+ ldr x16, [x16]
+ br x16
+ .size glGetVariantArrayObjectivATI, .-glGetVariantArrayObjectivATI
+
+ .align 2
+ .global glSecondaryColor3ui
+ .type glSecondaryColor3ui, %function
+glSecondaryColor3ui:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3ui]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3ui, .-glSecondaryColor3ui
+
+ .align 2
+ .global glVertexAttrib1dARB
+ .type glVertexAttrib1dARB, %function
+glVertexAttrib1dARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1dARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1dARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1dARB, .-glVertexAttrib1dARB
+
+ .align 2
+ .global glGetNamedBufferPointerv
+ .type glGetNamedBufferPointerv, %function
+glGetNamedBufferPointerv:
+ adrp x16, :got:__blue_glCore_glGetNamedBufferPointerv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedBufferPointerv]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedBufferPointerv, .-glGetNamedBufferPointerv
+
+ .align 2
+ .global glLockArraysEXT
+ .type glLockArraysEXT, %function
+glLockArraysEXT:
+ adrp x16, :got:__blue_glCore_glLockArraysEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glLockArraysEXT]
+ ldr x16, [x16]
+ br x16
+ .size glLockArraysEXT, .-glLockArraysEXT
+
+ .align 2
+ .global glVertexAttribPointerNV
+ .type glVertexAttribPointerNV, %function
+glVertexAttribPointerNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribPointerNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribPointerNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribPointerNV, .-glVertexAttribPointerNV
+
+ .align 2
+ .global glBindBufferBaseEXT
+ .type glBindBufferBaseEXT, %function
+glBindBufferBaseEXT:
+ adrp x16, :got:__blue_glCore_glBindBufferBaseEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBufferBaseEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindBufferBaseEXT, .-glBindBufferBaseEXT
+
+ .align 2
+ .global glTexCoord2xvOES
+ .type glTexCoord2xvOES, %function
+glTexCoord2xvOES:
+ adrp x16, :got:__blue_glCore_glTexCoord2xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2xvOES, .-glTexCoord2xvOES
+
+ .align 2
+ .global glGetQueryBufferObjectui64v
+ .type glGetQueryBufferObjectui64v, %function
+glGetQueryBufferObjectui64v:
+ adrp x16, :got:__blue_glCore_glGetQueryBufferObjectui64v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetQueryBufferObjectui64v]
+ ldr x16, [x16]
+ br x16
+ .size glGetQueryBufferObjectui64v, .-glGetQueryBufferObjectui64v
+
+ .align 2
+ .global glSetMultisamplefvAMD
+ .type glSetMultisamplefvAMD, %function
+glSetMultisamplefvAMD:
+ adrp x16, :got:__blue_glCore_glSetMultisamplefvAMD
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSetMultisamplefvAMD]
+ ldr x16, [x16]
+ br x16
+ .size glSetMultisamplefvAMD, .-glSetMultisamplefvAMD
+
+ .align 2
+ .global glPathColorGenNV
+ .type glPathColorGenNV, %function
+glPathColorGenNV:
+ adrp x16, :got:__blue_glCore_glPathColorGenNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPathColorGenNV]
+ ldr x16, [x16]
+ br x16
+ .size glPathColorGenNV, .-glPathColorGenNV
+
+ .align 2
+ .global glUniform1ivARB
+ .type glUniform1ivARB, %function
+glUniform1ivARB:
+ adrp x16, :got:__blue_glCore_glUniform1ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1ivARB, .-glUniform1ivARB
+
+ .align 2
+ .global glVertexAttrib4ivARB
+ .type glVertexAttrib4ivARB, %function
+glVertexAttrib4ivARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4ivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4ivARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4ivARB, .-glVertexAttrib4ivARB
+
+ .align 2
+ .global glGenTransformFeedbacks
+ .type glGenTransformFeedbacks, %function
+glGenTransformFeedbacks:
+ adrp x16, :got:__blue_glCore_glGenTransformFeedbacks
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenTransformFeedbacks]
+ ldr x16, [x16]
+ br x16
+ .size glGenTransformFeedbacks, .-glGenTransformFeedbacks
+
+ .align 2
+ .global glGetVertexAttribIuiv
+ .type glGetVertexAttribIuiv, %function
+glGetVertexAttribIuiv:
+ adrp x16, :got:__blue_glCore_glGetVertexAttribIuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexAttribIuiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexAttribIuiv, .-glGetVertexAttribIuiv
+
+ .align 2
+ .global glPixelTransformParameterfEXT
+ .type glPixelTransformParameterfEXT, %function
+glPixelTransformParameterfEXT:
+ adrp x16, :got:__blue_glCore_glPixelTransformParameterfEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPixelTransformParameterfEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPixelTransformParameterfEXT, .-glPixelTransformParameterfEXT
+
+ .align 2
+ .global glVertex3xvOES
+ .type glVertex3xvOES, %function
+glVertex3xvOES:
+ adrp x16, :got:__blue_glCore_glVertex3xvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex3xvOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex3xvOES, .-glVertex3xvOES
+
+ .align 2
+ .global glGetObjectParameterivARB
+ .type glGetObjectParameterivARB, %function
+glGetObjectParameterivARB:
+ adrp x16, :got:__blue_glCore_glGetObjectParameterivARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetObjectParameterivARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetObjectParameterivARB, .-glGetObjectParameterivARB
+
+ .align 2
+ .global glVertexArraySecondaryColorOffsetEXT
+ .type glVertexArraySecondaryColorOffsetEXT, %function
+glVertexArraySecondaryColorOffsetEXT:
+ adrp x16, :got:__blue_glCore_glVertexArraySecondaryColorOffsetEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArraySecondaryColorOffsetEXT]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArraySecondaryColorOffsetEXT, .-glVertexArraySecondaryColorOffsetEXT
+
+ .align 2
+ .global glWindowPos2fARB
+ .type glWindowPos2fARB, %function
+glWindowPos2fARB:
+ adrp x16, :got:__blue_glCore_glWindowPos2fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos2fARB]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos2fARB, .-glWindowPos2fARB
+
+ .align 2
+ .global glCompressedTexSubImage2D
+ .type glCompressedTexSubImage2D, %function
+glCompressedTexSubImage2D:
+ adrp x16, :got:__blue_glCore_glCompressedTexSubImage2D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexSubImage2D]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexSubImage2D, .-glCompressedTexSubImage2D
+
+ .align 2
+ .global glCompressedTexSubImage3DARB
+ .type glCompressedTexSubImage3DARB, %function
+glCompressedTexSubImage3DARB:
+ adrp x16, :got:__blue_glCore_glCompressedTexSubImage3DARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTexSubImage3DARB]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTexSubImage3DARB, .-glCompressedTexSubImage3DARB
+
+ .align 2
+ .global glProgramBinary
+ .type glProgramBinary, %function
+glProgramBinary:
+ adrp x16, :got:__blue_glCore_glProgramBinary
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramBinary]
+ ldr x16, [x16]
+ br x16
+ .size glProgramBinary, .-glProgramBinary
+
+ .align 2
+ .global glPresentFrameKeyedNV
+ .type glPresentFrameKeyedNV, %function
+glPresentFrameKeyedNV:
+ adrp x16, :got:__blue_glCore_glPresentFrameKeyedNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPresentFrameKeyedNV]
+ ldr x16, [x16]
+ br x16
+ .size glPresentFrameKeyedNV, .-glPresentFrameKeyedNV
+
+ .align 2
+ .global glVertexAttribI4bv
+ .type glVertexAttribI4bv, %function
+glVertexAttribI4bv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI4bv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI4bv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI4bv, .-glVertexAttribI4bv
+
+ .align 2
+ .global glGetTexParameterfv
+ .type glGetTexParameterfv, %function
+glGetTexParameterfv:
+ adrp x16, :got:__blue_glCore_glGetTexParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTexParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glGetTexParameterfv, .-glGetTexParameterfv
+
+ .align 2
+ .global glTransformFeedbackStreamAttribsNV
+ .type glTransformFeedbackStreamAttribsNV, %function
+glTransformFeedbackStreamAttribsNV:
+ adrp x16, :got:__blue_glCore_glTransformFeedbackStreamAttribsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTransformFeedbackStreamAttribsNV]
+ ldr x16, [x16]
+ br x16
+ .size glTransformFeedbackStreamAttribsNV, .-glTransformFeedbackStreamAttribsNV
+
+ .align 2
+ .global glSecondaryColor3usEXT
+ .type glSecondaryColor3usEXT, %function
+glSecondaryColor3usEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3usEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3usEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3usEXT, .-glSecondaryColor3usEXT
+
+ .align 2
+ .global glCopyColorTableSGI
+ .type glCopyColorTableSGI, %function
+glCopyColorTableSGI:
+ adrp x16, :got:__blue_glCore_glCopyColorTableSGI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyColorTableSGI]
+ ldr x16, [x16]
+ br x16
+ .size glCopyColorTableSGI, .-glCopyColorTableSGI
+
+ .align 2
+ .global glProgramEnvParameter4fvARB
+ .type glProgramEnvParameter4fvARB, %function
+glProgramEnvParameter4fvARB:
+ adrp x16, :got:__blue_glCore_glProgramEnvParameter4fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramEnvParameter4fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramEnvParameter4fvARB, .-glProgramEnvParameter4fvARB
+
+ .align 2
+ .global glMultiTexCoord4sARB
+ .type glMultiTexCoord4sARB, %function
+glMultiTexCoord4sARB:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4sARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4sARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4sARB, .-glMultiTexCoord4sARB
+
+ .align 2
+ .global glGetVertexArrayIndexed64iv
+ .type glGetVertexArrayIndexed64iv, %function
+glGetVertexArrayIndexed64iv:
+ adrp x16, :got:__blue_glCore_glGetVertexArrayIndexed64iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetVertexArrayIndexed64iv]
+ ldr x16, [x16]
+ br x16
+ .size glGetVertexArrayIndexed64iv, .-glGetVertexArrayIndexed64iv
+
+ .align 2
+ .global glMatrixMultTranspose3x3fNV
+ .type glMatrixMultTranspose3x3fNV, %function
+glMatrixMultTranspose3x3fNV:
+ adrp x16, :got:__blue_glCore_glMatrixMultTranspose3x3fNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMatrixMultTranspose3x3fNV]
+ ldr x16, [x16]
+ br x16
+ .size glMatrixMultTranspose3x3fNV, .-glMatrixMultTranspose3x3fNV
+
+ .align 2
+ .global glTexParameterIiv
+ .type glTexParameterIiv, %function
+glTexParameterIiv:
+ adrp x16, :got:__blue_glCore_glTexParameterIiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexParameterIiv]
+ ldr x16, [x16]
+ br x16
+ .size glTexParameterIiv, .-glTexParameterIiv
+
+ .align 2
+ .global glVertexArrayAttribFormat
+ .type glVertexArrayAttribFormat, %function
+glVertexArrayAttribFormat:
+ adrp x16, :got:__blue_glCore_glVertexArrayAttribFormat
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexArrayAttribFormat]
+ ldr x16, [x16]
+ br x16
+ .size glVertexArrayAttribFormat, .-glVertexArrayAttribFormat
+
+ .align 2
+ .global glEndTransformFeedback
+ .type glEndTransformFeedback, %function
+glEndTransformFeedback:
+ adrp x16, :got:__blue_glCore_glEndTransformFeedback
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndTransformFeedback]
+ ldr x16, [x16]
+ br x16
+ .size glEndTransformFeedback, .-glEndTransformFeedback
+
+ .align 2
+ .global glDrawCommandsStatesAddressNV
+ .type glDrawCommandsStatesAddressNV, %function
+glDrawCommandsStatesAddressNV:
+ adrp x16, :got:__blue_glCore_glDrawCommandsStatesAddressNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawCommandsStatesAddressNV]
+ ldr x16, [x16]
+ br x16
+ .size glDrawCommandsStatesAddressNV, .-glDrawCommandsStatesAddressNV
+
+ .align 2
+ .global glUniform4ui64NV
+ .type glUniform4ui64NV, %function
+glUniform4ui64NV:
+ adrp x16, :got:__blue_glCore_glUniform4ui64NV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4ui64NV]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4ui64NV, .-glUniform4ui64NV
+
+ .align 2
+ .global glVertexAttrib4usv
+ .type glVertexAttrib4usv, %function
+glVertexAttrib4usv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib4usv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib4usv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib4usv, .-glVertexAttrib4usv
+
+ .align 2
+ .global glTexImage2DMultisample
+ .type glTexImage2DMultisample, %function
+glTexImage2DMultisample:
+ adrp x16, :got:__blue_glCore_glTexImage2DMultisample
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexImage2DMultisample]
+ ldr x16, [x16]
+ br x16
+ .size glTexImage2DMultisample, .-glTexImage2DMultisample
+
+ .align 2
+ .global glBindTextureEXT
+ .type glBindTextureEXT, %function
+glBindTextureEXT:
+ adrp x16, :got:__blue_glCore_glBindTextureEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindTextureEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindTextureEXT, .-glBindTextureEXT
+
+ .align 2
+ .global glVertexAttribI1iv
+ .type glVertexAttribI1iv, %function
+glVertexAttribI1iv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI1iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI1iv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI1iv, .-glVertexAttribI1iv
+
+ .align 2
+ .global glGetFinalCombinerInputParameterfvNV
+ .type glGetFinalCombinerInputParameterfvNV, %function
+glGetFinalCombinerInputParameterfvNV:
+ adrp x16, :got:__blue_glCore_glGetFinalCombinerInputParameterfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFinalCombinerInputParameterfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetFinalCombinerInputParameterfvNV, .-glGetFinalCombinerInputParameterfvNV
+
+ .align 2
+ .global glMultiTexCoord3bvOES
+ .type glMultiTexCoord3bvOES, %function
+glMultiTexCoord3bvOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3bvOES, .-glMultiTexCoord3bvOES
+
+ .align 2
+ .global glVertexAttribDivisor
+ .type glVertexAttribDivisor, %function
+glVertexAttribDivisor:
+ adrp x16, :got:__blue_glCore_glVertexAttribDivisor
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribDivisor]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribDivisor, .-glVertexAttribDivisor
+
+ .align 2
+ .global glGetCompressedTextureImage
+ .type glGetCompressedTextureImage, %function
+glGetCompressedTextureImage:
+ adrp x16, :got:__blue_glCore_glGetCompressedTextureImage
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCompressedTextureImage]
+ ldr x16, [x16]
+ br x16
+ .size glGetCompressedTextureImage, .-glGetCompressedTextureImage
+
+ .align 2
+ .global glBindTexGenParameterEXT
+ .type glBindTexGenParameterEXT, %function
+glBindTexGenParameterEXT:
+ adrp x16, :got:__blue_glCore_glBindTexGenParameterEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindTexGenParameterEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindTexGenParameterEXT, .-glBindTexGenParameterEXT
+
+ .align 2
+ .global glNormalStream3bATI
+ .type glNormalStream3bATI, %function
+glNormalStream3bATI:
+ adrp x16, :got:__blue_glCore_glNormalStream3bATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalStream3bATI]
+ ldr x16, [x16]
+ br x16
+ .size glNormalStream3bATI, .-glNormalStream3bATI
+
+ .align 2
+ .global glVertexAttribs1svNV
+ .type glVertexAttribs1svNV, %function
+glVertexAttribs1svNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs1svNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs1svNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs1svNV, .-glVertexAttribs1svNV
+
+ .align 2
+ .global glTextureImage2DEXT
+ .type glTextureImage2DEXT, %function
+glTextureImage2DEXT:
+ adrp x16, :got:__blue_glCore_glTextureImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureImage2DEXT, .-glTextureImage2DEXT
+
+ .align 2
+ .global glGetColorTableParameteriv
+ .type glGetColorTableParameteriv, %function
+glGetColorTableParameteriv:
+ adrp x16, :got:__blue_glCore_glGetColorTableParameteriv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetColorTableParameteriv]
+ ldr x16, [x16]
+ br x16
+ .size glGetColorTableParameteriv, .-glGetColorTableParameteriv
+
+ .align 2
+ .global glTexCoord4xOES
+ .type glTexCoord4xOES, %function
+glTexCoord4xOES:
+ adrp x16, :got:__blue_glCore_glTexCoord4xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord4xOES]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord4xOES, .-glTexCoord4xOES
+
+ .align 2
+ .global glSecondaryColor3fvEXT
+ .type glSecondaryColor3fvEXT, %function
+glSecondaryColor3fvEXT:
+ adrp x16, :got:__blue_glCore_glSecondaryColor3fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSecondaryColor3fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glSecondaryColor3fvEXT, .-glSecondaryColor3fvEXT
+
+ .align 2
+ .global glUniformMatrix4x2fv
+ .type glUniformMatrix4x2fv, %function
+glUniformMatrix4x2fv:
+ adrp x16, :got:__blue_glCore_glUniformMatrix4x2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix4x2fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix4x2fv, .-glUniformMatrix4x2fv
+
+ .align 2
+ .global glGetUniformi64vARB
+ .type glGetUniformi64vARB, %function
+glGetUniformi64vARB:
+ adrp x16, :got:__blue_glCore_glGetUniformi64vARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformi64vARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformi64vARB, .-glGetUniformi64vARB
+
+ .align 2
+ .global glProgramNamedParameter4fvNV
+ .type glProgramNamedParameter4fvNV, %function
+glProgramNamedParameter4fvNV:
+ adrp x16, :got:__blue_glCore_glProgramNamedParameter4fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramNamedParameter4fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glProgramNamedParameter4fvNV, .-glProgramNamedParameter4fvNV
+
+ .align 2
+ .global glEndVideoCaptureNV
+ .type glEndVideoCaptureNV, %function
+glEndVideoCaptureNV:
+ adrp x16, :got:__blue_glCore_glEndVideoCaptureNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEndVideoCaptureNV]
+ ldr x16, [x16]
+ br x16
+ .size glEndVideoCaptureNV, .-glEndVideoCaptureNV
+
+ .align 2
+ .global glVertexAttrib3dv
+ .type glVertexAttrib3dv, %function
+glVertexAttrib3dv:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3dv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3dv, .-glVertexAttrib3dv
+
+ .align 2
+ .global glNamedFramebufferTexture1DEXT
+ .type glNamedFramebufferTexture1DEXT, %function
+glNamedFramebufferTexture1DEXT:
+ adrp x16, :got:__blue_glCore_glNamedFramebufferTexture1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedFramebufferTexture1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedFramebufferTexture1DEXT, .-glNamedFramebufferTexture1DEXT
+
+ .align 2
+ .global glMapBufferRange
+ .type glMapBufferRange, %function
+glMapBufferRange:
+ adrp x16, :got:__blue_glCore_glMapBufferRange
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMapBufferRange]
+ ldr x16, [x16]
+ br x16
+ .size glMapBufferRange, .-glMapBufferRange
+
+ .align 2
+ .global glMultiDrawElementsIndirectCountARB
+ .type glMultiDrawElementsIndirectCountARB, %function
+glMultiDrawElementsIndirectCountARB:
+ adrp x16, :got:__blue_glCore_glMultiDrawElementsIndirectCountARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawElementsIndirectCountARB]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawElementsIndirectCountARB, .-glMultiDrawElementsIndirectCountARB
+
+ .align 2
+ .global glProgramUniformMatrix4x2fv
+ .type glProgramUniformMatrix4x2fv, %function
+glProgramUniformMatrix4x2fv:
+ adrp x16, :got:__blue_glCore_glProgramUniformMatrix4x2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniformMatrix4x2fv]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniformMatrix4x2fv, .-glProgramUniformMatrix4x2fv
+
+ .align 2
+ .global glGetTextureParameterIivEXT
+ .type glGetTextureParameterIivEXT, %function
+glGetTextureParameterIivEXT:
+ adrp x16, :got:__blue_glCore_glGetTextureParameterIivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetTextureParameterIivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetTextureParameterIivEXT, .-glGetTextureParameterIivEXT
+
+ .align 2
+ .global glMultiTexCoord3hNV
+ .type glMultiTexCoord3hNV, %function
+glMultiTexCoord3hNV:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord3hNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord3hNV]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord3hNV, .-glMultiTexCoord3hNV
+
+ .align 2
+ .global glNamedProgramLocalParametersI4uivEXT
+ .type glNamedProgramLocalParametersI4uivEXT, %function
+glNamedProgramLocalParametersI4uivEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParametersI4uivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParametersI4uivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParametersI4uivEXT, .-glNamedProgramLocalParametersI4uivEXT
+
+ .align 2
+ .global glTexCoord2fColor4fNormal3fVertex3fSUN
+ .type glTexCoord2fColor4fNormal3fVertex3fSUN, %function
+glTexCoord2fColor4fNormal3fVertex3fSUN:
+ adrp x16, :got:__blue_glCore_glTexCoord2fColor4fNormal3fVertex3fSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoord2fColor4fNormal3fVertex3fSUN]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoord2fColor4fNormal3fVertex3fSUN, .-glTexCoord2fColor4fNormal3fVertex3fSUN
+
+ .align 2
+ .global glGenTransformFeedbacksNV
+ .type glGenTransformFeedbacksNV, %function
+glGenTransformFeedbacksNV:
+ adrp x16, :got:__blue_glCore_glGenTransformFeedbacksNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenTransformFeedbacksNV]
+ ldr x16, [x16]
+ br x16
+ .size glGenTransformFeedbacksNV, .-glGenTransformFeedbacksNV
+
+ .align 2
+ .global glVertexAttribI2iv
+ .type glVertexAttribI2iv, %function
+glVertexAttribI2iv:
+ adrp x16, :got:__blue_glCore_glVertexAttribI2iv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI2iv]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI2iv, .-glVertexAttribI2iv
+
+ .align 2
+ .global glCopyMultiTexImage2DEXT
+ .type glCopyMultiTexImage2DEXT, %function
+glCopyMultiTexImage2DEXT:
+ adrp x16, :got:__blue_glCore_glCopyMultiTexImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyMultiTexImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyMultiTexImage2DEXT, .-glCopyMultiTexImage2DEXT
+
+ .align 2
+ .global glVertex3bvOES
+ .type glVertex3bvOES, %function
+glVertex3bvOES:
+ adrp x16, :got:__blue_glCore_glVertex3bvOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertex3bvOES]
+ ldr x16, [x16]
+ br x16
+ .size glVertex3bvOES, .-glVertex3bvOES
+
+ .align 2
+ .global glTexImage3DMultisampleCoverageNV
+ .type glTexImage3DMultisampleCoverageNV, %function
+glTexImage3DMultisampleCoverageNV:
+ adrp x16, :got:__blue_glCore_glTexImage3DMultisampleCoverageNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexImage3DMultisampleCoverageNV]
+ ldr x16, [x16]
+ br x16
+ .size glTexImage3DMultisampleCoverageNV, .-glTexImage3DMultisampleCoverageNV
+
+ .align 2
+ .global glGetShaderPrecisionFormat
+ .type glGetShaderPrecisionFormat, %function
+glGetShaderPrecisionFormat:
+ adrp x16, :got:__blue_glCore_glGetShaderPrecisionFormat
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetShaderPrecisionFormat]
+ ldr x16, [x16]
+ br x16
+ .size glGetShaderPrecisionFormat, .-glGetShaderPrecisionFormat
+
+ .align 2
+ .global glTexSubImage4DSGIS
+ .type glTexSubImage4DSGIS, %function
+glTexSubImage4DSGIS:
+ adrp x16, :got:__blue_glCore_glTexSubImage4DSGIS
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexSubImage4DSGIS]
+ ldr x16, [x16]
+ br x16
+ .size glTexSubImage4DSGIS, .-glTexSubImage4DSGIS
+
+ .align 2
+ .global glRasterSamplesEXT
+ .type glRasterSamplesEXT, %function
+glRasterSamplesEXT:
+ adrp x16, :got:__blue_glCore_glRasterSamplesEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRasterSamplesEXT]
+ ldr x16, [x16]
+ br x16
+ .size glRasterSamplesEXT, .-glRasterSamplesEXT
+
+ .align 2
+ .global glTextureView
+ .type glTextureView, %function
+glTextureView:
+ adrp x16, :got:__blue_glCore_glTextureView
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureView]
+ ldr x16, [x16]
+ br x16
+ .size glTextureView, .-glTextureView
+
+ .align 2
+ .global glEvalMapsNV
+ .type glEvalMapsNV, %function
+glEvalMapsNV:
+ adrp x16, :got:__blue_glCore_glEvalMapsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEvalMapsNV]
+ ldr x16, [x16]
+ br x16
+ .size glEvalMapsNV, .-glEvalMapsNV
+
+ .align 2
+ .global glGetFragDataLocationEXT
+ .type glGetFragDataLocationEXT, %function
+glGetFragDataLocationEXT:
+ adrp x16, :got:__blue_glCore_glGetFragDataLocationEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetFragDataLocationEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetFragDataLocationEXT, .-glGetFragDataLocationEXT
+
+ .align 2
+ .global glGetCompressedMultiTexImageEXT
+ .type glGetCompressedMultiTexImageEXT, %function
+glGetCompressedMultiTexImageEXT:
+ adrp x16, :got:__blue_glCore_glGetCompressedMultiTexImageEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetCompressedMultiTexImageEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetCompressedMultiTexImageEXT, .-glGetCompressedMultiTexImageEXT
+
+ .align 2
+ .global glDrawBuffersARB
+ .type glDrawBuffersARB, %function
+glDrawBuffersARB:
+ adrp x16, :got:__blue_glCore_glDrawBuffersARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawBuffersARB]
+ ldr x16, [x16]
+ br x16
+ .size glDrawBuffersARB, .-glDrawBuffersARB
+
+ .align 2
+ .global glShaderSource
+ .type glShaderSource, %function
+glShaderSource:
+ adrp x16, :got:__blue_glCore_glShaderSource
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glShaderSource]
+ ldr x16, [x16]
+ br x16
+ .size glShaderSource, .-glShaderSource
+
+ .align 2
+ .global glGetnSeparableFilter
+ .type glGetnSeparableFilter, %function
+glGetnSeparableFilter:
+ adrp x16, :got:__blue_glCore_glGetnSeparableFilter
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnSeparableFilter]
+ ldr x16, [x16]
+ br x16
+ .size glGetnSeparableFilter, .-glGetnSeparableFilter
+
+ .align 2
+ .global glGetActiveUniformBlockName
+ .type glGetActiveUniformBlockName, %function
+glGetActiveUniformBlockName:
+ adrp x16, :got:__blue_glCore_glGetActiveUniformBlockName
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetActiveUniformBlockName]
+ ldr x16, [x16]
+ br x16
+ .size glGetActiveUniformBlockName, .-glGetActiveUniformBlockName
+
+ .align 2
+ .global glTexCoordP2uiv
+ .type glTexCoordP2uiv, %function
+glTexCoordP2uiv:
+ adrp x16, :got:__blue_glCore_glTexCoordP2uiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordP2uiv]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordP2uiv, .-glTexCoordP2uiv
+
+ .align 2
+ .global glCopyTexImage2DEXT
+ .type glCopyTexImage2DEXT, %function
+glCopyTexImage2DEXT:
+ adrp x16, :got:__blue_glCore_glCopyTexImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTexImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTexImage2DEXT, .-glCopyTexImage2DEXT
+
+ .align 2
+ .global glGetNamedBufferParameteri64v
+ .type glGetNamedBufferParameteri64v, %function
+glGetNamedBufferParameteri64v:
+ adrp x16, :got:__blue_glCore_glGetNamedBufferParameteri64v
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetNamedBufferParameteri64v]
+ ldr x16, [x16]
+ br x16
+ .size glGetNamedBufferParameteri64v, .-glGetNamedBufferParameteri64v
+
+ .align 2
+ .global glCommandListSegmentsNV
+ .type glCommandListSegmentsNV, %function
+glCommandListSegmentsNV:
+ adrp x16, :got:__blue_glCore_glCommandListSegmentsNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCommandListSegmentsNV]
+ ldr x16, [x16]
+ br x16
+ .size glCommandListSegmentsNV, .-glCommandListSegmentsNV
+
+ .align 2
+ .global glTextureParameterIivEXT
+ .type glTextureParameterIivEXT, %function
+glTextureParameterIivEXT:
+ adrp x16, :got:__blue_glCore_glTextureParameterIivEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureParameterIivEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureParameterIivEXT, .-glTextureParameterIivEXT
+
+ .align 2
+ .global glMultiTexParameterfvEXT
+ .type glMultiTexParameterfvEXT, %function
+glMultiTexParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexParameterfvEXT, .-glMultiTexParameterfvEXT
+
+ .align 2
+ .global glProgramUniform2ui64ARB
+ .type glProgramUniform2ui64ARB, %function
+glProgramUniform2ui64ARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform2ui64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform2ui64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform2ui64ARB, .-glProgramUniform2ui64ARB
+
+ .align 2
+ .global glNewObjectBufferATI
+ .type glNewObjectBufferATI, %function
+glNewObjectBufferATI:
+ adrp x16, :got:__blue_glCore_glNewObjectBufferATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNewObjectBufferATI]
+ ldr x16, [x16]
+ br x16
+ .size glNewObjectBufferATI, .-glNewObjectBufferATI
+
+ .align 2
+ .global glDeleteAsyncMarkersSGIX
+ .type glDeleteAsyncMarkersSGIX, %function
+glDeleteAsyncMarkersSGIX:
+ adrp x16, :got:__blue_glCore_glDeleteAsyncMarkersSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDeleteAsyncMarkersSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glDeleteAsyncMarkersSGIX, .-glDeleteAsyncMarkersSGIX
+
+ .align 2
+ .global glRotatexOES
+ .type glRotatexOES, %function
+glRotatexOES:
+ adrp x16, :got:__blue_glCore_glRotatexOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glRotatexOES]
+ ldr x16, [x16]
+ br x16
+ .size glRotatexOES, .-glRotatexOES
+
+ .align 2
+ .global glTextureImage1DEXT
+ .type glTextureImage1DEXT, %function
+glTextureImage1DEXT:
+ adrp x16, :got:__blue_glCore_glTextureImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTextureImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glTextureImage1DEXT, .-glTextureImage1DEXT
+
+ .align 2
+ .global glAttachObjectARB
+ .type glAttachObjectARB, %function
+glAttachObjectARB:
+ adrp x16, :got:__blue_glCore_glAttachObjectARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glAttachObjectARB]
+ ldr x16, [x16]
+ br x16
+ .size glAttachObjectARB, .-glAttachObjectARB
+
+ .align 2
+ .global glCopyTexSubImage1DEXT
+ .type glCopyTexSubImage1DEXT, %function
+glCopyTexSubImage1DEXT:
+ adrp x16, :got:__blue_glCore_glCopyTexSubImage1DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTexSubImage1DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTexSubImage1DEXT, .-glCopyTexSubImage1DEXT
+
+ .align 2
+ .global glUniformMatrix3fvARB
+ .type glUniformMatrix3fvARB, %function
+glUniformMatrix3fvARB:
+ adrp x16, :got:__blue_glCore_glUniformMatrix3fvARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniformMatrix3fvARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniformMatrix3fvARB, .-glUniformMatrix3fvARB
+
+ .align 2
+ .global glTexCoordP1ui
+ .type glTexCoordP1ui, %function
+glTexCoordP1ui:
+ adrp x16, :got:__blue_glCore_glTexCoordP1ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexCoordP1ui]
+ ldr x16, [x16]
+ br x16
+ .size glTexCoordP1ui, .-glTexCoordP1ui
+
+ .align 2
+ .global glPointParameterfvEXT
+ .type glPointParameterfvEXT, %function
+glPointParameterfvEXT:
+ adrp x16, :got:__blue_glCore_glPointParameterfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glPointParameterfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glPointParameterfvEXT, .-glPointParameterfvEXT
+
+ .align 2
+ .global glUniform4fARB
+ .type glUniform4fARB, %function
+glUniform4fARB:
+ adrp x16, :got:__blue_glCore_glUniform4fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform4fARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform4fARB, .-glUniform4fARB
+
+ .align 2
+ .global glVertexAttribs3fvNV
+ .type glVertexAttribs3fvNV, %function
+glVertexAttribs3fvNV:
+ adrp x16, :got:__blue_glCore_glVertexAttribs3fvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribs3fvNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribs3fvNV, .-glVertexAttribs3fvNV
+
+ .align 2
+ .global glCopyTextureSubImage3D
+ .type glCopyTextureSubImage3D, %function
+glCopyTextureSubImage3D:
+ adrp x16, :got:__blue_glCore_glCopyTextureSubImage3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCopyTextureSubImage3D]
+ ldr x16, [x16]
+ br x16
+ .size glCopyTextureSubImage3D, .-glCopyTextureSubImage3D
+
+ .align 2
+ .global glMultiTexCoord2fv
+ .type glMultiTexCoord2fv, %function
+glMultiTexCoord2fv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2fv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2fv, .-glMultiTexCoord2fv
+
+ .align 2
+ .global glMultiTexEnvfvEXT
+ .type glMultiTexEnvfvEXT, %function
+glMultiTexEnvfvEXT:
+ adrp x16, :got:__blue_glCore_glMultiTexEnvfvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexEnvfvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexEnvfvEXT, .-glMultiTexEnvfvEXT
+
+ .align 2
+ .global glNormalP3ui
+ .type glNormalP3ui, %function
+glNormalP3ui:
+ adrp x16, :got:__blue_glCore_glNormalP3ui
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalP3ui]
+ ldr x16, [x16]
+ br x16
+ .size glNormalP3ui, .-glNormalP3ui
+
+ .align 2
+ .global glDrawRangeElementArrayATI
+ .type glDrawRangeElementArrayATI, %function
+glDrawRangeElementArrayATI:
+ adrp x16, :got:__blue_glCore_glDrawRangeElementArrayATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawRangeElementArrayATI]
+ ldr x16, [x16]
+ br x16
+ .size glDrawRangeElementArrayATI, .-glDrawRangeElementArrayATI
+
+ .align 2
+ .global glVertexAttribI1i
+ .type glVertexAttribI1i, %function
+glVertexAttribI1i:
+ adrp x16, :got:__blue_glCore_glVertexAttribI1i
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttribI1i]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttribI1i, .-glVertexAttribI1i
+
+ .align 2
+ .global glDrawArraysInstancedARB
+ .type glDrawArraysInstancedARB, %function
+glDrawArraysInstancedARB:
+ adrp x16, :got:__blue_glCore_glDrawArraysInstancedARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawArraysInstancedARB]
+ ldr x16, [x16]
+ br x16
+ .size glDrawArraysInstancedARB, .-glDrawArraysInstancedARB
+
+ .align 2
+ .global glGetDebugMessageLogARB
+ .type glGetDebugMessageLogARB, %function
+glGetDebugMessageLogARB:
+ adrp x16, :got:__blue_glCore_glGetDebugMessageLogARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetDebugMessageLogARB]
+ ldr x16, [x16]
+ br x16
+ .size glGetDebugMessageLogARB, .-glGetDebugMessageLogARB
+
+ .align 2
+ .global glGetPathTexGenfvNV
+ .type glGetPathTexGenfvNV, %function
+glGetPathTexGenfvNV:
+ adrp x16, :got:__blue_glCore_glGetPathTexGenfvNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetPathTexGenfvNV]
+ ldr x16, [x16]
+ br x16
+ .size glGetPathTexGenfvNV, .-glGetPathTexGenfvNV
+
+ .align 2
+ .global glNamedProgramLocalParameters4fvEXT
+ .type glNamedProgramLocalParameters4fvEXT, %function
+glNamedProgramLocalParameters4fvEXT:
+ adrp x16, :got:__blue_glCore_glNamedProgramLocalParameters4fvEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNamedProgramLocalParameters4fvEXT]
+ ldr x16, [x16]
+ br x16
+ .size glNamedProgramLocalParameters4fvEXT, .-glNamedProgramLocalParameters4fvEXT
+
+ .align 2
+ .global glGetBufferPointerv
+ .type glGetBufferPointerv, %function
+glGetBufferPointerv:
+ adrp x16, :got:__blue_glCore_glGetBufferPointerv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetBufferPointerv]
+ ldr x16, [x16]
+ br x16
+ .size glGetBufferPointerv, .-glGetBufferPointerv
+
+ .align 2
+ .global glFramebufferTexture3D
+ .type glFramebufferTexture3D, %function
+glFramebufferTexture3D:
+ adrp x16, :got:__blue_glCore_glFramebufferTexture3D
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFramebufferTexture3D]
+ ldr x16, [x16]
+ br x16
+ .size glFramebufferTexture3D, .-glFramebufferTexture3D
+
+ .align 2
+ .global glCompressedTextureSubImage2DEXT
+ .type glCompressedTextureSubImage2DEXT, %function
+glCompressedTextureSubImage2DEXT:
+ adrp x16, :got:__blue_glCore_glCompressedTextureSubImage2DEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glCompressedTextureSubImage2DEXT]
+ ldr x16, [x16]
+ br x16
+ .size glCompressedTextureSubImage2DEXT, .-glCompressedTextureSubImage2DEXT
+
+ .align 2
+ .global glReplacementCodeubSUN
+ .type glReplacementCodeubSUN, %function
+glReplacementCodeubSUN:
+ adrp x16, :got:__blue_glCore_glReplacementCodeubSUN
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReplacementCodeubSUN]
+ ldr x16, [x16]
+ br x16
+ .size glReplacementCodeubSUN, .-glReplacementCodeubSUN
+
+ .align 2
+ .global glWindowPos3dv
+ .type glWindowPos3dv, %function
+glWindowPos3dv:
+ adrp x16, :got:__blue_glCore_glWindowPos3dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glWindowPos3dv]
+ ldr x16, [x16]
+ br x16
+ .size glWindowPos3dv, .-glWindowPos3dv
+
+ .align 2
+ .global glFragmentMaterialiSGIX
+ .type glFragmentMaterialiSGIX, %function
+glFragmentMaterialiSGIX:
+ adrp x16, :got:__blue_glCore_glFragmentMaterialiSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFragmentMaterialiSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glFragmentMaterialiSGIX, .-glFragmentMaterialiSGIX
+
+ .align 2
+ .global glReadInstrumentsSGIX
+ .type glReadInstrumentsSGIX, %function
+glReadInstrumentsSGIX:
+ adrp x16, :got:__blue_glCore_glReadInstrumentsSGIX
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glReadInstrumentsSGIX]
+ ldr x16, [x16]
+ br x16
+ .size glReadInstrumentsSGIX, .-glReadInstrumentsSGIX
+
+ .align 2
+ .global glSamplerParameterfv
+ .type glSamplerParameterfv, %function
+glSamplerParameterfv:
+ adrp x16, :got:__blue_glCore_glSamplerParameterfv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glSamplerParameterfv]
+ ldr x16, [x16]
+ br x16
+ .size glSamplerParameterfv, .-glSamplerParameterfv
+
+ .align 2
+ .global glBindBufferARB
+ .type glBindBufferARB, %function
+glBindBufferARB:
+ adrp x16, :got:__blue_glCore_glBindBufferARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindBufferARB]
+ ldr x16, [x16]
+ br x16
+ .size glBindBufferARB, .-glBindBufferARB
+
+ .align 2
+ .global glVertexAttrib1sNV
+ .type glVertexAttrib1sNV, %function
+glVertexAttrib1sNV:
+ adrp x16, :got:__blue_glCore_glVertexAttrib1sNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib1sNV]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib1sNV, .-glVertexAttrib1sNV
+
+ .align 2
+ .global glUniform1fv
+ .type glUniform1fv, %function
+glUniform1fv:
+ adrp x16, :got:__blue_glCore_glUniform1fv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1fv]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1fv, .-glUniform1fv
+
+ .align 2
+ .global glBeginOcclusionQueryNV
+ .type glBeginOcclusionQueryNV, %function
+glBeginOcclusionQueryNV:
+ adrp x16, :got:__blue_glCore_glBeginOcclusionQueryNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBeginOcclusionQueryNV]
+ ldr x16, [x16]
+ br x16
+ .size glBeginOcclusionQueryNV, .-glBeginOcclusionQueryNV
+
+ .align 2
+ .global glGenFencesAPPLE
+ .type glGenFencesAPPLE, %function
+glGenFencesAPPLE:
+ adrp x16, :got:__blue_glCore_glGenFencesAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGenFencesAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glGenFencesAPPLE, .-glGenFencesAPPLE
+
+ .align 2
+ .global glScissorIndexedv
+ .type glScissorIndexedv, %function
+glScissorIndexedv:
+ adrp x16, :got:__blue_glCore_glScissorIndexedv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glScissorIndexedv]
+ ldr x16, [x16]
+ br x16
+ .size glScissorIndexedv, .-glScissorIndexedv
+
+ .align 2
+ .global glDisableVariantClientStateEXT
+ .type glDisableVariantClientStateEXT, %function
+glDisableVariantClientStateEXT:
+ adrp x16, :got:__blue_glCore_glDisableVariantClientStateEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDisableVariantClientStateEXT]
+ ldr x16, [x16]
+ br x16
+ .size glDisableVariantClientStateEXT, .-glDisableVariantClientStateEXT
+
+ .align 2
+ .global glMinmaxEXT
+ .type glMinmaxEXT, %function
+glMinmaxEXT:
+ adrp x16, :got:__blue_glCore_glMinmaxEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMinmaxEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMinmaxEXT, .-glMinmaxEXT
+
+ .align 2
+ .global glNormalPointervINTEL
+ .type glNormalPointervINTEL, %function
+glNormalPointervINTEL:
+ adrp x16, :got:__blue_glCore_glNormalPointervINTEL
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glNormalPointervINTEL]
+ ldr x16, [x16]
+ br x16
+ .size glNormalPointervINTEL, .-glNormalPointervINTEL
+
+ .align 2
+ .global glGetnPixelMapuiv
+ .type glGetnPixelMapuiv, %function
+glGetnPixelMapuiv:
+ adrp x16, :got:__blue_glCore_glGetnPixelMapuiv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetnPixelMapuiv]
+ ldr x16, [x16]
+ br x16
+ .size glGetnPixelMapuiv, .-glGetnPixelMapuiv
+
+ .align 2
+ .global glBindMaterialParameterEXT
+ .type glBindMaterialParameterEXT, %function
+glBindMaterialParameterEXT:
+ adrp x16, :got:__blue_glCore_glBindMaterialParameterEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glBindMaterialParameterEXT]
+ ldr x16, [x16]
+ br x16
+ .size glBindMaterialParameterEXT, .-glBindMaterialParameterEXT
+
+ .align 2
+ .global glGetObjectParameterivAPPLE
+ .type glGetObjectParameterivAPPLE, %function
+glGetObjectParameterivAPPLE:
+ adrp x16, :got:__blue_glCore_glGetObjectParameterivAPPLE
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetObjectParameterivAPPLE]
+ ldr x16, [x16]
+ br x16
+ .size glGetObjectParameterivAPPLE, .-glGetObjectParameterivAPPLE
+
+ .align 2
+ .global glVertexAttrib3sARB
+ .type glVertexAttrib3sARB, %function
+glVertexAttrib3sARB:
+ adrp x16, :got:__blue_glCore_glVertexAttrib3sARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib3sARB]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib3sARB, .-glVertexAttrib3sARB
+
+ .align 2
+ .global glUpdateObjectBufferATI
+ .type glUpdateObjectBufferATI, %function
+glUpdateObjectBufferATI:
+ adrp x16, :got:__blue_glCore_glUpdateObjectBufferATI
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUpdateObjectBufferATI]
+ ldr x16, [x16]
+ br x16
+ .size glUpdateObjectBufferATI, .-glUpdateObjectBufferATI
+
+ .align 2
+ .global glGetUniformBufferSizeEXT
+ .type glGetUniformBufferSizeEXT, %function
+glGetUniformBufferSizeEXT:
+ adrp x16, :got:__blue_glCore_glGetUniformBufferSizeEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformBufferSizeEXT]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformBufferSizeEXT, .-glGetUniformBufferSizeEXT
+
+ .align 2
+ .global glMultiTexCoord4dv
+ .type glMultiTexCoord4dv, %function
+glMultiTexCoord4dv:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord4dv
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord4dv]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord4dv, .-glMultiTexCoord4dv
+
+ .align 2
+ .global glProgramUniform3i64ARB
+ .type glProgramUniform3i64ARB, %function
+glProgramUniform3i64ARB:
+ adrp x16, :got:__blue_glCore_glProgramUniform3i64ARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glProgramUniform3i64ARB]
+ ldr x16, [x16]
+ br x16
+ .size glProgramUniform3i64ARB, .-glProgramUniform3i64ARB
+
+ .align 2
+ .global glVertexAttrib2d
+ .type glVertexAttrib2d, %function
+glVertexAttrib2d:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2d
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2d]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2d, .-glVertexAttrib2d
+
+ .align 2
+ .global glVertexAttrib2f
+ .type glVertexAttrib2f, %function
+glVertexAttrib2f:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2f
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2f]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2f, .-glVertexAttrib2f
+
+ .align 2
+ .global glMultiDrawElementsEXT
+ .type glMultiDrawElementsEXT, %function
+glMultiDrawElementsEXT:
+ adrp x16, :got:__blue_glCore_glMultiDrawElementsEXT
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiDrawElementsEXT]
+ ldr x16, [x16]
+ br x16
+ .size glMultiDrawElementsEXT, .-glMultiDrawElementsEXT
+
+ .align 2
+ .global glUniform1fARB
+ .type glUniform1fARB, %function
+glUniform1fARB:
+ adrp x16, :got:__blue_glCore_glUniform1fARB
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glUniform1fARB]
+ ldr x16, [x16]
+ br x16
+ .size glUniform1fARB, .-glUniform1fARB
+
+ .align 2
+ .global glMultiTexCoord2bOES
+ .type glMultiTexCoord2bOES, %function
+glMultiTexCoord2bOES:
+ adrp x16, :got:__blue_glCore_glMultiTexCoord2bOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glMultiTexCoord2bOES]
+ ldr x16, [x16]
+ br x16
+ .size glMultiTexCoord2bOES, .-glMultiTexCoord2bOES
+
+ .align 2
+ .global glVertexAttrib2s
+ .type glVertexAttrib2s, %function
+glVertexAttrib2s:
+ adrp x16, :got:__blue_glCore_glVertexAttrib2s
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glVertexAttrib2s]
+ ldr x16, [x16]
+ br x16
+ .size glVertexAttrib2s, .-glVertexAttrib2s
+
+ .align 2
+ .global glTexImage3DMultisample
+ .type glTexImage3DMultisample, %function
+glTexImage3DMultisample:
+ adrp x16, :got:__blue_glCore_glTexImage3DMultisample
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glTexImage3DMultisample]
+ ldr x16, [x16]
+ br x16
+ .size glTexImage3DMultisample, .-glTexImage3DMultisample
+
+ .align 2
+ .global glGetUniformBlockIndex
+ .type glGetUniformBlockIndex, %function
+glGetUniformBlockIndex:
+ adrp x16, :got:__blue_glCore_glGetUniformBlockIndex
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glGetUniformBlockIndex]
+ ldr x16, [x16]
+ br x16
+ .size glGetUniformBlockIndex, .-glGetUniformBlockIndex
+
+ .align 2
+ .global glFrontFace
+ .type glFrontFace, %function
+glFrontFace:
+ adrp x16, :got:__blue_glCore_glFrontFace
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glFrontFace]
+ ldr x16, [x16]
+ br x16
+ .size glFrontFace, .-glFrontFace
+
+ .align 2
+ .global glEvalCoord1xOES
+ .type glEvalCoord1xOES, %function
+glEvalCoord1xOES:
+ adrp x16, :got:__blue_glCore_glEvalCoord1xOES
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glEvalCoord1xOES]
+ ldr x16, [x16]
+ br x16
+ .size glEvalCoord1xOES, .-glEvalCoord1xOES
+
+ .align 2
+ .global glDrawArraysInstancedBaseInstance
+ .type glDrawArraysInstancedBaseInstance, %function
+glDrawArraysInstancedBaseInstance:
+ adrp x16, :got:__blue_glCore_glDrawArraysInstancedBaseInstance
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glDrawArraysInstancedBaseInstance]
+ ldr x16, [x16]
+ br x16
+ .size glDrawArraysInstancedBaseInstance, .-glDrawArraysInstancedBaseInstance
+
+ .align 2
+ .global glIsPointInStrokePathNV
+ .type glIsPointInStrokePathNV, %function
+glIsPointInStrokePathNV:
+ adrp x16, :got:__blue_glCore_glIsPointInStrokePathNV
+ ldr x16, [x16, #:got_lo12:__blue_glCore_glIsPointInStrokePathNV]
+ ldr x16, [x16]
+ br x16
+ .size glIsPointInStrokePathNV, .-glIsPointInStrokePathNV
diff --git a/third_party/libpng/tnt/CMakeLists.txt b/third_party/libpng/tnt/CMakeLists.txt
index cca526cb715..b1e9685847e 100644
--- a/third_party/libpng/tnt/CMakeLists.txt
+++ b/third_party/libpng/tnt/CMakeLists.txt
@@ -51,5 +51,9 @@ add_library(${TARGET} STATIC ${PRIVATE_HDRS} ${PUBLIC_HDRS} ${SRCS})
target_link_libraries(${TARGET} PUBLIC z)
+if (LINUX_AARCH64)
+ target_compile_definitions(${TARGET} PRIVATE PNG_ARM_NEON_OPT=0)
+endif()
+
# specify where the public headers of this library are
target_include_directories(${TARGET} PUBLIC ${PUBLIC_HDR_DIR})
From d72d3533e66b7e6c10e27e4bb720317c23f7de6f Mon Sep 17 00:00:00 2001
From: Benjamin Doherty
Date: Mon, 5 Oct 2020 11:34:19 -0600
Subject: [PATCH 41/44] Bump version to 1.9.3
---
README.md | 4 ++--
android/gradle.properties | 2 +-
ios/CocoaPods/Filament.podspec | 4 ++--
web/filament-js/package.json | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index b75e2baf7ee..f5d2c88d4ac 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@ repositories {
}
dependencies {
- implementation 'com.google.android.filament:filament-android:1.9.2'
+ implementation 'com.google.android.filament:filament-android:1.9.3'
}
```
@@ -63,7 +63,7 @@ A much smaller alternative to `filamat-android` that can only generate OpenGL sh
iOS projects can use CocoaPods to install the latest release:
```
-pod 'Filament', '~> 1.9.2'
+pod 'Filament', '~> 1.9.3'
```
### Snapshots
diff --git a/android/gradle.properties b/android/gradle.properties
index f32cf896d47..fa4a9bf46ba 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,5 +1,5 @@
GROUP=com.google.android.filament
-VERSION_NAME=1.9.2
+VERSION_NAME=1.9.3
POM_DESCRIPTION=Real-time physically based rendering engine for Android.
diff --git a/ios/CocoaPods/Filament.podspec b/ios/CocoaPods/Filament.podspec
index 9eeb0bc2a9d..4439c961622 100644
--- a/ios/CocoaPods/Filament.podspec
+++ b/ios/CocoaPods/Filament.podspec
@@ -1,12 +1,12 @@
Pod::Spec.new do |spec|
spec.name = "Filament"
- spec.version = "1.9.2"
+ spec.version = "1.9.3"
spec.license = { :type => "Apache 2.0", :file => "LICENSE" }
spec.homepage = "https://google.github.io/filament"
spec.authors = "Google LLC."
spec.summary = "Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WASM/WebGL."
spec.platform = :ios, "11.0"
- spec.source = { :http => "https://github.com/google/filament/releases/download/v1.9.2/filament-v1.9.2-ios.tgz" }
+ spec.source = { :http => "https://github.com/google/filament/releases/download/v1.9.3/filament-v1.9.3-ios.tgz" }
# Fix linking error with Xcode 12; we do not yet support the simulator on Apple silicon.
spec.pod_target_xcconfig = {
diff --git a/web/filament-js/package.json b/web/filament-js/package.json
index 55f5998a294..e7d9bf4179e 100644
--- a/web/filament-js/package.json
+++ b/web/filament-js/package.json
@@ -1,6 +1,6 @@
{
"name": "filament",
- "version": "1.9.2",
+ "version": "1.9.3",
"description": "Real-time physically based rendering engine",
"main": "filament.js",
"module": "filament.js",
From 76f1e91fd2328538b03308d6c1b33b5c9101a12f Mon Sep 17 00:00:00 2001
From: Benjamin Doherty
Date: Mon, 5 Oct 2020 11:29:36 -0600
Subject: [PATCH 42/44] Update RELEASE_NOTES for 1.9.3
---
RELEASE_NOTES.md | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 2f87223a9bd..a89e1c39cbd 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -3,12 +3,25 @@
This file contains one line summaries of commits that are worthy of mentioning in release notes.
A new header is inserted each time a *tag* is created.
-## Next release (v1.9.4)
+## Next release (v1.9.5)
+
+## v1.9.4
- New `ShadowOptions` control to render Variance Shadow Maps (VSM) with MSAA (experimental).
## v1.9.3
+- engine: Added new APIs to enable/disable screen space refraction
+- engine: Fix, flip the shading normal when det < 0.
+- gltfio: Fix animation by clamping the per-channel interpolant.
+- gltfio: add async cancellation API
+- gltfio: Fix "uniform not found" errors.
+- gltfio: Disable clear coat layer IOR change in glTF files (#3104)
+- Vulkan: fix final image barrier used for swap chain.
+- matdbg: Various improvements
+- JavaScript bindings: fix TextureUsage bitmask.
+- cmgen / mipgen: add opt-in for ASTC / ETC support.
+
## v1.9.2
- Fixes / improvements for contact shadows, fog, and DOF
From a6bf162431e1478a601c116d3a97c70df689992d Mon Sep 17 00:00:00 2001
From: Benjamin Doherty
Date: Wed, 7 Oct 2020 16:06:23 -0600
Subject: [PATCH 43/44] Bump version to 1.9.4
---
README.md | 4 ++--
android/gradle.properties | 2 +-
ios/CocoaPods/Filament.podspec | 2 +-
web/filament-js/package.json | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index f5d2c88d4ac..c8d4c3b18ea 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@ repositories {
}
dependencies {
- implementation 'com.google.android.filament:filament-android:1.9.3'
+ implementation 'com.google.android.filament:filament-android:1.9.4'
}
```
@@ -63,7 +63,7 @@ A much smaller alternative to `filamat-android` that can only generate OpenGL sh
iOS projects can use CocoaPods to install the latest release:
```
-pod 'Filament', '~> 1.9.3'
+pod 'Filament', '~> 1.9.4'
```
### Snapshots
diff --git a/android/gradle.properties b/android/gradle.properties
index fa4a9bf46ba..0bb0355b4d1 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,5 +1,5 @@
GROUP=com.google.android.filament
-VERSION_NAME=1.9.3
+VERSION_NAME=1.9.4
POM_DESCRIPTION=Real-time physically based rendering engine for Android.
diff --git a/ios/CocoaPods/Filament.podspec b/ios/CocoaPods/Filament.podspec
index 4439c961622..32eb26a0f4b 100644
--- a/ios/CocoaPods/Filament.podspec
+++ b/ios/CocoaPods/Filament.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |spec|
spec.name = "Filament"
- spec.version = "1.9.3"
+ spec.version = "1.9.4"
spec.license = { :type => "Apache 2.0", :file => "LICENSE" }
spec.homepage = "https://google.github.io/filament"
spec.authors = "Google LLC."
diff --git a/web/filament-js/package.json b/web/filament-js/package.json
index e7d9bf4179e..d5b79beec65 100644
--- a/web/filament-js/package.json
+++ b/web/filament-js/package.json
@@ -1,6 +1,6 @@
{
"name": "filament",
- "version": "1.9.3",
+ "version": "1.9.4",
"description": "Real-time physically based rendering engine",
"main": "filament.js",
"module": "filament.js",
From 523f4026b4dc4a457e3f389e627d4c52fb91030f Mon Sep 17 00:00:00 2001
From: Benjamin Doherty
Date: Mon, 12 Oct 2020 11:52:01 -0600
Subject: [PATCH 44/44] Update RELEASE_NOTES for 1.9.4
---
RELEASE_NOTES.md | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index a89e1c39cbd..b28903423cb 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -7,7 +7,12 @@ A new header is inserted each time a *tag* is created.
## v1.9.4
-- New `ShadowOptions` control to render Variance Shadow Maps (VSM) with MSAA (experimental).
+- Add screen space cone tracing (SSCT)
+- Improvements to VSM shadow quality
+- New `ShadowOptions` control to render Variance Shadow Maps (VSM) with MSAA (experimental)
+- Improvements and fixes to screen-space ambient occlusion
+- gltf_viewer: add --headless option
+- gltf_viewer: Add new automation UI and functionality
## v1.9.3