mirror of
https://github.com/Perlmint/glew-cmake.git
synced 2025-06-22 23:47:44 +00:00
Compare commits
No commits in common. "master" and "glew-1.5.7" have entirely different histories.
master
...
glew-1.5.7
6
.gitattributes
vendored
6
.gitattributes
vendored
@ -1,6 +0,0 @@
|
|||||||
* text eol=lf
|
|
||||||
*.png binary
|
|
||||||
*.pdf binary
|
|
||||||
build/*/* text eol=crlf
|
|
||||||
CMakeLists.txt text eol=lf
|
|
||||||
build/cmake/* text eol=lf
|
|
227
.github/workflows/cmake.yml
vendored
227
.github/workflows/cmake.yml
vendored
@ -1,227 +0,0 @@
|
|||||||
name: CMake
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
types:
|
|
||||||
- opened
|
|
||||||
- synchronize
|
|
||||||
- reopened
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
|
|
||||||
env:
|
|
||||||
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
|
|
||||||
BUILD_TYPE: Release
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: ubuntu:latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: apt update && DEBIAN_FRONTEND=noninteractive apt install -y cmake gcc g++ libglu1-mesa-dev pkg-config libx11-dev libxext-dev
|
|
||||||
|
|
||||||
- name: Create Build Environment
|
|
||||||
# Some projects don't allow in-source building, so create a separate build directory
|
|
||||||
# We'll use this as our working directory for all subsequent commands
|
|
||||||
run: |
|
|
||||||
mkdir build_test
|
|
||||||
mkdir from_installed
|
|
||||||
mkdir pkg-config
|
|
||||||
mkdir as_subdirectory
|
|
||||||
|
|
||||||
- name: Configure CMake
|
|
||||||
# Use a bash shell so we can use the same syntax for environment variable
|
|
||||||
# access regardless of the host operating system
|
|
||||||
shell: bash
|
|
||||||
working-directory: build_test
|
|
||||||
# Note the current convention is to use the -S and -B options here to specify source
|
|
||||||
# and build directories, but this is only available with CMake 3.13 and higher.
|
|
||||||
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
|
|
||||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
|
||||||
|
|
||||||
- name: Build test
|
|
||||||
working-directory: build_test
|
|
||||||
shell: bash
|
|
||||||
# Execute the build. You can specify a specific target with "--target <NAME>"
|
|
||||||
run: cmake --build . --config $BUILD_TYPE
|
|
||||||
|
|
||||||
- name: Install test
|
|
||||||
shell: bash
|
|
||||||
working-directory: from_installed
|
|
||||||
run: |
|
|
||||||
mkdir -p ext_project/build
|
|
||||||
cp $GITHUB_WORKSPACE/src/glewinfo.c ext_project/
|
|
||||||
cmake $GITHUB_WORKSPACE -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/glew-root-cmake
|
|
||||||
cmake --build . --target install
|
|
||||||
|
|
||||||
cd ext_project
|
|
||||||
cp $GITHUB_WORKSPACE/glew-cmake/cmake-install-test.cmake CMakeLists.txt
|
|
||||||
cmake -DCMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/glew-root-cmake/ .
|
|
||||||
cmake --build .
|
|
||||||
|
|
||||||
- name: Package config test
|
|
||||||
shell: bash
|
|
||||||
working-directory: pkg-config
|
|
||||||
run: |
|
|
||||||
mkdir -p ext_project
|
|
||||||
cp $GITHUB_WORKSPACE/src/glewinfo.c ext_project/
|
|
||||||
cmake $GITHUB_WORKSPACE -DPKG_CONFIG_REPRESENTATIVE_TARGET=libglew_static -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/glew-root-pkg-config
|
|
||||||
cmake --build . --target install
|
|
||||||
|
|
||||||
cd ext_project
|
|
||||||
gcc $GITHUB_WORKSPACE/src/glewinfo.c $(PKG_CONFIG_PATH=$GITHUB_WORKSPACE/glew-root-pkg-config/lib/pkgconfig pkg-config --libs --cflags glew) -o glewinfo
|
|
||||||
|
|
||||||
- name: Subdirectory test
|
|
||||||
shell: bash
|
|
||||||
working-directory: as_subdirectory
|
|
||||||
run: |
|
|
||||||
cp $GITHUB_WORKSPACE/src/glewinfo.c ./
|
|
||||||
cp $GITHUB_WORKSPACE/glew-cmake/sub-directory-test.cmake CMakeLists.txt
|
|
||||||
cmake .
|
|
||||||
cmake --build .
|
|
||||||
|
|
||||||
build_linux:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
cmake:
|
|
||||||
- 2.8.12.2
|
|
||||||
- 3.10.3
|
|
||||||
- latest
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: ubuntu:latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Restore cached cmake
|
|
||||||
uses: actions/cache/restore@v4
|
|
||||||
with:
|
|
||||||
path: /opt/cmake
|
|
||||||
key: cmake-${{ matrix.cmake }}
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
cmake=${{ matrix.cmake }}
|
|
||||||
apt update
|
|
||||||
apt install -y gcc make libgl1-mesa-dev libx11-dev libxext-dev
|
|
||||||
if [ "${cmake}" == "latest" ]; then
|
|
||||||
apt install -y git
|
|
||||||
cmake=$(git ls-remote --tags https://gitlab.kitware.com/cmake/cmake | cut -f 2 | sed -E "s/^refs\/tags\/v//" | tr -d "^{}" | sort -t '.' -k 1,1n -k 2,2n -k 3,3n | tail -n 1 | tr -d "\n")
|
|
||||||
echo "Latest version: ${cmake}"
|
|
||||||
fi
|
|
||||||
if [ -x /opt/cmake/bin/cmake ]; then
|
|
||||||
echo "Found cached cmake"
|
|
||||||
if [ -n "$(/opt/cmake/bin/cmake --version | grep ${cmake})" ]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
/opt/cmake/bin/cmake --version
|
|
||||||
echo "CMake version is mismatched"
|
|
||||||
rm -rf /opt/cmake
|
|
||||||
fi
|
|
||||||
|
|
||||||
apt install -y g++ wget
|
|
||||||
short_version=$(echo "${cmake}" | sed -E "s/^([0-9]+\\.[0-9]+)\\..+$/\\1/" | tr -d "\n")
|
|
||||||
wget https://cmake.org/files/v${short_version}/cmake-${cmake}.tar.gz
|
|
||||||
tar -xf cmake-${cmake}.tar.gz
|
|
||||||
cd cmake-${cmake}
|
|
||||||
if [ "${cmake}" == "2.8.12.2" ]; then
|
|
||||||
apt -y install patch
|
|
||||||
patch -p1 << 'EOF'
|
|
||||||
--- cmake-2.8.12.2-org/CMakeLists.txt 2014-01-16 17:15:07.000000000 +0000
|
|
||||||
+++ cmake-2.8.12.2-patch/CMakeLists.txt 2025-04-13 10:37:28.359021847 +0000
|
|
||||||
@@ -616 +616 @@
|
|
||||||
-add_subdirectory(Tests)
|
|
||||||
+# add_subdirectory(Tests)
|
|
||||||
--- cmake-2.8.12.2-org/Source/CMakeLists.txt 2014-01-16 17:15:08.000000000 +0000
|
|
||||||
+++ cmake-2.8.12.2-patch/Source/CMakeLists.txt 2025-04-13 10:37:13.584956375 +0000
|
|
||||||
@@ -481,2 +481,2 @@
|
|
||||||
-add_library(CTestLib ${CTEST_SRCS})
|
|
||||||
-target_link_libraries(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
|
|
||||||
+# add_library(CTestLib ${CTEST_SRCS})
|
|
||||||
+# target_link_libraries(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
|
|
||||||
@@ -562,2 +562,2 @@
|
|
||||||
-add_executable(ctest ctest.cxx)
|
|
||||||
-target_link_libraries(ctest CTestLib)
|
|
||||||
+# add_executable(ctest ctest.cxx)
|
|
||||||
+# target_link_libraries(ctest CTestLib)
|
|
||||||
@@ -583 +583 @@
|
|
||||||
-install(TARGETS cmake ctest cpack DESTINATION bin)
|
|
||||||
+install(TARGETS cmake cpack DESTINATION bin)
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
./configure --prefix=/opt/cmake -- -DCMAKE_USE_OPENSSL=OFF
|
|
||||||
make -j $(nproc) install
|
|
||||||
|
|
||||||
- name: Save cmake
|
|
||||||
uses: actions/cache/save@v4
|
|
||||||
with:
|
|
||||||
path: /opt/cmake
|
|
||||||
key: cmake-${{ matrix.cmake }}
|
|
||||||
|
|
||||||
- name: Configure CMake
|
|
||||||
shell: bash
|
|
||||||
run: /opt/cmake/bin/cmake . -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
|
||||||
|
|
||||||
- name: Build test
|
|
||||||
shell: bash
|
|
||||||
run: /opt/cmake/bin/cmake --build .
|
|
||||||
|
|
||||||
- name: Check alias
|
|
||||||
shell: bash
|
|
||||||
run: test -e lib/libGLEW.a
|
|
||||||
|
|
||||||
build_mingw:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: ubuntu:latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: apt update && apt install -y cmake g++-mingw-w64-x86-64 make libgl1-mesa-dev libx11-dev libxext-dev
|
|
||||||
|
|
||||||
- name: Configure CMake
|
|
||||||
shell: bash
|
|
||||||
run: cmake . -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_TOOLCHAIN_FILE="$GITHUB_WORKSPACE/glew-cmake/mingw.cmake"
|
|
||||||
|
|
||||||
- name: Build test
|
|
||||||
shell: bash
|
|
||||||
run: cmake --build .
|
|
||||||
|
|
||||||
|
|
||||||
build_mac:
|
|
||||||
runs-on: macos-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Configure CMake
|
|
||||||
shell: bash
|
|
||||||
run: cmake . -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
|
||||||
|
|
||||||
- name: Build test
|
|
||||||
shell: bash
|
|
||||||
run: cmake --build .
|
|
||||||
|
|
||||||
build_windows:
|
|
||||||
runs-on: windows-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Configure CMake
|
|
||||||
shell: bash
|
|
||||||
run: cmake . -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
|
||||||
|
|
||||||
- name: Build test
|
|
||||||
shell: bash
|
|
||||||
run: cmake --build .
|
|
25
.gitignore
vendored
25
.gitignore
vendored
@ -1,25 +0,0 @@
|
|||||||
*.pc
|
|
||||||
/src/*.c
|
|
||||||
/include/GL/*.h
|
|
||||||
/build/vc6/*.rc
|
|
||||||
/build/*.rc
|
|
||||||
/build/*/*.sdf
|
|
||||||
/build/*/*.suo
|
|
||||||
/build/*/*.db
|
|
||||||
/build/*/*.vcxproj.user
|
|
||||||
/build/*/.vs/
|
|
||||||
/build/*/tmp/
|
|
||||||
/build/cmake/CMakeFiles/
|
|
||||||
/build/cmake/CMakeCache.txt
|
|
||||||
/build/cmake/cmake_install.cmake
|
|
||||||
/build/cmake/Makefile
|
|
||||||
/auto/extensions
|
|
||||||
/auto/registry
|
|
||||||
/bin
|
|
||||||
/lib
|
|
||||||
/tmp
|
|
||||||
/out
|
|
||||||
.DS_Store*
|
|
||||||
auto/EGL-Registry
|
|
||||||
auto/OpenGL-Registry
|
|
||||||
auto/glfixes
|
|
12
.lgtm.yml
12
.lgtm.yml
@ -1,12 +0,0 @@
|
|||||||
extraction:
|
|
||||||
cpp:
|
|
||||||
prepare:
|
|
||||||
packages:
|
|
||||||
- "build-essential"
|
|
||||||
- "libxmu-dev"
|
|
||||||
- "libxi-dev"
|
|
||||||
- "libgl-dev"
|
|
||||||
index:
|
|
||||||
build_command:
|
|
||||||
- "cd auto; make all -j8; cd .."
|
|
||||||
- "make all -j8"
|
|
27
.travis.yml
27
.travis.yml
@ -1,27 +0,0 @@
|
|||||||
language: cpp
|
|
||||||
dist: trusty
|
|
||||||
install:
|
|
||||||
script:
|
|
||||||
- make -C auto clobber
|
|
||||||
- make extensions
|
|
||||||
- make dist-src
|
|
||||||
- make clean && SYSTEM=linux make
|
|
||||||
- make clean && SYSTEM=linux-osmesa make
|
|
||||||
- make clean && SYSTEM=linux-egl make
|
|
||||||
- make clean && SYSTEM=linux-clang make
|
|
||||||
- make clean && SYSTEM=linux-clang-egl make
|
|
||||||
- pushd build/cmake && git clean -xdf . && cmake -G 'Unix Makefiles' . && make && popd
|
|
||||||
- pushd build/cmake && git clean -xdf . && cmake -G 'Unix Makefiles' -DGLEW_OSMESA=ON . && make && popd
|
|
||||||
- pushd build/cmake && git clean -xdf . && cmake -G 'Unix Makefiles' -DGLEW_EGL=ON -DGLEW_X11=OFF . && make && popd
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- git
|
|
||||||
- cmake
|
|
||||||
- dos2unix
|
|
||||||
- libosmesa6-dev
|
|
||||||
- libegl1-mesa-dev
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- $(ls *.zip *.tgz | tr "\n" ":")
|
|
||||||
- $(find doc -type f | tr "\n" ":")
|
|
287
CMakeLists.txt
287
CMakeLists.txt
@ -1,287 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8.12...4.0)
|
|
||||||
|
|
||||||
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/config/version _VERSION_MAJOR_STRING REGEX "GLEW_MAJOR[ ]*=[ ]*[0-9]+.*")
|
|
||||||
string(REGEX REPLACE "GLEW_MAJOR[ ]*=[ ]*([0-9]+)" "\\1" MAJOR_VERSION ${_VERSION_MAJOR_STRING})
|
|
||||||
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/config/version _VERSION_MINOR_STRING REGEX "GLEW_MINOR[ ]*=[ ]*[0-9]+.*")
|
|
||||||
string(REGEX REPLACE "GLEW_MINOR[ ]*=[ ]*([0-9]+)" "\\1" MINOR_VERSION ${_VERSION_MINOR_STRING})
|
|
||||||
file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/config/version _VERSION_PATCH_STRING REGEX "GLEW_MICRO[ ]*=[ ]*[0-9]+.*")
|
|
||||||
string(REGEX REPLACE "GLEW_MICRO[ ]*=[ ]*([0-9]+)" "\\1" PATCH_VERSION ${_VERSION_PATCH_STRING})
|
|
||||||
set(GLEW_VERSION ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION})
|
|
||||||
|
|
||||||
if(NOT CMAKE_VERSION VERSION_LESS 3.0)
|
|
||||||
cmake_policy(SET CMP0048 NEW)
|
|
||||||
project("glew" VERSION ${GLEW_VERSION} LANGUAGES C)
|
|
||||||
else()
|
|
||||||
project("glew" C)
|
|
||||||
set(CPACK_PACKAGE_VERSION_MAJOR ${MAJOR_VERSION})
|
|
||||||
set(CPACK_PACKAGE_VERSION_MINOR ${MAJOR_VERSION})
|
|
||||||
set(CPACK_PACKAGE_VERSION_PATCH ${MAJOR_VERSION})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
|
||||||
set(INCLUDE_DIR "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>$<INSTALL_INTERFACE:include>")
|
|
||||||
set(RC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build)
|
|
||||||
|
|
||||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
|
|
||||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
|
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
|
|
||||||
|
|
||||||
include("GeneratePkgConfig.cmake")
|
|
||||||
|
|
||||||
if (POLICY CMP0077)
|
|
||||||
cmake_policy(SET CMP0077 NEW)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(glew-cmake_BUILD_SHARED "Build the shared glew library" ON)
|
|
||||||
option(glew-cmake_BUILD_STATIC "Build the static glew library" ON)
|
|
||||||
option(USE_GLU "Use GLU" OFF)
|
|
||||||
option(GLEW_OSMESA "Off-screen Mesa mode" OFF)
|
|
||||||
option(PKG_CONFIG_REPRESENTATIVE_TARGET "Generate pc file for specified target as glew. libglew_static|libglew_shared" OFF)
|
|
||||||
option(ONLY_LIBS "Do not build executables" OFF)
|
|
||||||
|
|
||||||
set(LIBGLEW_SRCS ${SRC_DIR}/glew.c)
|
|
||||||
|
|
||||||
set(DEFINITIONS)
|
|
||||||
if(WIN32)
|
|
||||||
list(APPEND DEFINITIONS -DWIN32_MEAN_AND_LEAN -DVC_EXTRALEAN -D_CRT_SECURE_NO_WARNINGS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
list(APPEND LIBGLEW_SRCS ${RC_DIR}/glew.rc)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Use namespaced libraries when supported
|
|
||||||
if(NOT CMAKE_VERSION VERSION_LESS 3.14)
|
|
||||||
set(USE_NAMESPACED_LIB YES)
|
|
||||||
else()
|
|
||||||
set(USE_NAMESPACED_LIB NO)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(POLICY CMP0028)
|
|
||||||
cmake_policy(SET CMP0028 NEW)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(POLICY CMP0042)
|
|
||||||
cmake_policy(SET CMP0042 NEW)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(POLICY CMP0072)
|
|
||||||
set(OpenGL_GL_PREFERENCE GLVND)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT (WIN32 OR APPLE))
|
|
||||||
message("Try to find OpenGL with GLVND")
|
|
||||||
find_package(OpenGL REQUIRED
|
|
||||||
COMPONENTS OpenGL GLX)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(OPENGL_FOUND AND OpenGL_GLX_FOUND AND TARGET OpenGL::OpenGL)
|
|
||||||
set(USE_GLVND YES)
|
|
||||||
else()
|
|
||||||
message("GLVND not supported. Try find OpenGL legacy")
|
|
||||||
find_package(OpenGL REQUIRED)
|
|
||||||
set(USE_GLVND NO)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(pc_requires)
|
|
||||||
|
|
||||||
if(NOT USE_GLU)
|
|
||||||
list(APPEND DEFINITIONS -DGLEW_NO_GLU)
|
|
||||||
else()
|
|
||||||
if(NOT OPENGL_GLU_FOUND)
|
|
||||||
message(FATAL_ERROR "GLU is not found. but GLU option is enabled")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND pc_requires glu)
|
|
||||||
|
|
||||||
if(USE_NAMESPACED_LIB)
|
|
||||||
list(APPEND LIBRARIES OpenGL::GLU)
|
|
||||||
else()
|
|
||||||
list(APPEND LIBRARIES ${OPENGL_glu_LIBRARY})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND pc_requires gl)
|
|
||||||
if(USE_NAMESPACED_LIB)
|
|
||||||
if(USE_GLVND)
|
|
||||||
list(APPEND LIBRARIES OpenGL::OpenGL)
|
|
||||||
else()
|
|
||||||
list(APPEND LIBRARIES OpenGL::GL)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
if(USE_GLVND)
|
|
||||||
list(APPEND LIBRARIES ${OPENGL_opengl_LIBRARY})
|
|
||||||
else()
|
|
||||||
list(APPEND LIBRARIES ${OPENGL_gl_LIBRARY})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# OS Specific dependencies
|
|
||||||
if(APPLE)
|
|
||||||
find_library(AGL_LIBRARY AGL REQUIRED)
|
|
||||||
list(APPEND LIBRARIES ${AGL_LIBRARY})
|
|
||||||
elseif(NOT WIN32)
|
|
||||||
if(GLEW_OSMESA)
|
|
||||||
find_library(OSMESA_LIBRARY OSMesa REQUIRED)
|
|
||||||
list(APPEND LIBRARIES ${OSMESA_LIBRARY})
|
|
||||||
list(APPEND DEFINITIONS -DGLEW_OSMESA)
|
|
||||||
list(APPEND pc_requires osmesa)
|
|
||||||
else()
|
|
||||||
if(USE_GLVND)
|
|
||||||
if(NOT OpenGL_GLX_FOUND)
|
|
||||||
message(FATAL_ERROR "GLX is not found. Try with PREFER_GLVND=NO")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(USE_NAMESPACED_LIB)
|
|
||||||
list(APPEND LIBRARIES OpenGL::GLX)
|
|
||||||
else()
|
|
||||||
list(APPEND LIBRARIES ${OPENGL_glx_LIBRARY})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_package(X11 REQUIRED)
|
|
||||||
|
|
||||||
list(APPEND pc_requires x11 xext)
|
|
||||||
if(USE_NAMESPACED_LIB)
|
|
||||||
list(APPEND LIBRARIES X11::X11 X11::Xext)
|
|
||||||
else()
|
|
||||||
list(APPEND LIBRARIES ${X11_X11_LIB} ${X11_Xext_LIB})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(GLEW_TARGETS)
|
|
||||||
|
|
||||||
if(NOT CMAKE_INSTALL_LIBDIR)
|
|
||||||
set(INSTALL_LIBDIR lib)
|
|
||||||
else()
|
|
||||||
set(INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/test_fs_support_case_sensitivity
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/test_fs_support_CASE_sensitivity)
|
|
||||||
file(GLOB TEST_FILE_LIST ${CMAKE_BINARY_DIR}/test_fs_support_*_sensitivity)
|
|
||||||
list(LENGTH TEST_FILE_LIST TEST_FILE_COUNT)
|
|
||||||
if(TEST_FILE_COUNT EQUAL 2)
|
|
||||||
set(SUPPORT_CASE_SENSITIVE_FS YES)
|
|
||||||
else()
|
|
||||||
set(SUPPORT_CASE_SENSITIVE_FS NO)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
function(set_representative_target TARGET)
|
|
||||||
set_target_properties(${TARGET} PROPERTIES
|
|
||||||
OUTPUT_NAME "glew"
|
|
||||||
DEBUG_POSTFIX d)
|
|
||||||
|
|
||||||
# Windows & macOS use case-insensetive FS. do not create symbolic link
|
|
||||||
if(SUPPORT_CASE_SENSITIVE_FS)
|
|
||||||
get_target_property(TARGET_TYPE ${TARGET} TYPE)
|
|
||||||
string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWER)
|
|
||||||
if(CMAKE_BUILD_TYPE_LOWER STREQUAL "debug" AND NOT ANDROID)
|
|
||||||
set(GLEW_DEBUG_SUFFIX "d")
|
|
||||||
else()
|
|
||||||
set(GLEW_DEBUG_SUFFIX "")
|
|
||||||
endif()
|
|
||||||
if(TARGET_TYPE STREQUAL STATIC_LIBRARY)
|
|
||||||
set(EXT ".a")
|
|
||||||
get_target_property(OUT_DIR ${TARGET} ARCHIVE_OUTPUT_DIRECTORY)
|
|
||||||
else()
|
|
||||||
set(EXT ".so")
|
|
||||||
get_target_property(OUT_DIR ${TARGET} LIBRARY_OUTPUT_DIRECTORY)
|
|
||||||
endif()
|
|
||||||
if(NOT ${CMAKE_VERSION} VERSION_LESS 3.0)
|
|
||||||
add_custom_command(TARGET ${TARGET} POST_BUILD
|
|
||||||
COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink libglew${GLEW_DEBUG_SUFFIX}${EXT} libGLEW${GLEW_DEBUG_SUFFIX}${EXT}
|
|
||||||
WORKING_DIRECTORY ${OUT_DIR}
|
|
||||||
BYPRODUCTS ${OUT_DIR}/libGLEW${GLEW_DEBUG_SUFFIX}${EXT}
|
|
||||||
COMMENT "create libGLEW${GLEW_DEBUG_SUFFIX} symbolic link")
|
|
||||||
else()
|
|
||||||
add_custom_command(TARGET ${TARGET} POST_BUILD
|
|
||||||
COMMAND bash ARGS -c "( test ! -e ${OUT_DIR}/libGLEW${GLEW_DEBUG_SUFFIX}${EXT} && cd ${OUT_DIR} && ${CMAKE_COMMAND} -E create_symlink libglew${GLEW_DEBUG_SUFFIX}${EXT} libGLEW${GLEW_DEBUG_SUFFIX}${EXT} ) || true"
|
|
||||||
COMMENT "create libGLEW${GLEW_DEBUG_SUFFIX} symbolic link"
|
|
||||||
VERBATIM)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT ${CMAKE_VERSION} VERSION_LESS 3.14)
|
|
||||||
install(FILES ${OUT_DIR}/libGLEW${GLEW_DEBUG_SUFFIX}${EXT} TYPE LIB)
|
|
||||||
else()
|
|
||||||
install(FILES ${OUT_DIR}/libGLEW${GLEW_DEBUG_SUFFIX}${EXT} DESTINATION ${INSTALL_LIBDIR})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
if(glew-cmake_BUILD_STATIC)
|
|
||||||
add_library(libglew_static STATIC ${LIBGLEW_SRCS})
|
|
||||||
|
|
||||||
set_representative_target(libglew_static)
|
|
||||||
|
|
||||||
target_compile_definitions(libglew_static PUBLIC GLEW_STATIC)
|
|
||||||
list(APPEND GLEW_TARGETS libglew_static)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(glew-cmake_BUILD_SHARED)
|
|
||||||
add_library(libglew_shared SHARED ${LIBGLEW_SRCS})
|
|
||||||
|
|
||||||
if(glew-cmake_BUILD_STATIC)
|
|
||||||
set_target_properties(libglew_shared PROPERTIES
|
|
||||||
OUTPUT_NAME "glew-shared"
|
|
||||||
DEBUG_POSTFIX d)
|
|
||||||
else()
|
|
||||||
set_representative_target(libglew_shared)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_compile_definitions(libglew_shared PRIVATE GLEW_BUILD)
|
|
||||||
if(MINGW)
|
|
||||||
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
|
|
||||||
target_link_options(libglew_shared PRIVATE -nostdlib)
|
|
||||||
else()
|
|
||||||
target_link_libraries(libglew_shared PRIVATE -nostdlib)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
list(APPEND GLEW_TARGETS libglew_shared)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
foreach(GLEW_TARGET ${GLEW_TARGETS})
|
|
||||||
target_compile_definitions(${GLEW_TARGET} PUBLIC ${DEFINITIONS})
|
|
||||||
target_include_directories(${GLEW_TARGET} PUBLIC ${INCLUDE_DIR})
|
|
||||||
target_link_libraries(${GLEW_TARGET} PUBLIC ${LIBRARIES})
|
|
||||||
set_target_properties(${GLEW_TARGET} PROPERTIES VERSION ${GLEW_VERSION})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(PKG_CONFIG_REPRESENTATIVE_TARGET)
|
|
||||||
GeneratePkgConfigFile(${PKG_CONFIG_REPRESENTATIVE_TARGET} "The OpenGL Extension Wrangler library"
|
|
||||||
NAME "glew"
|
|
||||||
LIBRARY_DIR ${INSTALL_LIBDIR}
|
|
||||||
REQUIRES ${pc_requires})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(TARGETS ${GLEW_TARGETS} EXPORT glew-cmake
|
|
||||||
ARCHIVE DESTINATION ${INSTALL_LIBDIR}
|
|
||||||
LIBRARY DESTINATION ${INSTALL_LIBDIR})
|
|
||||||
install(EXPORT glew-cmake DESTINATION ${INSTALL_LIBDIR}/cmake/glew FILE glewConfig.cmake)
|
|
||||||
|
|
||||||
file(GLOB PUBLIC_HEADERS "include/GL/*.h")
|
|
||||||
install(FILES ${PUBLIC_HEADERS} DESTINATION include/GL/)
|
|
||||||
|
|
||||||
if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_SOURCE_DIR} AND NOT ONLY_LIBS)
|
|
||||||
set(GLEWINFO_SRCS ${SRC_DIR}/glewinfo.c)
|
|
||||||
set(VISUALINFO_SRCS ${SRC_DIR}/visualinfo.c)
|
|
||||||
if(MSVS)
|
|
||||||
list(APPEND GLEWINFO_SRCS ${RC_DIR}/glewinfo.rc)
|
|
||||||
list(APPEND VISUALINFO_SRCS ${RC_DIR}/visualinfo.rc)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_executable(glewinfo ${GLEWINFO_SRCS})
|
|
||||||
add_executable(visualinfo ${VISUALINFO_SRCS})
|
|
||||||
|
|
||||||
if(glew-cmake_BUILD_STATIC)
|
|
||||||
target_link_libraries(glewinfo libglew_static)
|
|
||||||
target_link_libraries(visualinfo libglew_static)
|
|
||||||
else()
|
|
||||||
target_link_libraries(glewinfo libglew_shared)
|
|
||||||
target_link_libraries(visualinfo libglew_shared)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(TARGETS glewinfo visualinfo DESTINATION bin)
|
|
||||||
endif()
|
|
@ -1,62 +0,0 @@
|
|||||||
function(GeneratePkgConfigFile target description)
|
|
||||||
cmake_parse_arguments(pc "" "NAME;LIBRARY_DIR" "REQUIRES" ${ARGV})
|
|
||||||
if(NOT pc_LIBRARY_DIR)
|
|
||||||
set(pc_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR})
|
|
||||||
endif()
|
|
||||||
if(WIN32)
|
|
||||||
set(PKGCONFIG_INSTALL_DIR)
|
|
||||||
else()
|
|
||||||
set(PKGCONFIG_INSTALL_DIR ${pc_LIBRARY_DIR}/pkgconfig)
|
|
||||||
endif()
|
|
||||||
if(NOT pc_NAME)
|
|
||||||
set(pc_NAME ${target})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
get_property(raw_definitions TARGET ${target} PROPERTY INTERFACE_COMPILE_DEFINITIONS)
|
|
||||||
set(definitions "")
|
|
||||||
foreach(def IN LISTS raw_definitions)
|
|
||||||
if(def MATCHES "-D")
|
|
||||||
list(APPEND definitions ${def})
|
|
||||||
else()
|
|
||||||
list(APPEND definitions "-D${def}")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
list(JOIN definitions " " definitions)
|
|
||||||
|
|
||||||
get_property(target_output TARGET ${target} PROPERTY OUTPUT_NAME)
|
|
||||||
get_filename_component(target_output ${target_output} NAME)
|
|
||||||
set(links "-l${target_output}")
|
|
||||||
get_property(raw_links TARGET ${target} PROPERTY INTERFACE_LINK_LIBRARIES)
|
|
||||||
foreach(link IN LISTS raw_links)
|
|
||||||
if(link MATCHES "-l")
|
|
||||||
list(APPEND links ${link})
|
|
||||||
elseif(TARGET ${link})
|
|
||||||
get_property(is_imported TARGET ${link} PROPERTY IMPORTED)
|
|
||||||
if(NOT is_imported)
|
|
||||||
get_property(link_target TARGET ${link} PROPERTY OUTPUT_NAME)
|
|
||||||
list(APPEND links ${link_target})
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
list(APPEND links "-l${link}")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
list(JOIN links " " links)
|
|
||||||
get_property(version TARGET ${target} PROPERTY VERSION)
|
|
||||||
|
|
||||||
set(out_file "${CMAKE_CURRENT_BINARY_DIR}/${pc_NAME}.pc")
|
|
||||||
file(WRITE ${out_file} "prefix=${CMAKE_INSTALL_PREFIX}\n")
|
|
||||||
file(APPEND ${out_file} "exec_prefix=\${prefix}\n")
|
|
||||||
file(APPEND ${out_file} "libdir=\${prefix}/${pc_LIBRARY_DIR}\n")
|
|
||||||
file(APPEND ${out_file} "includedir=\${prefix}/include\n")
|
|
||||||
file(APPEND ${out_file} "\n")
|
|
||||||
file(APPEND ${out_file} "Name: ${pc_NAME}\n")
|
|
||||||
file(APPEND ${out_file} "Description: ${description}\n")
|
|
||||||
file(APPEND ${out_file} "Version: ${version}\n")
|
|
||||||
file(APPEND ${out_file} "Cflags: -I\${includedir} ${definitions}\n")
|
|
||||||
file(APPEND ${out_file} "Libs: -L\${libdir} ${links}\n")
|
|
||||||
if(pc_REQUIRES)
|
|
||||||
string(REPLACE ";" " " REQUIRES "${pc_REQUIRES}")
|
|
||||||
file(APPEND ${out_file} "Requires: ${REQUIRES}")
|
|
||||||
endif()
|
|
||||||
install(FILES ${out_file} DESTINATION "${PKGCONFIG_INSTALL_DIR}")
|
|
||||||
endfunction()
|
|
422
Makefile
422
Makefile
@ -31,7 +31,7 @@
|
|||||||
include config/version
|
include config/version
|
||||||
|
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
SYSTEM ?= $(shell config/config.guess | cut -d - -f 3 | sed -e 's/\.//g' -e 's/[0-9]\{1,\}.*//')
|
SYSTEM ?= $(shell config/config.guess | cut -d - -f 3 | sed -e 's/[0-9\.]//g;')
|
||||||
SYSTEM.SUPPORTED = $(shell test -f config/Makefile.$(SYSTEM) && echo 1)
|
SYSTEM.SUPPORTED = $(shell test -f config/Makefile.$(SYSTEM) && echo 1)
|
||||||
|
|
||||||
ifeq ($(SYSTEM.SUPPORTED), 1)
|
ifeq ($(SYSTEM.SUPPORTED), 1)
|
||||||
@ -40,316 +40,228 @@ else
|
|||||||
$(error "Platform '$(SYSTEM)' not supported")
|
$(error "Platform '$(SYSTEM)' not supported")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
GLEW_PREFIX ?= /usr/local
|
GLEW_DEST ?= /usr
|
||||||
GLEW_DEST ?= /usr/local
|
BINDIR ?= $(GLEW_DEST)/bin
|
||||||
BINDIR ?= $(GLEW_DEST)/bin
|
LIBDIR ?= $(GLEW_DEST)/lib
|
||||||
LIBDIR ?= $(GLEW_DEST)/lib
|
INCDIR ?= $(GLEW_DEST)/include/GL
|
||||||
INCDIR ?= $(GLEW_DEST)/include/GL
|
SHARED_OBJ_EXT ?= o
|
||||||
PKGDIR ?= $(GLEW_DEST)/lib/pkgconfig
|
TARDIR = ../glew-$(GLEW_VERSION)
|
||||||
|
TARBALL = ../glew-$(GLEW_VERSION).tar.gz
|
||||||
|
|
||||||
ifneq ($(GLEW_NO_GLU), -DGLEW_NO_GLU)
|
DIST_DIR = glew-$(GLEW_VERSION)
|
||||||
LIBGLU = glu
|
DIST_WIN32 = glew-$(GLEW_VERSION)-win32.zip
|
||||||
endif
|
DIST_SRC_ZIP = glew-$(GLEW_VERSION).zip
|
||||||
|
DIST_SRC_TGZ = glew-$(GLEW_VERSION).tgz
|
||||||
|
|
||||||
DIST_NAME ?= glew-$(GLEW_VERSION)
|
AR = ar
|
||||||
DIST_SRC_ZIP ?= $(shell pwd)/$(DIST_NAME).zip
|
INSTALL = install
|
||||||
DIST_SRC_TGZ ?= $(shell pwd)/$(DIST_NAME).tgz
|
STRIP = strip
|
||||||
DIST_WIN32 ?= $(shell pwd)/$(DIST_NAME)-win32.zip
|
RM = rm -f
|
||||||
|
LN = ln -sf
|
||||||
DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME)
|
ifeq ($(MAKECMDGOALS), debug)
|
||||||
|
|
||||||
# To disable stripping of linked binaries either:
|
|
||||||
# - use STRIP= on gmake command-line
|
|
||||||
# - edit this makefile to set STRIP to the empty string
|
|
||||||
#
|
|
||||||
# To disable symlinks:
|
|
||||||
# - use LN= on gmake command-line
|
|
||||||
|
|
||||||
AR ?= ar
|
|
||||||
ARFLAGS ?= cr
|
|
||||||
INSTALL ?= install
|
|
||||||
STRIP ?= strip
|
|
||||||
RM ?= rm -f
|
|
||||||
LN ?= ln -sf
|
|
||||||
UNIX2DOS ?= unix2dos -q
|
|
||||||
DOS2UNIX ?= dos2unix -q
|
|
||||||
|
|
||||||
ifneq (,$(filter debug,$(MAKECMDGOALS)))
|
|
||||||
OPT = -g
|
OPT = -g
|
||||||
STRIP :=
|
|
||||||
else
|
else
|
||||||
OPT = $(POPT)
|
OPT = $(POPT)
|
||||||
endif
|
endif
|
||||||
INCLUDE = -Iinclude
|
INCLUDE = -Iinclude
|
||||||
CFLAGS = $(OPT) $(WARN) $(INCLUDE) $(CFLAGS.EXTRA)
|
CFLAGS = $(OPT) $(WARN) $(INCLUDE) $(CFLAGS.EXTRA)
|
||||||
|
|
||||||
all debug: glew.lib glew.bin
|
LIB.SRCS = src/glew.c
|
||||||
|
LIB.OBJS = $(LIB.SRCS:.c=.o)
|
||||||
|
LIB.SOBJS = $(LIB.SRCS:.c=.$(SHARED_OBJ_EXT))
|
||||||
|
LIB.LDFLAGS = $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
|
||||||
|
LIB.LIBS = $(GL_LDFLAGS)
|
||||||
|
|
||||||
# GLEW shared and static libraries
|
GLEWINFO.BIN = glewinfo$(BIN.SUFFIX)
|
||||||
|
GLEWINFO.BIN.SRCS = src/glewinfo.c
|
||||||
|
GLEWINFO.BIN.OBJS = $(GLEWINFO.BIN.SRCS:.c=.o)
|
||||||
|
VISUALINFO.BIN = visualinfo$(BIN.SUFFIX)
|
||||||
|
VISUALINFO.BIN.SRCS = src/visualinfo.c
|
||||||
|
VISUALINFO.BIN.OBJS = $(VISUALINFO.BIN.SRCS:.c=.o)
|
||||||
|
BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
|
||||||
|
|
||||||
LIB.LDFLAGS := $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
|
all debug: lib/$(LIB.SHARED) lib/$(LIB.STATIC) bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) glew.pc
|
||||||
LIB.LIBS := $(GL_LDFLAGS)
|
|
||||||
LIB.SHARED.DIR ?= lib
|
|
||||||
|
|
||||||
LIB.SRCS := src/glew.c
|
|
||||||
LIB.SRCS.NAMES := $(notdir $(LIB.SRCS))
|
|
||||||
|
|
||||||
LIB.OBJS := $(addprefix tmp/$(SYSTEM)/default/static/,$(LIB.SRCS.NAMES))
|
|
||||||
LIB.OBJS := $(LIB.OBJS:.c=.o)
|
|
||||||
LIB.SOBJS := $(addprefix tmp/$(SYSTEM)/default/shared/,$(LIB.SRCS.NAMES))
|
|
||||||
LIB.SOBJS := $(LIB.SOBJS:.c=.o)
|
|
||||||
|
|
||||||
glew.lib: glew.lib.shared glew.lib.static
|
|
||||||
|
|
||||||
glew.lib.shared: lib $(LIB.SHARED.DIR) $(LIB.SHARED.DIR)/$(LIB.SHARED) glew.pc
|
|
||||||
glew.lib.static: lib lib/$(LIB.STATIC) glew.pc
|
|
||||||
|
|
||||||
.PHONY: glew.lib glew.lib.shared glew.lib.static
|
|
||||||
|
|
||||||
lib:
|
lib:
|
||||||
mkdir lib
|
mkdir lib
|
||||||
|
|
||||||
lib/$(LIB.STATIC): $(LIB.OBJS)
|
lib/$(LIB.STATIC): $(LIB.OBJS)
|
||||||
ifneq ($(AR),)
|
$(AR) cr $@ $^
|
||||||
$(AR) $(ARFLAGS) $@ $^
|
|
||||||
else ifneq ($(LIBTOOL),)
|
|
||||||
$(LIBTOOL) $@ $^
|
|
||||||
endif
|
|
||||||
ifneq ($(STRIP),)
|
|
||||||
$(STRIP) -x $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(LIB.SHARED.DIR)/$(LIB.SHARED): $(LIB.SOBJS)
|
lib/$(LIB.SHARED): $(LIB.SOBJS)
|
||||||
$(LD) $(LDFLAGS.SO) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS)
|
$(LD) $(LDFLAGS.SO) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS)
|
||||||
ifneq ($(LN),)
|
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
||||||
$(LN) $(LIB.SHARED) $(LIB.SHARED.DIR)/$(LIB.SONAME)
|
else
|
||||||
$(LN) $(LIB.SHARED) $(LIB.SHARED.DIR)/$(LIB.DEVLNK)
|
$(LN) $(LIB.SHARED) lib/$(LIB.SONAME)
|
||||||
endif
|
$(LN) $(LIB.SHARED) lib/$(LIB.DEVLNK)
|
||||||
ifneq ($(STRIP),)
|
|
||||||
$(STRIP) -x $@
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
tmp/$(SYSTEM)/default/static/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJS) lib/$(LIB.SHARED)
|
||||||
@mkdir -p $(dir $@)
|
$(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJS) $(BIN.LIBS)
|
||||||
$(CC) -DGLEW_NO_GLU -DGLEW_STATIC $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
|
||||||
|
|
||||||
tmp/$(SYSTEM)/default/shared/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.OBJS) lib/$(LIB.SHARED)
|
||||||
@mkdir -p $(dir $@)
|
$(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.OBJS) $(BIN.LIBS)
|
||||||
$(CC) -DGLEW_NO_GLU -DGLEW_BUILD $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
|
||||||
|
|
||||||
# Force re-write of glew.pc, GLEW_DEST can vary
|
%.o: %.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
.PHONY: glew.pc
|
src/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
||||||
|
$(CC) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
||||||
|
|
||||||
|
src/glew.pic_o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
||||||
|
$(CC) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) -o $@ -c $<
|
||||||
|
|
||||||
glew.pc: glew.pc.in
|
glew.pc: glew.pc.in
|
||||||
sed \
|
sed \
|
||||||
-e "s|@prefix@|$(GLEW_PREFIX)|g" \
|
-e "s|@prefix@|$(GLEW_DEST)|g" \
|
||||||
-e "s|@libdir@|$(LIBDIR)|g" \
|
-e "s|@libdir@|$(LIBDIR)|g" \
|
||||||
-e "s|@exec_prefix@|$(BINDIR)|g" \
|
-e "s|@exec_prefix@|$(BINDIR)|g" \
|
||||||
-e "s|@includedir@|$(INCDIR)|g" \
|
-e "s|@includedir@|$(INCDIR)|g" \
|
||||||
-e "s|@version@|$(GLEW_VERSION)|g" \
|
-e "s|@version@|$(GLEW_VERSION)|g" \
|
||||||
-e "s|@cflags@||g" \
|
|
||||||
-e "s|@libname@|$(NAME)|g" \
|
|
||||||
-e "s|@libgl@|$(LDFLAGS.GL)|g" \
|
|
||||||
-e "s|@requireslib@|$(LIBGLU)|g" \
|
|
||||||
< $< > $@
|
< $< > $@
|
||||||
|
|
||||||
# GLEW utility programs
|
install: all
|
||||||
|
# directories
|
||||||
BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
|
$(INSTALL) -d -m 0755 $(BINDIR)
|
||||||
|
$(INSTALL) -d -m 0755 $(INCDIR)
|
||||||
GLEWINFO.BIN := glewinfo$(BIN.SUFFIX)
|
$(INSTALL) -d -m 0755 $(LIBDIR)
|
||||||
GLEWINFO.BIN.SRC := src/glewinfo.c
|
$(INSTALL) -d -m 0755 $(LIBDIR)/pkgconfig
|
||||||
GLEWINFO.BIN.OBJ := $(addprefix tmp/$(SYSTEM)/default/shared/,$(notdir $(GLEWINFO.BIN.SRC)))
|
|
||||||
GLEWINFO.BIN.OBJ := $(GLEWINFO.BIN.OBJ:.c=.o)
|
|
||||||
|
|
||||||
VISUALINFO.BIN := visualinfo$(BIN.SUFFIX)
|
|
||||||
VISUALINFO.BIN.SRC := src/visualinfo.c
|
|
||||||
VISUALINFO.BIN.OBJ := $(addprefix tmp/$(SYSTEM)/default/shared/,$(notdir $(VISUALINFO.BIN.SRC)))
|
|
||||||
VISUALINFO.BIN.OBJ := $(VISUALINFO.BIN.OBJ:.c=.o)
|
|
||||||
|
|
||||||
# Don't build glewinfo or visualinfo for NaCL, yet.
|
|
||||||
|
|
||||||
ifneq ($(filter nacl%,$(SYSTEM)),)
|
|
||||||
glew.bin: glew.lib
|
|
||||||
else
|
|
||||||
glew.bin: glew.lib bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)
|
|
||||||
endif
|
|
||||||
|
|
||||||
bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED)
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
$(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJ) $(BIN.LIBS)
|
|
||||||
ifneq ($(STRIP),)
|
|
||||||
$(STRIP) -x $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED)
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
$(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.OBJ) $(BIN.LIBS)
|
|
||||||
ifneq ($(STRIP),)
|
|
||||||
$(STRIP) -x $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(GLEWINFO.BIN.OBJ): $(GLEWINFO.BIN.SRC) include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
$(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
|
||||||
|
|
||||||
$(VISUALINFO.BIN.OBJ): $(VISUALINFO.BIN.SRC) include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
|
||||||
@mkdir -p $(dir $@)
|
|
||||||
$(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
|
||||||
|
|
||||||
# Install targets
|
|
||||||
|
|
||||||
install.all: install install.bin
|
|
||||||
|
|
||||||
install: install.include install.lib install.pkgconfig
|
|
||||||
|
|
||||||
install.lib: glew.lib
|
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)"
|
|
||||||
# runtime
|
# runtime
|
||||||
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(BINDIR)"
|
$(STRIP) -x lib/$(LIB.SHARED)
|
||||||
$(INSTALL) -m 0755 $(LIB.SHARED.DIR)/$(LIB.SHARED) "$(DESTDIR)$(BINDIR)/"
|
$(INSTALL) -m 0644 lib/$(LIB.SHARED) $(BINDIR)/
|
||||||
else
|
else
|
||||||
$(INSTALL) -m 0644 $(LIB.SHARED.DIR)/$(LIB.SHARED) "$(DESTDIR)$(LIBDIR)/"
|
$(STRIP) -x lib/$(LIB.SHARED)
|
||||||
|
$(INSTALL) -m 0644 lib/$(LIB.SHARED) $(LIBDIR)/
|
||||||
|
$(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.SONAME)
|
||||||
endif
|
endif
|
||||||
ifneq ($(LN),)
|
|
||||||
$(LN) $(LIB.SHARED) "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME)"
|
|
||||||
endif
|
|
||||||
|
|
||||||
# development files
|
# development files
|
||||||
|
$(INSTALL) -m 0644 include/GL/wglew.h $(INCDIR)/
|
||||||
|
$(INSTALL) -m 0644 include/GL/glew.h $(INCDIR)/
|
||||||
|
$(INSTALL) -m 0644 include/GL/glxew.h $(INCDIR)/
|
||||||
|
$(INSTALL) -m 0644 glew.pc $(LIBDIR)/pkgconfig/
|
||||||
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
||||||
$(INSTALL) -m 0644 lib/$(LIB.DEVLNK) "$(DESTDIR)$(LIBDIR)/"
|
$(INSTALL) -m 0644 lib/$(LIB.DEVLNK) $(LIBDIR)/
|
||||||
|
else
|
||||||
|
$(STRIP) -x lib/$(LIB.STATIC)
|
||||||
|
$(INSTALL) -m 0644 lib/$(LIB.STATIC) $(LIBDIR)/
|
||||||
|
$(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.DEVLNK)
|
||||||
endif
|
endif
|
||||||
ifneq ($(LN),)
|
# utilities
|
||||||
$(LN) $(LIB.SHARED) "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK)"
|
$(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) $(BINDIR)/
|
||||||
endif
|
|
||||||
$(INSTALL) -m 0644 lib/$(LIB.STATIC) "$(DESTDIR)$(LIBDIR)/"
|
|
||||||
|
|
||||||
install.bin: glew.bin
|
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(BINDIR)"
|
|
||||||
$(INSTALL) -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/"
|
|
||||||
|
|
||||||
install.include:
|
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(INCDIR)"
|
|
||||||
$(INSTALL) -m 0644 include/GL/wglew.h "$(DESTDIR)$(INCDIR)/"
|
|
||||||
$(INSTALL) -m 0644 include/GL/glew.h "$(DESTDIR)$(INCDIR)/"
|
|
||||||
$(INSTALL) -m 0644 include/GL/glxew.h "$(DESTDIR)$(INCDIR)/"
|
|
||||||
$(INSTALL) -m 0644 include/GL/eglew.h "$(DESTDIR)$(INCDIR)/"
|
|
||||||
|
|
||||||
install.pkgconfig: glew.pc
|
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(PKGDIR)"
|
|
||||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(PKGDIR)"
|
|
||||||
$(INSTALL) -m 0644 glew.pc "$(DESTDIR)$(PKGDIR)/"
|
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
$(RM) "$(DESTDIR)$(INCDIR)/wglew.h"
|
$(RM) $(INCDIR)/wglew.h
|
||||||
$(RM) "$(DESTDIR)$(INCDIR)/glew.h"
|
$(RM) $(INCDIR)/glew.h
|
||||||
$(RM) "$(DESTDIR)$(INCDIR)/glxew.h"
|
$(RM) $(INCDIR)/glxew.h
|
||||||
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK)"
|
$(RM) $(LIBDIR)/$(LIB.DEVLNK)
|
||||||
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
|
||||||
$(RM) "$(DESTDIR)$(BINDIR)/$(LIB.SHARED)"
|
$(RM) $(BINDIR)/$(LIB.SHARED)
|
||||||
else
|
else
|
||||||
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME)"
|
$(RM) $(LIBDIR)/$(LIB.SONAME)
|
||||||
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SHARED)"
|
$(RM) $(LIBDIR)/$(LIB.SHARED)
|
||||||
|
$(RM) $(LIBDIR)/$(LIB.STATIC)
|
||||||
endif
|
endif
|
||||||
$(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.STATIC)"
|
$(RM) $(BINDIR)/$(GLEWINFO.BIN) $(BINDIR)/$(VISUALINFO.BIN)
|
||||||
$(RM) "$(DESTDIR)$(BINDIR)/$(GLEWINFO.BIN)" "$(DESTDIR)$(BINDIR)/$(VISUALINFO.BIN)"
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(RM) -r tmp/
|
$(RM) $(LIB.OBJS)
|
||||||
$(RM) -r lib/
|
$(RM) $(LIB.SOBJS)
|
||||||
$(RM) -r bin/
|
$(RM) lib/$(LIB.STATIC) lib/$(LIB.SHARED) lib/$(LIB.DEVLNK) lib/$(LIB.SONAME) $(LIB.STATIC)
|
||||||
|
$(RM) $(GLEWINFO.BIN.OBJS) bin/$(GLEWINFO.BIN) $(VISUALINFO.BIN.OBJS) bin/$(VISUALINFO.BIN)
|
||||||
$(RM) glew.pc
|
$(RM) glew.pc
|
||||||
|
# Compiler droppings
|
||||||
|
$(RM) so_locations
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
find . -name \*~ | xargs $(RM)
|
find . -name \*~ | xargs $(RM)
|
||||||
find . -name .\*.sw\? | xargs $(RM)
|
find . -name .\*.sw\? | xargs $(RM)
|
||||||
|
|
||||||
# Distributions
|
tardist:
|
||||||
|
$(RM) -r $(TARDIR)
|
||||||
|
mkdir $(TARDIR)
|
||||||
|
cp -a . $(TARDIR)
|
||||||
|
find $(TARDIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
|
||||||
|
find $(TARDIR) -name .svn | xargs $(RM) -r
|
||||||
|
$(MAKE) -C $(TARDIR) distclean
|
||||||
|
$(MAKE) -C $(TARDIR)
|
||||||
|
$(MAKE) -C $(TARDIR) distclean
|
||||||
|
$(RM) -r $(TARDIR)/auto/registry
|
||||||
|
env GZIP=-9 tar -C `dirname $(TARDIR)` -cvzf $(TARBALL) `basename $(TARDIR)`
|
||||||
|
|
||||||
dist-win32:
|
dist-win32:
|
||||||
$(RM) -r $(DIST_DIR)
|
$(RM) -r $(TARDIR)
|
||||||
mkdir -p $(DIST_DIR)
|
mkdir -p $(TARDIR)
|
||||||
cp -a include $(DIST_DIR)
|
mkdir -p $(TARDIR)/bin
|
||||||
cp -a doc $(DIST_DIR)
|
mkdir -p $(TARDIR)/lib
|
||||||
cp -a *.txt $(DIST_DIR)
|
cp -a include $(TARDIR)
|
||||||
cp -a bin $(DIST_DIR)
|
cp -a doc $(TARDIR)
|
||||||
cp -a lib $(DIST_DIR)
|
cp -a *.txt $(TARDIR)
|
||||||
$(RM) -f $(DIST_DIR)/bin/*/*/*.pdb $(DIST_DIR)/bin/*/*/*.exp
|
cp -a lib/glew32.lib $(TARDIR)/lib
|
||||||
$(RM) -f $(DIST_DIR)/bin/*/*/glewinfo-*.exe $(DIST_DIR)/bin/*/*/visualinfo-*.exe
|
cp -a lib/glew32s.lib $(TARDIR)/lib
|
||||||
$(RM) -f $(DIST_DIR)/lib/*/*/*.pdb $(DIST_DIR)/lib/*/*/*.exp
|
cp -a bin/glew32.dll $(TARDIR)/bin
|
||||||
$(UNIX2DOS) $(DIST_DIR)/include/GL/*.h
|
cp -a bin/glewinfo.exe $(TARDIR)/bin
|
||||||
$(UNIX2DOS) $(DIST_DIR)/doc/*.txt
|
cp -a bin/visualinfo.exe $(TARDIR)/bin
|
||||||
$(UNIX2DOS) $(DIST_DIR)/doc/*.html
|
find $(TARDIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
|
||||||
$(UNIX2DOS) $(DIST_DIR)/*.txt
|
find $(TARDIR) -name .svn | xargs $(RM) -r
|
||||||
rm -f $(DIST_WIN32)
|
unix2dos $(TARDIR)/include/GL/*.h
|
||||||
cd $(DIST_DIR)/.. && zip -rq9 $(DIST_WIN32) $(DIST_NAME)
|
unix2dos $(TARDIR)/doc/*.txt
|
||||||
$(RM) -r $(DIST_DIR)
|
unix2dos $(TARDIR)/doc/*.html
|
||||||
|
unix2dos $(TARDIR)/*.txt
|
||||||
|
rm -f ../$(DIST_WIN32)
|
||||||
|
cd .. && zip -rv9 $(DIST_WIN32) $(DIST_DIR)
|
||||||
|
|
||||||
dist-src:
|
dist-src:
|
||||||
$(RM) -r $(DIST_DIR)
|
$(RM) -r $(TARDIR)
|
||||||
mkdir -p $(DIST_DIR)
|
mkdir -p $(TARDIR)
|
||||||
mkdir -p $(DIST_DIR)/bin
|
mkdir -p $(TARDIR)/bin
|
||||||
mkdir -p $(DIST_DIR)/lib
|
mkdir -p $(TARDIR)/lib
|
||||||
cp -a auto $(DIST_DIR)
|
cp -a auto $(TARDIR)
|
||||||
$(RM) -Rf $(DIST_DIR)/auto/registry
|
$(RM) -Rf $(TARDIR)/auto/registry
|
||||||
$(RM) -Rf $(DIST_DIR)/auto/glfixes
|
cp -a build $(TARDIR)
|
||||||
$(RM) -Rf $(DIST_DIR)/auto/OpenGL-Registry
|
cp -a config $(TARDIR)
|
||||||
$(RM) -Rf $(DIST_DIR)/auto/EGL-Registry
|
cp -a src $(TARDIR)
|
||||||
cp -a build $(DIST_DIR)
|
cp -a doc $(TARDIR)
|
||||||
cp -a config $(DIST_DIR)
|
cp -a include $(TARDIR)
|
||||||
cp -a src $(DIST_DIR)
|
cp -a *.txt $(TARDIR)
|
||||||
cp -a doc $(DIST_DIR)
|
cp -a Makefile $(TARDIR)
|
||||||
cp -a include $(DIST_DIR)
|
cp -a glew.pc.in $(TARDIR)
|
||||||
cp -a *.md $(DIST_DIR)
|
find $(TARDIR) -name '*.o' | xargs $(RM) -r
|
||||||
cp -a *.txt $(DIST_DIR)
|
find $(TARDIR) -name '*.pic_o' | xargs $(RM) -r
|
||||||
cp -a Makefile $(DIST_DIR)
|
find $(TARDIR) -name '*~' | xargs $(RM) -r
|
||||||
cp -a glew.pc.in $(DIST_DIR)
|
find $(TARDIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
|
||||||
find $(DIST_DIR) -name '*.o' | xargs $(RM) -r
|
find $(TARDIR) -name .svn | xargs $(RM) -r
|
||||||
find $(DIST_DIR) -name '*~' | xargs $(RM) -r
|
unix2dos $(TARDIR)/config/*
|
||||||
find $(DIST_DIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
|
unix2dos $(TARDIR)/auto/core/*
|
||||||
find $(DIST_DIR) -name .svn | xargs $(RM) -r
|
unix2dos $(TARDIR)/auto/extensions/*
|
||||||
find $(DIST_DIR) -name "*.patch" | xargs $(RM) -r
|
find $(TARDIR) -name '*.h' | xargs unix2dos
|
||||||
$(DOS2UNIX) $(DIST_DIR)/Makefile
|
find $(TARDIR) -name '*.c' | xargs unix2dos
|
||||||
$(DOS2UNIX) $(DIST_DIR)/auto/Makefile
|
find $(TARDIR) -name '*.txt' | xargs unix2dos
|
||||||
$(DOS2UNIX) $(DIST_DIR)/config/*
|
find $(TARDIR) -name '*.html' | xargs unix2dos
|
||||||
$(UNIX2DOS) $(DIST_DIR)/auto/core/*
|
find $(TARDIR) -name '*.css' | xargs unix2dos
|
||||||
$(UNIX2DOS) $(DIST_DIR)/auto/extensions/*
|
find $(TARDIR) -name '*.sh' | xargs unix2dos
|
||||||
find $(DIST_DIR) -name '*.h' | xargs $(UNIX2DOS)
|
find $(TARDIR) -name '*.pl' | xargs unix2dos
|
||||||
find $(DIST_DIR) -name '*.c' | xargs $(UNIX2DOS)
|
find $(TARDIR) -name 'Makefile' | xargs unix2dos
|
||||||
find $(DIST_DIR) -name '*.md' | xargs $(UNIX2DOS)
|
find $(TARDIR) -name '*.in' | xargs unix2dos
|
||||||
find $(DIST_DIR) -name '*.txt' | xargs $(UNIX2DOS)
|
find $(TARDIR) -name '*.pm' | xargs unix2dos
|
||||||
find $(DIST_DIR) -name '*.html' | xargs $(UNIX2DOS)
|
find $(TARDIR) -name '*.rc' | xargs unix2dos
|
||||||
find $(DIST_DIR) -name '*.css' | xargs $(UNIX2DOS)
|
rm -f ../$(DIST_SRC_ZIP)
|
||||||
find $(DIST_DIR) -name '*.sh' | xargs $(UNIX2DOS)
|
cd .. && zip -rv9 $(DIST_SRC_ZIP) $(DIST_DIR)
|
||||||
find $(DIST_DIR) -name '*.pl' | xargs $(UNIX2DOS)
|
dos2unix $(TARDIR)/config/*
|
||||||
find $(DIST_DIR) -name 'Makefile' | xargs $(UNIX2DOS)
|
dos2unix $(TARDIR)/auto/core/*
|
||||||
find $(DIST_DIR) -name '*.in' | xargs $(UNIX2DOS)
|
dos2unix $(TARDIR)/auto/extensions/*
|
||||||
find $(DIST_DIR) -name '*.pm' | xargs $(UNIX2DOS)
|
find $(TARDIR) -name '*.h' | xargs dos2unix
|
||||||
find $(DIST_DIR) -name '*.rc' | xargs $(UNIX2DOS)
|
find $(TARDIR) -name '*.c' | xargs dos2unix
|
||||||
rm -f $(DIST_SRC_ZIP)
|
find $(TARDIR) -name '*.txt' | xargs dos2unix
|
||||||
cd $(DIST_DIR)/.. && zip -rq9 $(DIST_SRC_ZIP) $(DIST_NAME)
|
find $(TARDIR) -name '*.html' | xargs dos2unix
|
||||||
$(DOS2UNIX) $(DIST_DIR)/Makefile
|
find $(TARDIR) -name '*.css' | xargs dos2unix
|
||||||
$(DOS2UNIX) $(DIST_DIR)/auto/Makefile
|
find $(TARDIR) -name '*.sh' | xargs dos2unix
|
||||||
$(DOS2UNIX) $(DIST_DIR)/config/*
|
find $(TARDIR) -name '*.pl' | xargs dos2unix
|
||||||
$(DOS2UNIX) $(DIST_DIR)/auto/core/*
|
find $(TARDIR) -name 'Makefile' | xargs dos2unix
|
||||||
$(DOS2UNIX) $(DIST_DIR)/auto/extensions/*
|
find $(TARDIR) -name '*.in' | xargs dos2unix
|
||||||
find $(DIST_DIR) -name '*.h' | xargs $(DOS2UNIX)
|
find $(TARDIR) -name '*.pm' | xargs dos2unix
|
||||||
find $(DIST_DIR) -name '*.c' | xargs $(DOS2UNIX)
|
find $(TARDIR) -name '*.rc' | xargs dos2unix
|
||||||
find $(DIST_DIR) -name '*.md' | xargs $(DOS2UNIX)
|
cd .. && env GZIP=-9 tar cvzf $(DIST_SRC_TGZ) $(DIST_DIR)
|
||||||
find $(DIST_DIR) -name '*.txt' | xargs $(DOS2UNIX)
|
|
||||||
find $(DIST_DIR) -name '*.html' | xargs $(DOS2UNIX)
|
|
||||||
find $(DIST_DIR) -name '*.css' | xargs $(DOS2UNIX)
|
|
||||||
find $(DIST_DIR) -name '*.sh' | xargs $(DOS2UNIX)
|
|
||||||
find $(DIST_DIR) -name '*.pl' | xargs $(DOS2UNIX)
|
|
||||||
find $(DIST_DIR) -name 'Makefile' | xargs $(DOS2UNIX)
|
|
||||||
find $(DIST_DIR) -name '*.in' | xargs $(DOS2UNIX)
|
|
||||||
find $(DIST_DIR) -name '*.pm' | xargs $(DOS2UNIX)
|
|
||||||
find $(DIST_DIR) -name '*.rc' | xargs $(DOS2UNIX)
|
|
||||||
rm -f $(DIST_SRC_TGZ)
|
|
||||||
cd $(DIST_DIR)/.. && env GZIP=-9 tar czf $(DIST_SRC_TGZ) $(DIST_NAME)
|
|
||||||
$(RM) -r $(DIST_DIR)
|
|
||||||
|
|
||||||
extensions:
|
extensions:
|
||||||
$(MAKE) -C auto
|
$(MAKE) -C auto
|
||||||
|
29
README.md
29
README.md
@ -1,29 +0,0 @@
|
|||||||
# GLEW-cmake - nightly pre-generated snapshot with old unofficial cmake support
|
|
||||||
|
|
||||||
[GLEW](https://github.com/nigels-com/glew) is upstream of this project.
|
|
||||||
But *GLEW* repository does not contain generated sources. Only releases include generated sources.
|
|
||||||
|
|
||||||
*GLEW-cmake* has generated sources based on the latest *GLEW*. Sources are generated nightly.
|
|
||||||
If you need only the latest snapshot of *GLEW*, try the build system of *GLEW*. It is placed under the `build` directory. Official `CMakeLists.txt` is placed in `build/cmake`.
|
|
||||||
Please check [README_glew.md](./README_glew.md) for using build system of *GLEW*.
|
|
||||||
|
|
||||||
Also, *GLEW-cmake* has unofficial cmake support - It is created when the official CMake support of *GLEW* does not exist.
|
|
||||||
You can see some CMake script examples in [`glew-cmake`](./glew-cmake/) directory. But, I **strongly** recommend using official CMakeLists of *GLEW*.
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
This project provide `libglew_static` and `libglew_shared` library targets and `glewinfo` and `visualinfo` executable targets.
|
|
||||||
|
|
||||||
`libglew_static` provides a static library, and `libglew_shared` provides a shared library.
|
|
||||||
*glew-cmake* does not affected by [BUILD_SHARED_LIBS](https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html).
|
|
||||||
|
|
||||||
You can disable each library target by setting `glew-cmake_BUILD_SHARED` or `glew-cmake_BUILD_STATIC` falsy value (ex. `NO`, `FALSE`).
|
|
||||||
|
|
||||||
If you need only libraries, Please set `ONLY_LIBS` to `ON`. Otherwise, cmake generates executable targets also.
|
|
||||||
|
|
||||||
You can get pkg-config fils by setting `PKG_CONFIG_REPRESENTATIVE_TARGET` to `libglew_static` or `libglew_shared`.
|
|
||||||
|
|
||||||
Simply specify dependency of your target with `libglew_static` or `libglew_shared` by `target_link_libraries`.
|
|
||||||
It will set the additional include directory & the libraries to link to your target.
|
|
||||||
|
|
||||||
If you are not familiar with cmake, Some `sub-directory-test.cmake`, `fetch-content.cmake` in [`glew-cmake`](./glew-cmake/) could be helpful.
|
|
18
README.txt
Normal file
18
README.txt
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
See doc/index.html for more information.
|
||||||
|
|
||||||
|
If you downloaded the tarball from the GLEW website, you just need to:
|
||||||
|
|
||||||
|
Unix:
|
||||||
|
|
||||||
|
make
|
||||||
|
|
||||||
|
Windows:
|
||||||
|
|
||||||
|
use the project file in build/vc6/
|
||||||
|
|
||||||
|
If you wish to build GLEW from scratch (update the extension data from
|
||||||
|
the net or add your own extension information), you need a Unix
|
||||||
|
environment (including wget, perl, and GNU make). The extension data
|
||||||
|
is regenerated from the top level source directory with:
|
||||||
|
|
||||||
|
make extensions
|
256
README_glew.md
256
README_glew.md
@ -1,256 +0,0 @@
|
|||||||
# GLEW - The OpenGL Extension Wrangler Library
|
|
||||||
|
|
||||||
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW has been tested on a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
http://glew.sourceforge.net/
|
|
||||||
|
|
||||||
https://github.com/nigels-com/glew
|
|
||||||
|
|
||||||
[](https://gitter.im/nigels-com/glew?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
|
||||||
[](https://sourceforge.net/projects/glew/files/latest/download)
|
|
||||||
[](https://ap-southeast-2.codebuild.aws.amazon.com/project/eyJlbmNyeXB0ZWREYXRhIjoiK3RLWndGOVVkMWthbXRQZCtVTTNOQ0w2dEpxakZ1cVBTNDZ1UldGODdqUERSdkx0U21Nd0RFaGhQL1kycVlmNzh2OXpEYnRKV3hXTVJJdjUvVStCbTl0dkliZm5jRTFsc0VBPSIsIml2UGFyYW1ldGVyU3BlYyI6ImZ0ekRoMkNjaU0rRUt5K2UiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D)
|
|
||||||
|
|
||||||
## Table of Contents
|
|
||||||
|
|
||||||
* [Downloads](#downloads)
|
|
||||||
* [Recent snapshots](#recent-snapshots)
|
|
||||||
* [Build](#build)
|
|
||||||
* [Linux and Mac](#linux-and-mac)
|
|
||||||
* [Using GNU Make](#using-gnu-make)
|
|
||||||
* [Install build tools](#install-build-tools)
|
|
||||||
* [Build](#build-1)
|
|
||||||
* [Linux EGL](#linux-egl)
|
|
||||||
* [Linux OSMesa](#linux-osmesa)
|
|
||||||
* [Linux mingw-w64](#linux-mingw-w64)
|
|
||||||
* [Using cmake](#using-cmake)
|
|
||||||
* [Install build tools](#install-build-tools-1)
|
|
||||||
* [Build](#build-2)
|
|
||||||
* [Windows](#windows)
|
|
||||||
* [Visual Studio](#visual-studio)
|
|
||||||
* [MSYS/Mingw](#msysmingw)
|
|
||||||
* [MSYS2/Mingw-w64](#msys2mingw-w64)
|
|
||||||
* [glewinfo](#glewinfo)
|
|
||||||
* [Code Generation](#code-generation)
|
|
||||||
* [Authors](#authors)
|
|
||||||
* [Contributions](#contributions)
|
|
||||||
* [Copyright and Licensing](#copyright-and-licensing)
|
|
||||||
|
|
||||||
## Downloads
|
|
||||||
|
|
||||||
Current release is [2.2.0](https://github.com/nigels-com/glew/releases/tag/glew-2.2.0).
|
|
||||||
[(Change Log)](http://glew.sourceforge.net/log.html)
|
|
||||||
|
|
||||||
Sources available as
|
|
||||||
[ZIP](https://github.com/nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0.zip) or
|
|
||||||
[TGZ](https://github.com/nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0.tgz).
|
|
||||||
|
|
||||||
Windows binaries for [32-bit and 64-bit](https://github.com/nigels-com/glew/releases/download/glew-2.2.0/glew-2.2.0-win32.zip).
|
|
||||||
|
|
||||||
### Recent snapshots
|
|
||||||
|
|
||||||
Snapshots may contain new features, bug-fixes or new OpenGL extensions ahead of tested, official releases.
|
|
||||||
|
|
||||||
[glew-20220402.tgz](https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20220402.tgz/download) *GLEW 2.2.0 - with fix for glCreateProgressFenceNVX*
|
|
||||||
|
|
||||||
## Build
|
|
||||||
|
|
||||||
It is highly recommended to build from a tgz or zip release snapshot.
|
|
||||||
The code generation workflow is a complex brew of gnu make, perl and python, that works best on Linux or Mac.
|
|
||||||
The code generation is known to work on Windows using [MSYS2](https://www.msys2.org/).
|
|
||||||
For most end-users of GLEW the official releases are the best choice, with first class support.
|
|
||||||
|
|
||||||
### Linux and Mac
|
|
||||||
|
|
||||||
#### Using GNU Make
|
|
||||||
|
|
||||||
GNU make is the primary build system for GLEW, historically.
|
|
||||||
It includes targets for building the sources and headers, for maintenance purposes.
|
|
||||||
|
|
||||||
##### Install build tools
|
|
||||||
|
|
||||||
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev`
|
|
||||||
|
|
||||||
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel`
|
|
||||||
|
|
||||||
FreeBSD: `# pkg install xorg lang/gcc git cmake gmake bash python perl5`
|
|
||||||
|
|
||||||
##### Build
|
|
||||||
|
|
||||||
$ make
|
|
||||||
$ sudo make install
|
|
||||||
$ make clean
|
|
||||||
|
|
||||||
Targets: `all, glew.lib (sub-targets: glew.lib.shared, glew.lib.static), glew.bin, clean, install, uninstall`
|
|
||||||
|
|
||||||
Variables: `SYSTEM=linux-clang, GLEW_DEST=/usr/local, STRIP=`
|
|
||||||
|
|
||||||
_Note: you may need to call `make` in the **auto** folder first_
|
|
||||||
|
|
||||||
##### Linux EGL
|
|
||||||
|
|
||||||
$ sudo apt install libegl1-mesa-dev
|
|
||||||
$ make SYSTEM=linux-egl
|
|
||||||
|
|
||||||
##### Linux OSMesa
|
|
||||||
|
|
||||||
$ sudo apt install libosmesa-dev
|
|
||||||
$ make SYSTEM=linux-osmesa
|
|
||||||
|
|
||||||
##### Linux mingw-w64
|
|
||||||
|
|
||||||
$ sudo apt install mingw-w64
|
|
||||||
$ make SYSTEM=linux-mingw32
|
|
||||||
$ make SYSTEM=linux-mingw64
|
|
||||||
|
|
||||||
#### Using cmake
|
|
||||||
|
|
||||||
The cmake build is mostly contributor maintained.
|
|
||||||
Due to the multitude of use cases this is maintained on a _best effort_ basis.
|
|
||||||
Pull requests are welcome.
|
|
||||||
|
|
||||||
*CMake 3.16 or higher is required.*
|
|
||||||
|
|
||||||
##### Install build tools
|
|
||||||
|
|
||||||
Debian/Ubuntu/Mint: `$ sudo apt-get install build-essential libxmu-dev libxi-dev libgl-dev cmake git`
|
|
||||||
|
|
||||||
RedHat/CentOS/Fedora: `$ sudo yum install libXmu-devel libXi-devel libGL-devel cmake git`
|
|
||||||
|
|
||||||
##### Build
|
|
||||||
|
|
||||||
$ cd build
|
|
||||||
$ cmake ./cmake
|
|
||||||
$ make -j4
|
|
||||||
|
|
||||||
| Target | Description |
|
|
||||||
| ---------- | ----------- |
|
|
||||||
| glew | Build the glew shared library. |
|
|
||||||
| glew_s | Build the glew static library. |
|
|
||||||
| glewinfo | Build the `glewinfo` executable (requires `BUILD_UTILS` to be `ON`). |
|
|
||||||
| visualinfo | Build the `visualinfo` executable (requires `BUILD_UTILS` to be `ON`). |
|
|
||||||
| install | Install all enabled targets into `CMAKE_INSTALL_PREFIX`. |
|
|
||||||
| clean | Clean up build artifacts. |
|
|
||||||
| all | Build all enabled targets (default target). |
|
|
||||||
|
|
||||||
| Variables | Description |
|
|
||||||
| --------------- | ----------- |
|
|
||||||
| BUILD_UTILS | Build the `glewinfo` and `visualinfo` executables. |
|
|
||||||
| GLEW_REGAL | Build in Regal mode. |
|
|
||||||
| GLEW_OSMESA | Build in off-screen Mesa mode. |
|
|
||||||
| BUILD_FRAMEWORK | Build as MacOSX Framework. Setting `CMAKE_INSTALL_PREFIX` to `/Library/Frameworks` is recommended. |
|
|
||||||
|
|
||||||
### Windows
|
|
||||||
|
|
||||||
#### Visual Studio
|
|
||||||
|
|
||||||
Use the provided Visual Studio project file in build/vc15/
|
|
||||||
|
|
||||||
Projects for vc6, vc10, vc12 and vc14 are also provided
|
|
||||||
|
|
||||||
#### MSYS/Mingw
|
|
||||||
|
|
||||||
Available from [Mingw](http://www.mingw.org/)
|
|
||||||
|
|
||||||
Requirements: bash, make, gcc
|
|
||||||
|
|
||||||
$ mingw32-make
|
|
||||||
$ mingw32-make install
|
|
||||||
$ mingw32-make install.all
|
|
||||||
|
|
||||||
Alternative toolchain: `SYSTEM=mingw-win32`
|
|
||||||
|
|
||||||
#### MSYS2/Mingw-w64
|
|
||||||
|
|
||||||
Available from [Msys2](http://msys2.github.io/) and/or [Mingw-w64](http://mingw-w64.org/)
|
|
||||||
|
|
||||||
Requirements: bash, make, gcc
|
|
||||||
|
|
||||||
$ pacman -S gcc make mingw-w64-i686-gcc mingw-w64-x86_64-gcc
|
|
||||||
$ make
|
|
||||||
$ make install
|
|
||||||
$ make install.all
|
|
||||||
|
|
||||||
Alternative toolchain: `SYSTEM=msys, SYSTEM=msys-win32, SYSTEM=msys-win64`
|
|
||||||
|
|
||||||
## glewinfo
|
|
||||||
|
|
||||||
`glewinfo` is a command-line tool useful for inspecting the capabilities of an
|
|
||||||
OpenGL implementation and GLEW support for that. Please include `glewinfo.txt`
|
|
||||||
with bug reports, as appropriate.
|
|
||||||
|
|
||||||
---------------------------
|
|
||||||
GLEW Extension Info
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
GLEW version 2.0.0
|
|
||||||
Reporting capabilities of pixelformat 3
|
|
||||||
Running on a Intel(R) HD Graphics 3000 from Intel
|
|
||||||
OpenGL version 3.1.0 - Build 9.17.10.4229 is supported
|
|
||||||
|
|
||||||
GL_VERSION_1_1: OK
|
|
||||||
---------------
|
|
||||||
|
|
||||||
GL_VERSION_1_2: OK
|
|
||||||
---------------
|
|
||||||
glCopyTexSubImage3D: OK
|
|
||||||
glDrawRangeElements: OK
|
|
||||||
glTexImage3D: OK
|
|
||||||
glTexSubImage3D: OK
|
|
||||||
|
|
||||||
...
|
|
||||||
|
|
||||||
## Code Generation
|
|
||||||
|
|
||||||
A Unix or Mac environment is needed for building GLEW from scratch to
|
|
||||||
include new extensions, or customize the code generation. The extension
|
|
||||||
data is regenerated from the top level source directory with:
|
|
||||||
|
|
||||||
make extensions
|
|
||||||
|
|
||||||
An alternative to generating the GLEW sources from scratch is to
|
|
||||||
download a pre-generated (unsupported) snapshot:
|
|
||||||
|
|
||||||
https://sourceforge.net/projects/glew/files/glew/snapshots/
|
|
||||||
|
|
||||||
## Authors
|
|
||||||
|
|
||||||
GLEW is currently maintained by [Nigel Stewart](https://github.com/nigels-com)
|
|
||||||
with bug fixes, new OpenGL extension support and new releases.
|
|
||||||
|
|
||||||
GLEW was developed by [Milan Ikits](http://www.cs.utah.edu/~ikits/)
|
|
||||||
and [Marcelo Magallon](http://wwwvis.informatik.uni-stuttgart.de/~magallon/).
|
|
||||||
Aaron Lefohn, Joe Kniss, and Chris Wyman were the first users and also
|
|
||||||
assisted with the design and debugging process.
|
|
||||||
|
|
||||||
The acronym GLEW originates from Aaron Lefohn.
|
|
||||||
Pasi Kärkkäinen identified and fixed several problems with
|
|
||||||
GLX and SDL. Nate Robins created the `wglinfo` utility, to
|
|
||||||
which modifications were made by Michael Wimmer.
|
|
||||||
|
|
||||||
## Contributions
|
|
||||||
|
|
||||||
GLEW welcomes community contributions. Typically these are co-ordinated
|
|
||||||
via [Issues](https://github.com/nigels-com/glew/issues) or
|
|
||||||
[Pull Requests](https://github.com/nigels-com/glew/pulls) in the
|
|
||||||
GitHub web interface.
|
|
||||||
|
|
||||||
Be sure to mention platform and compiler toolchain details when filing
|
|
||||||
a bug report. The output of `glewinfo` can be quite useful for discussion
|
|
||||||
also.
|
|
||||||
|
|
||||||
Generally GLEW is usually released once a year, around the time of the Siggraph
|
|
||||||
computer graphics conference. If you're not using the current release
|
|
||||||
version of GLEW, be sure to check if the issue or bug is fixed there.
|
|
||||||
|
|
||||||
## Copyright and Licensing
|
|
||||||
|
|
||||||
GLEW is originally derived from the EXTGL project by Lev Povalahev.
|
|
||||||
The source code is licensed under the
|
|
||||||
[Modified BSD License](http://glew.sourceforge.net/glew.txt), the
|
|
||||||
[Mesa 3-D License](http://glew.sourceforge.net/mesa.txt) (MIT) and the
|
|
||||||
[Khronos License](http://glew.sourceforge.net/khronos.txt) (MIT).
|
|
||||||
|
|
||||||
The automatic code generation scripts are released under the
|
|
||||||
[GNU GPL](http://glew.sourceforge.net/gpl.txt).
|
|
12
TODO.txt
Normal file
12
TODO.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Major:
|
||||||
|
- add support for windows mini-client drivers
|
||||||
|
- add windows installer (msi)
|
||||||
|
- separate build of static and shared object files (for mingw and
|
||||||
|
cygwin)
|
||||||
|
- start designing GLEW 2.0
|
||||||
|
|
||||||
|
Minor:
|
||||||
|
- make auto scripts work with text mode cygwin mounts
|
||||||
|
- add support for all SUN, MTX, and OML extensions
|
||||||
|
- make auto/Makefile more robust against auto/core/*~ mistakes
|
||||||
|
- web poll on separating glew, glxew and wglew
|
258
auto/Makefile
258
auto/Makefile
@ -10,34 +10,27 @@ include ../config/version
|
|||||||
#GLEW_SPLIT_SOURCE = yes
|
#GLEW_SPLIT_SOURCE = yes
|
||||||
|
|
||||||
SHELL = bash
|
SHELL = bash
|
||||||
PYTHON ?= python
|
REGISTRY = registry
|
||||||
|
REGISTRY_URL = http://www.opengl.org/registry/
|
||||||
EXT = extensions/gl
|
#http://oss.sgi.com/projects/ogl-sample/registry/
|
||||||
CORE = core/gl
|
|
||||||
|
|
||||||
REPO_OPENGL ?= https://github.com/KhronosGroup/OpenGL-Registry.git
|
|
||||||
REPO_EGL ?= https://github.com/KhronosGroup/EGL-Registry.git
|
|
||||||
REPO_GLFIXES ?= https://github.com/nigels-com/glfixes
|
|
||||||
|
|
||||||
BIN = bin
|
BIN = bin
|
||||||
SRC = src
|
SRC = src
|
||||||
|
CORE = core
|
||||||
|
EXT = extensions
|
||||||
BLACKLIST = blacklist
|
BLACKLIST = blacklist
|
||||||
|
|
||||||
GL_CORE_SPEC := $(CORE)/GL_VERSION*
|
GL_CORE_SPEC := $(CORE)/GL_VERSION*
|
||||||
GLX_CORE_SPEC := $(CORE)/GLX_VERSION*
|
GLX_CORE_SPEC := $(CORE)/GLX_VERSION*
|
||||||
EGL_CORE_SPEC := $(CORE)/EGL_VERSION*
|
|
||||||
ifeq (custom,$(MAKECMDGOALS))
|
ifeq (custom,$(MAKECMDGOALS))
|
||||||
#GL_CORE_SPEC := $(shell grep GL_VERSION custom.txt | perl -pi -e "s=^=$(CORE)/=g;")
|
#GL_CORE_SPEC := $(shell grep GL_VERSION custom.txt | sed -e 's/\(.*\)/$(CORE)\/\1/g;')
|
||||||
GL_EXT_SPEC := $(shell grep "^[ \t]*GL_" custom.txt | grep -v GL_VERSION | perl -pi -e "s=^=$(EXT)/=g;")
|
GL_EXT_SPEC := $(shell grep "^[ \t]*GL_" custom.txt | grep -v GL_VERSION | sed -e 's/\(.*\)/$(EXT)\/\1/g;')
|
||||||
WGL_EXT_SPEC := $(shell grep "^[ \t]*WGL_" custom.txt | perl -pi -e "s=^=$(EXT)/=g;")
|
WGL_EXT_SPEC := $(shell grep "^[ \t]*WGL_" custom.txt | sed -e 's/\(.*\)/$(EXT)\/\1/g;')
|
||||||
#GLX_CORE_SPEC := $(shell grep GLX_VERSION custom.txt | perl -pi -e "s=^=$(CORE)/=g;")
|
#GLX_CORE_SPEC := $(shell grep GLX_VERSION custom.txt | sed -e 's/\(.*\)/$(CORE)\/\1/g;')
|
||||||
GLX_EXT_SPEC := $(shell grep "^[ \t]*GLX_" custom.txt | grep -v GLX_VERSION | perl -pi -e "s=^=$(EXT)/=g;")
|
GLX_EXT_SPEC := $(shell grep "^[ \t]*GLX_" custom.txt | grep -v GLX_VERSION | grep -v GLX_OML_sync_control | sed -e 's/\(.*\)/$(EXT)\/\1/g;')
|
||||||
EGL_EXT_SPEC := $(shell grep "^[ \t]*EGL_" custom.txt | grep -v EGL_VERSION | perl -pi -e "s=^=$(EXT)/=g;")
|
|
||||||
else
|
else
|
||||||
GL_EXT_SPEC := $(EXT)/GL_*
|
GL_EXT_SPEC := $(EXT)/GL_*
|
||||||
WGL_EXT_SPEC := $(EXT)/WGL_*
|
WGL_EXT_SPEC := $(EXT)/WGL_*
|
||||||
GLX_EXT_SPEC := $(EXT)/GLX_*
|
GLX_EXT_SPEC := $(EXT)/GLX_*
|
||||||
EGL_EXT_SPEC := $(EXT)/EGL_*
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PARSE_SPEC = parse_spec.pl
|
PARSE_SPEC = parse_spec.pl
|
||||||
@ -47,13 +40,12 @@ TOP = ..
|
|||||||
I.DEST = $(TOP)/include/GL
|
I.DEST = $(TOP)/include/GL
|
||||||
S.DEST = $(TOP)/src
|
S.DEST = $(TOP)/src
|
||||||
D.DEST = $(TOP)/doc
|
D.DEST = $(TOP)/doc
|
||||||
B.DEST = $(TOP)/build
|
B.DEST = $(TOP)/build/vc6
|
||||||
|
|
||||||
I.TARGETS = \
|
I.TARGETS = \
|
||||||
$(I.DEST)/glew.h \
|
$(I.DEST)/glew.h \
|
||||||
$(I.DEST)/wglew.h \
|
$(I.DEST)/wglew.h \
|
||||||
$(I.DEST)/glxew.h \
|
$(I.DEST)/glxew.h
|
||||||
$(I.DEST)/eglew.h
|
|
||||||
|
|
||||||
ifeq (yes,$(GLEW_SPLIT_SOURCE))
|
ifeq (yes,$(GLEW_SPLIT_SOURCE))
|
||||||
S.TARGETS = \
|
S.TARGETS = \
|
||||||
@ -72,7 +64,6 @@ D.TARGETS = \
|
|||||||
$(D.DEST)/install.html \
|
$(D.DEST)/install.html \
|
||||||
$(D.DEST)/basic.html \
|
$(D.DEST)/basic.html \
|
||||||
$(D.DEST)/advanced.html \
|
$(D.DEST)/advanced.html \
|
||||||
$(D.DEST)/build.html \
|
|
||||||
$(D.DEST)/credits.html \
|
$(D.DEST)/credits.html \
|
||||||
$(D.DEST)/log.html \
|
$(D.DEST)/log.html \
|
||||||
$(D.DEST)/glew.html \
|
$(D.DEST)/glew.html \
|
||||||
@ -86,55 +77,28 @@ B.TARGETS = \
|
|||||||
|
|
||||||
all custom: $(I.TARGETS) $(S.TARGETS) $(D.TARGETS) $(B.TARGETS)
|
all custom: $(I.TARGETS) $(S.TARGETS) $(D.TARGETS) $(B.TARGETS)
|
||||||
|
|
||||||
|
registry: $(REGISTRY)/.dummy
|
||||||
ext: $(EXT)/.dummy
|
ext: $(EXT)/.dummy
|
||||||
|
|
||||||
OpenGL-Registry/.dummy:
|
$(REGISTRY)/.dummy: $(BIN)/update_registry.sh
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
@echo "Downloading OpenGL-Registry"
|
@echo "Downloading registry"
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
git clone --depth=1 $(REPO_OPENGL) OpenGL-Registry
|
$(BIN)/update_registry.sh $(REGISTRY) $(REGISTRY_URL)
|
||||||
git clone --depth=1 --branch glew $(REPO_GLFIXES) glfixes
|
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
EGL-Registry/.dummy:
|
$(EXT)/.dummy: $(REGISTRY)/.dummy
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
@echo "Downloading EGL-Registry"
|
@echo "Creating descriptors"
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
git clone --depth=1 $(REPO_EGL) EGL-Registry
|
|
||||||
touch $@
|
|
||||||
|
|
||||||
$(EXT)/.dummy: OpenGL-Registry/.dummy EGL-Registry/.dummy
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
@echo "OpenGL descriptors"
|
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
rm -rf $(EXT)
|
rm -rf $(EXT)
|
||||||
cp -r glfixes/gl/specs/ANGLE OpenGL-Registry/extensions
|
$(BIN)/update_ext.sh $(EXT) $(REGISTRY) $(BLACKLIST)
|
||||||
cp -r glfixes/gl/specs/REGAL OpenGL-Registry/extensions
|
|
||||||
$(BIN)/update_ext.sh $(EXT) OpenGL-Registry/extensions $(BLACKLIST)
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
@echo "WGL descriptors"
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
rm -f $(EXT)/WGL_*
|
|
||||||
$(PYTHON) $(BIN)/parse_xml.py OpenGL-Registry/xml/wgl.xml --api wgl --extensions extensions/gl
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
@echo "GLX descriptors"
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
rm -f $(EXT)/GLX_*
|
|
||||||
$(PYTHON) $(BIN)/parse_xml.py OpenGL-Registry/xml/glx.xml --api glx --extensions extensions/gl
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
@echo "EGL descriptors"
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
$(PYTHON) $(BIN)/parse_xml.py EGL-Registry/api/egl.xml --api egl --extensions extensions/gl
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
@echo "filter descriptors"
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
$(BIN)/filter_gl_ext.sh $(EXT)
|
|
||||||
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
|
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
|
||||||
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
|
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
|
||||||
xargs -J % cp % $(EXT)
|
xargs -J % cp % $(EXT)
|
||||||
else
|
else
|
||||||
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
|
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
|
||||||
xargs -I % -n 1 cp % $(EXT)
|
xargs cp --target-directory=$(EXT)
|
||||||
endif
|
endif
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
@ -149,16 +113,16 @@ $(I.DEST)/glew.h: $(EXT)/.dummy
|
|||||||
cat $(SRC)/glew_head.h >> $@
|
cat $(SRC)/glew_head.h >> $@
|
||||||
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_header.pl GLAPIENTRY GL $(GL_EXT_SPEC) >> $@
|
||||||
echo -e "/* ------------------------------------------------------------------------- */\n\n" >> $@
|
echo -e "/* ------------------------------------------------------------------------- */\n\n#if defined(GLEW_MX) && defined(_WIN32)\n#define GLEW_FUN_EXPORT\n#else\n#define GLEW_FUN_EXPORT GLEWAPI\n#endif /* GLEW_MX */\n" >> $@
|
||||||
|
echo -e "#if defined(GLEW_MX)\n#define GLEW_VAR_EXPORT\n#else\n#define GLEW_VAR_EXPORT GLEWAPI\n#endif /* GLEW_MX */\n" >> $@
|
||||||
|
echo -e "#if defined(GLEW_MX) && defined(_WIN32)\nstruct GLEWContextStruct\n{\n#endif /* GLEW_MX */" >> $@
|
||||||
$(BIN)/make_struct_fun.pl GLEW_FUN_EXPORT $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_struct_fun.pl GLEW_FUN_EXPORT $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#if defined(GLEW_MX) && !defined(_WIN32)\nstruct GLEWContextStruct\n{\n#endif /* GLEW_MX */\n" >> $@
|
||||||
$(BIN)/make_struct_var.pl GLEW_VAR_EXPORT $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_struct_var.pl GLEW_VAR_EXPORT $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||||
perl -e "s/GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;/GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1;\nGLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;/" -pi $@
|
echo -e "\n#ifdef GLEW_MX\n}; /* GLEWContextStruct */\n#endif /* GLEW_MX */\n" >> $@
|
||||||
cat $(SRC)/glew_tail.h >> $@
|
perl -e 's/GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;/GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1;\nGLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;/' -pi $@
|
||||||
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
|
|
||||||
perl -e "s/GLEW_VERSION_MAJOR_STRING/$(GLEW_MAJOR)/g" -pi $@
|
|
||||||
perl -e "s/GLEW_VERSION_MINOR_STRING/$(GLEW_MINOR)/g" -pi $@
|
|
||||||
perl -e "s/GLEW_VERSION_MICRO_STRING/$(GLEW_MICRO)/g" -pi $@
|
|
||||||
rm -f $@.bak
|
rm -f $@.bak
|
||||||
|
cat $(SRC)/glew_tail.h >> $@
|
||||||
|
|
||||||
$(I.DEST)/wglew.h: $(EXT)/.dummy
|
$(I.DEST)/wglew.h: $(EXT)/.dummy
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
@ -168,9 +132,10 @@ $(I.DEST)/wglew.h: $(EXT)/.dummy
|
|||||||
cat $(SRC)/khronos_license.h >> $@
|
cat $(SRC)/khronos_license.h >> $@
|
||||||
cat $(SRC)/wglew_head.h >> $@
|
cat $(SRC)/wglew_head.h >> $@
|
||||||
$(BIN)/make_header.pl WINAPI WGL $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_header.pl WINAPI WGL $(WGL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/wglew_mid.h >> $@
|
echo -e "/* ------------------------------------------------------------------------- */\n\n#ifdef GLEW_MX\n#define WGLEW_EXPORT\n#else\n#define WGLEW_EXPORT GLEWAPI\n#endif /* GLEW_MX */\n\n#ifdef GLEW_MX\nstruct WGLEWContextStruct\n{\n#endif /* GLEW_MX */" >> $@
|
||||||
$(BIN)/make_struct_fun.pl WGLEW_FUN_EXPORT $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_struct_fun.pl WGLEW_EXPORT $(WGL_EXT_SPEC) >> $@
|
||||||
$(BIN)/make_struct_var.pl WGLEW_VAR_EXPORT $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_struct_var.pl WGLEW_EXPORT $(WGL_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#ifdef GLEW_MX\n}; /* WGLEWContextStruct */\n#endif /* GLEW_MX */\n" >> $@
|
||||||
cat $(SRC)/wglew_tail.h >> $@
|
cat $(SRC)/wglew_tail.h >> $@
|
||||||
|
|
||||||
$(I.DEST)/glxew.h: $(EXT)/.dummy
|
$(I.DEST)/glxew.h: $(EXT)/.dummy
|
||||||
@ -181,28 +146,16 @@ $(I.DEST)/glxew.h: $(EXT)/.dummy
|
|||||||
cat $(SRC)/mesa_license.h >> $@
|
cat $(SRC)/mesa_license.h >> $@
|
||||||
cat $(SRC)/khronos_license.h >> $@
|
cat $(SRC)/khronos_license.h >> $@
|
||||||
cat $(SRC)/glxew_head.h >> $@
|
cat $(SRC)/glxew_head.h >> $@
|
||||||
$(BIN)/make_header.pl "" GLX $(GLX_CORE_SPEC) >> $@
|
$(BIN)/make_header.pl '' GLX $(GLX_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_header.pl "" GLX $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_header.pl '' GLX $(GLX_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glxew_mid.h >> $@
|
echo -e "/* ------------------------------------------------------------------------- */\n\n#ifdef GLEW_MX\n#define GLXEW_EXPORT\n#else\n#define GLXEW_EXPORT extern\n#endif /* GLEW_MX */" >> $@
|
||||||
$(BIN)/make_struct_fun.pl GLXEW_FUN_EXPORT $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_struct_fun.pl extern $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
||||||
$(BIN)/make_struct_var.pl GLXEW_VAR_EXPORT $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
echo -e "\n#if defined(GLEW_MX)\nstruct GLXEWContextStruct\n{\n#endif /* GLEW_MX */\n" >> $@
|
||||||
perl -e "s/GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;/GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_0;\nGLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_1;\nGLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;/" -pi $@
|
$(BIN)/make_struct_var.pl GLXEW_EXPORT $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#ifdef GLEW_MX\n}; /* GLXEWContextStruct */\n#endif /* GLEW_MX */\n" >> $@
|
||||||
|
perl -e 's/GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;/GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0;\nGLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1;\nGLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;/' -pi $@
|
||||||
cat $(SRC)/glxew_tail.h >> $@
|
cat $(SRC)/glxew_tail.h >> $@
|
||||||
|
$(BIN)/fix_OML_sync_control.sh $@
|
||||||
$(I.DEST)/eglew.h: $(EXT)/.dummy
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
@echo "Creating eglew.h"
|
|
||||||
@echo "--------------------------------------------------------------------"
|
|
||||||
cp -f $(SRC)/glew_license.h $@
|
|
||||||
cat $(SRC)/mesa_license.h >> $@
|
|
||||||
cat $(SRC)/khronos_license.h >> $@
|
|
||||||
cat $(SRC)/eglew_head.h >> $@
|
|
||||||
$(BIN)/make_header.pl "" EGL $(EGL_CORE_SPEC) >> $@
|
|
||||||
$(BIN)/make_header.pl "" EGL $(EGL_EXT_SPEC) >> $@
|
|
||||||
cat $(SRC)/eglew_mid.h >> $@
|
|
||||||
$(BIN)/make_struct_fun.pl EGLEW_FUN_EXPORT $(EGL_CORE_SPEC) $(EGL_EXT_SPEC) >> $@
|
|
||||||
$(BIN)/make_struct_var.pl EGLEW_VAR_EXPORT $(EGL_CORE_SPEC) $(EGL_EXT_SPEC) >> $@
|
|
||||||
cat $(SRC)/eglew_tail.h >> $@
|
|
||||||
|
|
||||||
$(S.DEST)/glew.c: $(EXT)/.dummy
|
$(S.DEST)/glew.c: $(EXT)/.dummy
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
@ -210,58 +163,46 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
|
|||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
cp -f $(SRC)/glew_license.h $@
|
cp -f $(SRC)/glew_license.h $@
|
||||||
cat $(SRC)/glew_head.c >> $@
|
cat $(SRC)/glew_head.c >> $@
|
||||||
|
echo -e "\n#if !defined(_WIN32) || !defined(GLEW_MX)" >> $@
|
||||||
$(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_def_fun.pl GL $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_def_fun.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#endif /* !WIN32 || !GLEW_MX */" >> $@
|
||||||
|
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
||||||
echo -e "\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@
|
echo -e "\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@
|
||||||
$(BIN)/make_def_var.pl GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_def_var.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
echo -e "\nstatic const char * _glewExtensionLookup[] = {" >> $@;
|
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
||||||
$(BIN)/make_index.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
|
||||||
echo -e " NULL\n};\n\n" >> $@;
|
|
||||||
$(BIN)/make_enable_index.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
|
||||||
$(BIN)/make_initd.pl GL $(GL_CORE_SPEC) >> $@
|
|
||||||
$(BIN)/make_initd.pl GL $(GL_EXT_SPEC) >> $@
|
|
||||||
echo -e "" >> $@;
|
|
||||||
$(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glew_init_gl.c >> $@
|
cat $(SRC)/glew_init_gl.c >> $@
|
||||||
$(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@
|
$(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@
|
||||||
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
|
||||||
$(BIN)/make_list2.pl $(GL_EXT_SPEC) >> $@
|
|
||||||
echo -e "\n return GLEW_OK;\n}\n" >> $@
|
echo -e "\n return GLEW_OK;\n}\n" >> $@
|
||||||
echo -e "\n#if defined(GLEW_OSMESA)" >> $@
|
echo -e "\n#if defined(_WIN32)" >> $@
|
||||||
echo -e "\n#elif defined(GLEW_EGL)" >> $@
|
echo -e "\n#if !defined(GLEW_MX)" >> $@
|
||||||
$(BIN)/make_def_fun.pl EGL $(EGL_CORE_SPEC) >> $@
|
|
||||||
$(BIN)/make_def_fun.pl EGL $(EGL_EXT_SPEC) >> $@
|
|
||||||
$(BIN)/make_def_var.pl EGL $(EGL_CORE_SPEC) >> $@
|
|
||||||
$(BIN)/make_def_var.pl EGL $(EGL_EXT_SPEC) >> $@
|
|
||||||
$(BIN)/make_init.pl EGL $(EGL_CORE_SPEC) >> $@
|
|
||||||
$(BIN)/make_init.pl EGL $(EGL_EXT_SPEC) >> $@
|
|
||||||
cat $(SRC)/glew_init_egl.c >> $@
|
|
||||||
$(BIN)/make_list.pl $(EGL_CORE_SPEC) >> $@
|
|
||||||
$(BIN)/make_list.pl $(EGL_EXT_SPEC) >> $@
|
|
||||||
echo -e "\n return GLEW_OK;\n}" >> $@
|
|
||||||
echo -e "\n#elif defined(_WIN32)" >> $@
|
|
||||||
$(BIN)/make_def_fun.pl WGL $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_def_fun.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||||
$(BIN)/make_def_var.pl WGL $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_def_var.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
||||||
$(BIN)/make_init.pl WGL $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_init.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glew_init_wgl.c >> $@
|
cat $(SRC)/glew_init_wgl.c >> $@
|
||||||
$(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@
|
||||||
echo -e "\n return GLEW_OK;\n}" >> $@;
|
echo -e "\n return GLEW_OK;\n}" >> $@;
|
||||||
echo -e "\n#elif !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))" >> $@
|
echo -e "\n#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)" >> $@
|
||||||
$(BIN)/make_def_fun.pl GLX $(GLX_CORE_SPEC) >> $@
|
$(BIN)/make_def_fun.pl GLX $(GLX_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_def_fun.pl GLX $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_def_fun.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
||||||
echo -e "\nGLboolean __GLXEW_VERSION_1_0 = GL_FALSE;" >> $@
|
echo -e "\nGLboolean __GLXEW_VERSION_1_0 = GL_FALSE;" >> $@
|
||||||
echo -e "GLboolean __GLXEW_VERSION_1_1 = GL_FALSE;" >> $@
|
echo -e "GLboolean __GLXEW_VERSION_1_1 = GL_FALSE;" >> $@
|
||||||
$(BIN)/make_def_var.pl GLX $(GLX_CORE_SPEC) >> $@
|
$(BIN)/make_def_var.pl GLX $(GLX_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_def_var.pl GLX $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_def_var.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
||||||
$(BIN)/make_init.pl GLX $(GLX_CORE_SPEC) >> $@
|
$(BIN)/make_init.pl GLX $(GLX_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_init.pl GLX $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_init.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glew_init_glx.c >> $@
|
cat $(SRC)/glew_init_glx.c >> $@
|
||||||
$(BIN)/make_list.pl $(CORE)/GLX_VERSION_1_3 | grep -v '\"GLX_VERSION' >> $@
|
$(BIN)/make_list.pl $(CORE)/GLX_VERSION_1_3 | grep -v '\"GLX_VERSION' >> $@
|
||||||
$(BIN)/make_list.pl $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_list.pl $(GLX_EXT_SPEC) >> $@
|
||||||
echo -e "\n return GLEW_OK;\n}" >> $@
|
echo -e "\n return GLEW_OK;\n}" >> $@
|
||||||
echo -e "\n#endif /* !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) */\n" >> $@;
|
echo -e "\n#endif /* !__APPLE__ || GLEW_APPLE_GLX */\n" >> $@;
|
||||||
cat $(SRC)/glew_init_tail.c >> $@
|
cat $(SRC)/glew_init_tail.c >> $@
|
||||||
cat $(SRC)/glew_str_head.c >> $@
|
cat $(SRC)/glew_str_head.c >> $@
|
||||||
$(BIN)/make_str.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_str.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||||
@ -269,15 +210,85 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
|
|||||||
$(BIN)/make_str.pl $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_str.pl $(WGL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glew_str_glx.c >> $@
|
cat $(SRC)/glew_str_glx.c >> $@
|
||||||
$(BIN)/make_str.pl $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_str.pl $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glew_str_egl.c >> $@
|
|
||||||
$(BIN)/make_str.pl $(EGL_CORE_SPEC) $(EGL_EXT_SPEC) >> $@
|
|
||||||
cat $(SRC)/glew_str_tail.c >> $@
|
cat $(SRC)/glew_str_tail.c >> $@
|
||||||
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
|
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
|
||||||
perl -e "s/GLEW_VERSION_MAJOR_STRING/$(GLEW_MAJOR)/g" -pi $@
|
perl -e "s/GLEW_VERSION_MAJOR_STRING/$(GLEW_MAJOR)/g" -pi $@
|
||||||
perl -e "s/GLEW_VERSION_MINOR_STRING/$(GLEW_MINOR)/g" -pi $@
|
perl -e "s/GLEW_VERSION_MINOR_STRING/$(GLEW_MINOR)/g" -pi $@
|
||||||
perl -e "s/GLEW_VERSION_MICRO_STRING/$(GLEW_MICRO)/g" -pi $@
|
perl -e "s/GLEW_VERSION_MICRO_STRING/$(GLEW_MICRO)/g" -pi $@
|
||||||
perl -e "s/GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader\(\);/{ GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader(); _glewInit_GL_ARB_vertex_program(); }/g" -pi $@
|
perl -e "s/GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader\(GLEW_CONTEXT_ARG_VAR_INIT\);/{ GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT); _glewInit_GL_ARB_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT); }/g" -pi $@
|
||||||
perl -e "s/\(\(glColorSubTable = /((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)\"glBlendEquation\")) == NULL) || r;\n r = ((glColorSubTable = /g" -pi $@
|
perl -e "s/\(\(glColorSubTable = /((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)\"glBlendEquation\")) == NULL) || r;\n r = ((glColorSubTable = /g" -pi $@
|
||||||
|
$(BIN)/fix_OML_sync_control.sh $@
|
||||||
|
rm -f $@.bak
|
||||||
|
|
||||||
|
$(S.DEST)/glew_def.c: $(EXT)/.dummy
|
||||||
|
cp -f $(SRC)/glew_license.h $@
|
||||||
|
echo -e "#include \"glew_utils.h\"\n\n#if !defined(_WIN32) || !defined(GLEW_MX)" >> $@
|
||||||
|
$(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
|
$(BIN)/make_def_fun.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#endif /* !WIN32 || !GLEW_MX */" >> $@
|
||||||
|
echo -e "\n#if !defined(GLEW_MX)\n\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@
|
||||||
|
$(BIN)/make_def_var.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
|
$(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#if defined(_WIN32)" >> $@
|
||||||
|
$(BIN)/make_def_fun.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||||
|
$(BIN)/make_def_var.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#endif /* _WIN32 */" >> $@
|
||||||
|
echo -e "\n#endif /* !GLEW_MX */" >> $@;
|
||||||
|
echo -e "\n#if !defined(_WIN32) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))" >> $@
|
||||||
|
$(BIN)/make_def_fun.pl GLX $(GLX_CORE_SPEC) >> $@
|
||||||
|
$(BIN)/make_def_fun.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
||||||
|
echo -e "\nGLboolean __GLXEW_VERSION_1_0 = GL_FALSE;" >> $@
|
||||||
|
echo -e "GLboolean __GLXEW_VERSION_1_1 = GL_FALSE;" >> $@
|
||||||
|
$(BIN)/make_def_var.pl GLX $(GLX_CORE_SPEC) >> $@
|
||||||
|
$(BIN)/make_def_var.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n#endif /* !GLEW_MX */" >> $@;
|
||||||
|
echo -e "\n#endif /* !__APPLE__ || GLEW_APPLE_GLX */" >> $@;
|
||||||
|
rm -f $@.bak
|
||||||
|
|
||||||
|
$(S.DEST)/glew_init.c: $(EXT)/.dummy
|
||||||
|
cp -f $(SRC)/glew_license.h $@
|
||||||
|
echo -e "#include \"glew_utils.h\"\n" >> $@
|
||||||
|
$(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
|
$(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
|
cat $(SRC)/glew_init_gl.c >> $@
|
||||||
|
$(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@
|
||||||
|
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n return GLEW_OK;\n}\n\n#if defined(_WIN32)\n" >> $@;
|
||||||
|
$(BIN)/make_init.pl WGL $(WGL_EXT_SPEC) >> $@
|
||||||
|
cat $(SRC)/glew_init_wgl.c >> $@
|
||||||
|
$(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n return GLEW_OK;\n}\n\n" >> $@;
|
||||||
|
echo -e "\n#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)\n" >> $@
|
||||||
|
$(BIN)/make_init.pl GLX $(GLX_CORE_SPEC) >> $@
|
||||||
|
$(BIN)/make_init.pl GLX $(GLX_EXT_SPEC) >> $@
|
||||||
|
cat $(SRC)/glew_init_glx.c >> $@
|
||||||
|
$(BIN)/make_list.pl $(CORE)/GLX_VERSION_1_3 | grep -v '\"GLX_VERSION' >> $@
|
||||||
|
$(BIN)/make_list.pl $(GLX_EXT_SPEC) >> $@
|
||||||
|
echo -e "\n return GLEW_OK;\n}\n\n#endif /* !__APPLE__ || GLEW_APPLE_GLX */\n" >> $@;
|
||||||
|
cat $(SRC)/glew_init_tail.c >> $@
|
||||||
|
perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
|
||||||
|
perl -e "s/GLEW_VERSION_MAJOR_STRING/$(GLEW_MAJOR)/g" -pi $@
|
||||||
|
perl -e "s/GLEW_VERSION_MINOR_STRING/$(GLEW_MINOR)/g" -pi $@
|
||||||
|
perl -e "s/GLEW_VERSION_MICRO_STRING/$(GLEW_MICRO)/g" -pi $@
|
||||||
|
perl -e "s/GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader\(GLEW_CONTEXT_ARG_VAR_INIT\);/{ GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT); _glewInit_GL_ARB_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT); }/g" -pi $@
|
||||||
|
perl -e "s/\(\(glBlendColor = /((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)\"glBlendEquation\")) == NULL) || r;\n r = ((glBlendColor = /g" -pi $@
|
||||||
|
$(BIN)/fix_OML_sync_control.sh $@
|
||||||
|
rm -f $@.bak
|
||||||
|
|
||||||
|
$(S.DEST)/glew_str.c: $(EXT)/.dummy
|
||||||
|
cp -f $(SRC)/glew_license.h $@
|
||||||
|
echo -e "\n#include \"glew_utils.h\"\n" >> $@
|
||||||
|
cat $(SRC)/glew_str_head.c >> $@
|
||||||
|
$(BIN)/make_str.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||||
|
cat $(SRC)/glew_str_wgl.c >> $@
|
||||||
|
$(BIN)/make_str.pl $(WGL_EXT_SPEC) >> $@
|
||||||
|
cat $(SRC)/glew_str_glx.c >> $@
|
||||||
|
$(BIN)/make_str.pl $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@
|
||||||
|
cat $(SRC)/glew_str_tail.c >> $@
|
||||||
|
# $(BIN)/fix_OML_sync_control.sh $@
|
||||||
|
# perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@
|
||||||
|
# perl -e "s/GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader\(GLEW_CONTEXT_ARG_VAR_INIT\);/{ GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT); _glewInit_GL_ARB_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT); }/g" -pi $@
|
||||||
rm -f $@.bak
|
rm -f $@.bak
|
||||||
|
|
||||||
$(S.DEST)/glewinfo.c: $(EXT)/.dummy
|
$(S.DEST)/glewinfo.c: $(EXT)/.dummy
|
||||||
@ -288,10 +299,7 @@ $(S.DEST)/glewinfo.c: $(EXT)/.dummy
|
|||||||
cat $(SRC)/glewinfo_head.c >> $@
|
cat $(SRC)/glewinfo_head.c >> $@
|
||||||
$(BIN)/make_info.pl $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_info.pl $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_info.pl $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_info.pl $(GL_EXT_SPEC) >> $@
|
||||||
echo -e "#if defined(GLEW_EGL)\n" >> $@
|
echo -e "#ifdef _WIN32\n" >> $@
|
||||||
$(BIN)/make_info.pl $(EGL_CORE_SPEC) >> $@
|
|
||||||
$(BIN)/make_info.pl $(EGL_EXT_SPEC) >> $@
|
|
||||||
echo -e "#elif _WIN32\n" >> $@
|
|
||||||
$(BIN)/make_info.pl $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_info.pl $(WGL_EXT_SPEC) >> $@
|
||||||
echo -e "#else /* _UNIX */\n" >> $@
|
echo -e "#else /* _UNIX */\n" >> $@
|
||||||
$(BIN)/make_info.pl $(GLX_CORE_SPEC) >> $@
|
$(BIN)/make_info.pl $(GLX_CORE_SPEC) >> $@
|
||||||
@ -306,11 +314,9 @@ $(S.DEST)/glewinfo.c: $(EXT)/.dummy
|
|||||||
cat $(SRC)/glewinfo_glx.c >> $@
|
cat $(SRC)/glewinfo_glx.c >> $@
|
||||||
$(BIN)/make_info_list.pl $(GLX_CORE_SPEC) >> $@
|
$(BIN)/make_info_list.pl $(GLX_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_info_list.pl $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_info_list.pl $(GLX_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/glewinfo_egl.c >> $@
|
|
||||||
$(BIN)/make_info_list.pl $(EGL_CORE_SPEC) >> $@
|
|
||||||
$(BIN)/make_info_list.pl $(EGL_EXT_SPEC) >> $@
|
|
||||||
cat $(SRC)/glewinfo_tail.c >> $@
|
cat $(SRC)/glewinfo_tail.c >> $@
|
||||||
perl -e 's/"glColorSubTable"/"glBlendEquation", glBlendEquation == NULL);\n glewInfoFunc(fi, "glColorSubTable"/g' -pi $@
|
$(BIN)/fix_OML_sync_control.sh $@
|
||||||
|
perl -e 's/"glColorSubTable"/"glBlendEquation", glBlendEquation == NULL);\n glewInfoFunc("glColorSubTable"/g' -pi $@
|
||||||
rm -f $@.bak
|
rm -f $@.bak
|
||||||
|
|
||||||
# Update documentation
|
# Update documentation
|
||||||
@ -320,7 +326,7 @@ $(D.DEST)/%.html: doc/%.html
|
|||||||
@echo "Creating $(@F)"
|
@echo "Creating $(@F)"
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
cat $(SRC)/header.html $< $(SRC)/footer.html | \
|
cat $(SRC)/header.html $< $(SRC)/footer.html | \
|
||||||
perl -pe 's#<a href="$(@F)">(.*)</a>#\1#' > $@
|
sed 's#<a href="$(@F)">\(.*\)</a>#\1#' > $@
|
||||||
|
|
||||||
$(D.DEST)/glew.html: $(EXT)/.dummy
|
$(D.DEST)/glew.html: $(EXT)/.dummy
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
@ -330,7 +336,7 @@ $(D.DEST)/glew.html: $(EXT)/.dummy
|
|||||||
echo -e "<h2>Supported OpenGL Extensions</h2>\n" >> $@
|
echo -e "<h2>Supported OpenGL Extensions</h2>\n" >> $@
|
||||||
$(BIN)/make_html.pl $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_html.pl $(GL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/footer.html >> $@
|
cat $(SRC)/footer.html >> $@
|
||||||
perl -i -pe 's#<a href="$(@F)">(.*)</a>#\1#' $@
|
sed -i 's#<a href="$(@F)">\(.*\)</a>#\1#' $@
|
||||||
|
|
||||||
$(D.DEST)/wglew.html: $(EXT)/.dummy
|
$(D.DEST)/wglew.html: $(EXT)/.dummy
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
@ -340,7 +346,7 @@ $(D.DEST)/wglew.html: $(EXT)/.dummy
|
|||||||
echo -e "<h2>Supported WGL Extensions</h2>\n" >> $@
|
echo -e "<h2>Supported WGL Extensions</h2>\n" >> $@
|
||||||
$(BIN)/make_html.pl $(WGL_EXT_SPEC) >> $@
|
$(BIN)/make_html.pl $(WGL_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/footer.html >> $@
|
cat $(SRC)/footer.html >> $@
|
||||||
perl -i -pe 's#<a href="$(@F)">(.*)</a>#\1#' $@
|
sed -i 's#<a href="$(@F)">\(.*\)</a>#\1#' $@
|
||||||
|
|
||||||
$(D.DEST)/glxew.html: $(EXT)/.dummy
|
$(D.DEST)/glxew.html: $(EXT)/.dummy
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
@ -350,7 +356,7 @@ $(D.DEST)/glxew.html: $(EXT)/.dummy
|
|||||||
echo -e "<h2>Supported GLX Extensions</h2>\n" >> $@
|
echo -e "<h2>Supported GLX Extensions</h2>\n" >> $@
|
||||||
$(BIN)/make_html.pl $(GLX_EXT_SPEC) >> $@
|
$(BIN)/make_html.pl $(GLX_EXT_SPEC) >> $@
|
||||||
cat $(SRC)/footer.html >> $@
|
cat $(SRC)/footer.html >> $@
|
||||||
perl -i -pe 's#<a href="$(@F)">(.*)</a>#\1#' $@
|
sed -i 's#<a href="$(@F)">\(.*\)</a>#\1#' $@
|
||||||
|
|
||||||
$(B.DEST)/%.rc: src/%.rc $(EXT)/.dummy
|
$(B.DEST)/%.rc: src/%.rc $(EXT)/.dummy
|
||||||
perl -e "s/GLEW_MAJOR/$(GLEW_MAJOR)/g;s/GLEW_MINOR/$(GLEW_MINOR)/g;s/GLEW_MICRO/$(GLEW_MICRO)/g;" -p $< > $@
|
perl -e "s/GLEW_MAJOR/$(GLEW_MAJOR)/g;s/GLEW_MINOR/$(GLEW_MINOR)/g;s/GLEW_MICRO/$(GLEW_MICRO)/g;" -p $< > $@
|
||||||
@ -362,4 +368,4 @@ clobber: clean
|
|||||||
rm -rf $(EXT)
|
rm -rf $(EXT)
|
||||||
|
|
||||||
destroy: clobber
|
destroy: clobber
|
||||||
rm -rf registry
|
rm -rf $(REGISTRY)
|
||||||
|
@ -1,614 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
##
|
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
|
||||||
##
|
|
||||||
## This program is distributed under the terms and conditions of the GNU
|
|
||||||
## General Public License Version 2 as published by the Free Software
|
|
||||||
## Foundation or, at your option, any later version.
|
|
||||||
##
|
|
||||||
## Parameters:
|
|
||||||
##
|
|
||||||
## $1: Extensions directory
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# fix GL_NV_texture_compression_vtc
|
|
||||||
grep -v EXT $1/GL_NV_texture_compression_vtc > tmp
|
|
||||||
mv tmp $1/GL_NV_texture_compression_vtc
|
|
||||||
|
|
||||||
# remove duplicates from GL_ARB_vertex_program and GL_ARB_fragment_program
|
|
||||||
tail -n +5 $1/GL_ARB_vertex_program > patterns
|
|
||||||
grep -v -F -f patterns $1/GL_ARB_fragment_program > tmp
|
|
||||||
mv tmp $1/GL_ARB_fragment_program
|
|
||||||
|
|
||||||
# remove duplicates from GLX_EXT_visual_rating and GLX_EXT_visual_info
|
|
||||||
tail -n +5 $1/GLX_EXT_visual_info > patterns
|
|
||||||
grep -v -F -f patterns $1/GLX_EXT_visual_rating > tmp
|
|
||||||
mv tmp $1/GLX_EXT_visual_rating
|
|
||||||
|
|
||||||
# GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetBooleanIndexedvEXT but with different parameter names
|
|
||||||
grep -v glGetBooleanIndexedvEXT $1/GL_EXT_transform_feedback > tmp
|
|
||||||
mv tmp $1/GL_EXT_transform_feedback
|
|
||||||
|
|
||||||
# GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetIntegerIndexedvEXT but with different parameter names
|
|
||||||
grep -v glGetIntegerIndexedvEXT $1/GL_EXT_transform_feedback > tmp
|
|
||||||
mv tmp $1/GL_EXT_transform_feedback
|
|
||||||
|
|
||||||
# remove duplicates from GL_NV_video_capture and GLX_NV_video_capture
|
|
||||||
grep -v glX $1/GL_NV_video_capture > tmp
|
|
||||||
mv tmp $1/GL_NV_video_capture
|
|
||||||
|
|
||||||
# add missing functions to GL_NV_video_capture
|
|
||||||
cat >> $1/GL_NV_video_capture <<EOT
|
|
||||||
void glGetVideoCaptureStreamivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint* params)
|
|
||||||
void glGetVideoCaptureStreamfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat* params)
|
|
||||||
void glGetVideoCaptureStreamdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble* params)
|
|
||||||
void glVideoCaptureStreamParameterivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint* params)
|
|
||||||
void glVideoCaptureStreamParameterfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat* params)
|
|
||||||
void glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble* params)
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# fix WGL_NV_video_capture
|
|
||||||
cat >> $1/WGL_NV_video_capture <<EOT
|
|
||||||
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# fix GLX_NV_video_capture
|
|
||||||
cat >> $1/GLX_NV_video_capture <<EOT
|
|
||||||
typedef XID GLXVideoCaptureDeviceNV
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# remove duplicates from GL_NV_present_video and GLX_NV_present_video
|
|
||||||
tail -n +5 $1/GLX_NV_present_video > patterns
|
|
||||||
grep -v -F -f patterns $1/GL_NV_present_video > tmp
|
|
||||||
mv tmp $1/GL_NV_present_video
|
|
||||||
|
|
||||||
# fix WGL_NV_present_video
|
|
||||||
cat >> $1/WGL_NV_present_video <<EOT
|
|
||||||
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# fix WGL_NV_video_output
|
|
||||||
cat >> $1/WGL_NV_video_output <<EOT
|
|
||||||
DECLARE_HANDLE(HPVIDEODEV);
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# fix GL_NV_occlusion_query and GL_HP_occlusion_test
|
|
||||||
grep -v '_HP' $1/GL_NV_occlusion_query > tmp
|
|
||||||
mv tmp $1/GL_NV_occlusion_query
|
|
||||||
|
|
||||||
# add deprecated constants to GL_ATI_fragment_shader
|
|
||||||
cat >> $1/GL_ATI_fragment_shader <<EOT
|
|
||||||
GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
|
|
||||||
GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
|
|
||||||
GL_NUM_PASSES_ATI 0x8970
|
|
||||||
GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
|
|
||||||
GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
|
|
||||||
GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
|
|
||||||
GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
|
|
||||||
GL_COLOR_ALPHA_PAIRING_ATI 0x8975
|
|
||||||
GL_SWIZZLE_STRQ_ATI 0x897A
|
|
||||||
GL_SWIZZLE_STRQ_DQ_ATI 0x897B
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add deprecated constants to GL_NV_texture_shader
|
|
||||||
cat >> $1/GL_NV_texture_shader <<EOT
|
|
||||||
GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1
|
|
||||||
GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3
|
|
||||||
GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# fix WGL_ATI_pixel_format_float
|
|
||||||
cat >> $1/WGL_ATI_pixel_format_float <<EOT
|
|
||||||
GL_RGBA_FLOAT_MODE_ATI 0x8820
|
|
||||||
GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# fix WGL_ARB_make_current_read
|
|
||||||
cat >> $1/WGL_ARB_make_current_read <<EOT
|
|
||||||
ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
|
|
||||||
ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# fix WGL_EXT_make_current_read
|
|
||||||
cat >> $1/WGL_EXT_make_current_read <<EOT
|
|
||||||
ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add typedefs to GL_ARB_vertex_buffer_object; (from personal communication
|
|
||||||
# with Marco Fabbricatore).
|
|
||||||
#
|
|
||||||
# Rationale. The spec says:
|
|
||||||
#
|
|
||||||
# "Both types are defined as signed integers large enough to contain
|
|
||||||
# any pointer value [...] The idea of making these types unsigned was
|
|
||||||
# considered, but was ultimately rejected ..."
|
|
||||||
cat >> $1/GL_ARB_vertex_buffer_object <<EOT
|
|
||||||
typedef ptrdiff_t GLsizeiptrARB
|
|
||||||
typedef ptrdiff_t GLintptrARB
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add typedefs to GLX_EXT_import_context
|
|
||||||
cat >> $1/GLX_EXT_import_context <<EOT
|
|
||||||
typedef XID GLXContextID
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add tokens to GLX_OML_swap_method
|
|
||||||
cat >> $1/GLX_OML_swap_method <<EOT
|
|
||||||
GLX_SWAP_EXCHANGE_OML 0x8061
|
|
||||||
GLX_SWAP_COPY_OML 0x8062
|
|
||||||
GLX_SWAP_UNDEFINED_OML 0x8063
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add typedefs to GLX_SGIX_fbconfig
|
|
||||||
cat >> $1/GLX_SGIX_fbconfig <<EOT
|
|
||||||
typedef XID GLXFBConfigIDSGIX
|
|
||||||
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# Skip GLX_SGIX_dmbuffer and GLX_SGIX_video_source
|
|
||||||
# unknown DMparams, DMbuffer, etc
|
|
||||||
rm -f $1/GLX_SGIX_dmbuffer
|
|
||||||
rm -f $1/GLX_SGIX_video_source
|
|
||||||
|
|
||||||
# add typedefs to GLX_SGIX_pbuffer
|
|
||||||
cat >> $1/GLX_SGIX_pbuffer <<EOT
|
|
||||||
typedef XID GLXPbufferSGIX
|
|
||||||
typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add typedef to GL_NV_half_float
|
|
||||||
cat >> $1/GL_NV_half_float <<EOT
|
|
||||||
typedef unsigned short GLhalf
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add handle to WGL_ARB_pbuffer
|
|
||||||
cat >> $1/WGL_ARB_pbuffer <<EOT
|
|
||||||
DECLARE_HANDLE(HPBUFFERARB);
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add handle to WGL_EXT_pbuffer
|
|
||||||
cat >> $1/WGL_EXT_pbuffer <<EOT
|
|
||||||
DECLARE_HANDLE(HPBUFFEREXT);
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# get rid of GL_SUN_multi_draw_arrays
|
|
||||||
rm -f $1/GL_SUN_multi_draw_arrays
|
|
||||||
|
|
||||||
# change variable names in GL_ARB_vertex_shader
|
|
||||||
perl -e 's/v0/x/g' -pi $1/GL_ARB_vertex_shader
|
|
||||||
perl -e 's/v1/y/g' -pi $1/GL_ARB_vertex_shader
|
|
||||||
perl -e 's/v2/z/g' -pi $1/GL_ARB_vertex_shader
|
|
||||||
perl -e 's/v3/w/g' -pi $1/GL_ARB_vertex_shader
|
|
||||||
|
|
||||||
# remove triplicates in GL_ARB_shader_objects, GL_ARB_fragment_shader,
|
|
||||||
# and GL_ARB_vertex_shader
|
|
||||||
tail -n +5 $1/GL_ARB_shader_objects > patterns
|
|
||||||
grep -v -F -f patterns $1/GL_ARB_fragment_shader > tmp
|
|
||||||
mv tmp $1/GL_ARB_fragment_shader
|
|
||||||
grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp
|
|
||||||
mv tmp $1/GL_ARB_vertex_shader
|
|
||||||
|
|
||||||
# remove duplicates in GL_ARB_vertex_program and GL_ARB_vertex_shader
|
|
||||||
tail -n +5 $1/GL_ARB_vertex_program > patterns
|
|
||||||
grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp
|
|
||||||
mv tmp $1/GL_ARB_vertex_shader
|
|
||||||
|
|
||||||
# remove triplicates in GL_ARB_fragment_program, GL_ARB_fragment_shader,
|
|
||||||
# and GL_ARB_vertex_shader
|
|
||||||
tail -n +5 $1/GL_ARB_fragment_program > patterns
|
|
||||||
grep -v -F -f patterns $1/GL_ARB_fragment_shader > tmp
|
|
||||||
mv tmp $1/GL_ARB_fragment_shader
|
|
||||||
grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp
|
|
||||||
mv tmp $1/GL_ARB_vertex_shader
|
|
||||||
|
|
||||||
# remove duplicates in GL_EXT_direct_state_access
|
|
||||||
grep -v "glGetBooleanIndexedvEXT" $1/GL_EXT_direct_state_access > tmp
|
|
||||||
mv tmp $1/GL_EXT_direct_state_access
|
|
||||||
grep -v "glGetIntegerIndexedvEXT" $1/GL_EXT_direct_state_access > tmp
|
|
||||||
mv tmp $1/GL_EXT_direct_state_access
|
|
||||||
grep -v "glDisableIndexedEXT" $1/GL_EXT_direct_state_access > tmp
|
|
||||||
mv tmp $1/GL_EXT_direct_state_access
|
|
||||||
grep -v "glEnableIndexedEXT" $1/GL_EXT_direct_state_access > tmp
|
|
||||||
mv tmp $1/GL_EXT_direct_state_access
|
|
||||||
grep -v "glIsEnabledIndexedEXT" $1/GL_EXT_direct_state_access > tmp
|
|
||||||
mv tmp $1/GL_EXT_direct_state_access
|
|
||||||
|
|
||||||
# remove duplicates in GL_NV_explicit_multisample
|
|
||||||
grep -v "glGetBooleanIndexedvEXT" $1/GL_NV_explicit_multisample > tmp
|
|
||||||
mv tmp $1/GL_NV_explicit_multisample
|
|
||||||
grep -v "glGetIntegerIndexedvEXT" $1/GL_NV_explicit_multisample > tmp
|
|
||||||
mv tmp $1/GL_NV_explicit_multisample
|
|
||||||
|
|
||||||
# fix bugs in GL_ARB_vertex_shader
|
|
||||||
grep -v "GL_FLOAT" $1/GL_ARB_vertex_shader > tmp
|
|
||||||
mv tmp $1/GL_ARB_vertex_shader
|
|
||||||
perl -e 's/handle /GLhandleARB /g' -pi $1/GL_ARB_vertex_shader
|
|
||||||
|
|
||||||
# fix bugs in GL_ARB_shader_objects
|
|
||||||
grep -v "GL_FLOAT " $1/GL_ARB_shader_objects > tmp
|
|
||||||
mv tmp $1/GL_ARB_shader_objects
|
|
||||||
grep -v "GL_INT " $1/GL_ARB_shader_objects > tmp
|
|
||||||
mv tmp $1/GL_ARB_shader_objects
|
|
||||||
|
|
||||||
# add typedefs to GL_ARB_shader_objects
|
|
||||||
cat >> $1/GL_ARB_shader_objects <<EOT
|
|
||||||
typedef char GLcharARB
|
|
||||||
typedef unsigned int GLhandleARB
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add missing functions to GL_ARB_transpose_matrix
|
|
||||||
cat >> $1/GL_ARB_transpose_matrix <<EOT
|
|
||||||
void glLoadTransposeMatrixfARB (GLfloat m[16])
|
|
||||||
void glLoadTransposeMatrixdARB (GLdouble m[16])
|
|
||||||
void glMultTransposeMatrixfARB (GLfloat m[16])
|
|
||||||
void glMultTransposeMatrixdARB (GLdouble m[16])
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add missing tokens to GL_EXT_framebuffer_multisample
|
|
||||||
cat >> $1/GL_EXT_framebuffer_multisample <<EOT
|
|
||||||
GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
|
|
||||||
GL_MAX_SAMPLES_EXT 0x8D57
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# Filter out GL_NV_gpu_program_fp64 enums and functions
|
|
||||||
head -n4 $1/GL_NV_gpu_program_fp64 > tmp
|
|
||||||
mv tmp $1/GL_NV_gpu_program_fp64
|
|
||||||
|
|
||||||
# Filter glGetUniformui64vNV from GL_NV_shader_buffer_load
|
|
||||||
grep -v "glGetUniformui64vNV" $1/GL_NV_shader_buffer_load > tmp
|
|
||||||
mv tmp $1/GL_NV_shader_buffer_load
|
|
||||||
|
|
||||||
# Filter out profile enumerations from GLX_ARB_create_context
|
|
||||||
grep -v "_PROFILE_" $1/GLX_ARB_create_context > tmp
|
|
||||||
mv tmp $1/GLX_ARB_create_context
|
|
||||||
|
|
||||||
# Filter only profile related enumerations for GLX_ARB_create_context_profile
|
|
||||||
head -n4 $1/GLX_ARB_create_context_profile > tmp
|
|
||||||
grep "_PROFILE_" $1/GLX_ARB_create_context_profile >> tmp
|
|
||||||
mv tmp $1/GLX_ARB_create_context_profile
|
|
||||||
|
|
||||||
# Filter out profile enumerations from WGL_ARB_create_context
|
|
||||||
grep -v "_PROFILE_" $1/WGL_ARB_create_context > tmp
|
|
||||||
mv tmp $1/WGL_ARB_create_context
|
|
||||||
|
|
||||||
# Filter only profile related enumerations for WGL_ARB_create_context_profile
|
|
||||||
head -n4 $1/WGL_ARB_create_context_profile > tmp
|
|
||||||
grep "_PROFILE_" $1/WGL_ARB_create_context_profile >> tmp
|
|
||||||
mv tmp $1/WGL_ARB_create_context_profile
|
|
||||||
|
|
||||||
# add missing function to GLX_NV_copy_image
|
|
||||||
cat >> $1/GLX_NV_copy_image <<EOT
|
|
||||||
void glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add missing function to WGL_NV_copy_image
|
|
||||||
cat >> $1/WGL_NV_copy_image <<EOT
|
|
||||||
BOOL wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# Filter glProgramUniform from GL_EXT_separate_shader_objects
|
|
||||||
cat $1/GL_EXT_separate_shader_objects | grep -v "glProgramUniform" | grep -v "glProgramParameteri" > tmp
|
|
||||||
mv tmp $1/GL_EXT_separate_shader_objects
|
|
||||||
|
|
||||||
# Filter out EXT functions from GL_ARB_viewport_array
|
|
||||||
grep -v "EXT" $1/GL_ARB_viewport_array > tmp
|
|
||||||
mv tmp $1/GL_ARB_viewport_array
|
|
||||||
|
|
||||||
# Additional enumerations for GL_NV_vertex_buffer_unified_memory
|
|
||||||
# These are mentioned in GL_ARB_draw_indirect.txt
|
|
||||||
|
|
||||||
cat >> $1/GL_NV_vertex_buffer_unified_memory <<EOT
|
|
||||||
GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40
|
|
||||||
GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41
|
|
||||||
GL_DRAW_INDIRECT_LENGTH_NV 0x8F42
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# Filter glGetPointerv from GL_ARB_debug_output
|
|
||||||
# It's part of OpenGL 1.1, after all
|
|
||||||
|
|
||||||
grep -v "glGetPointerv" $1/GL_ARB_debug_output > tmp
|
|
||||||
mv tmp $1/GL_ARB_debug_output
|
|
||||||
|
|
||||||
# Filter glGetPointerv from GL_EXT_vertex_array
|
|
||||||
# It's part of OpenGL 1.1, after all
|
|
||||||
|
|
||||||
grep -v "glGetPointerv" $1/GL_EXT_vertex_array > tmp
|
|
||||||
mv tmp $1/GL_EXT_vertex_array
|
|
||||||
|
|
||||||
# add typedef to GL_AMD_debug_output
|
|
||||||
# parse_spec.pl can't parse typedefs from New Types section, but ought to
|
|
||||||
cat >> $1/GL_AMD_debug_output <<EOT
|
|
||||||
typedef void (GLAPIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, void* userParam)
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add typedef to GL_ARB_debug_output
|
|
||||||
# parse_spec.pl can't parse typedefs from New Types section, but ought to
|
|
||||||
cat >> $1/GL_ARB_debug_output <<EOT
|
|
||||||
typedef void (GLAPIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam)
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add typedef to GL_KHR_debug
|
|
||||||
# parse_spec.pl can't parse typedefs from New Types section, but ought to
|
|
||||||
cat >> $1/GL_KHR_debug <<EOT
|
|
||||||
typedef void (GLAPIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam)
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# Remove glGetPointerv from GL_KHR_debug
|
|
||||||
grep -v "glGetPointerv" $1/GL_KHR_debug > tmp
|
|
||||||
mv tmp $1/GL_KHR_debug
|
|
||||||
|
|
||||||
# add typedefs to GL_ARB_cl_event
|
|
||||||
# parse_spec.pl can't parse typedefs from New Types section, but ought to
|
|
||||||
cat >> $1/GL_ARB_cl_event <<EOT
|
|
||||||
typedef struct _cl_context *cl_context
|
|
||||||
typedef struct _cl_event *cl_event
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# Filter out EXT functions from GL_ARB_gpu_shader_fp64
|
|
||||||
grep -v 'EXT ' $1/GL_ARB_gpu_shader_fp64 > tmp
|
|
||||||
mv tmp $1/GL_ARB_gpu_shader_fp64
|
|
||||||
|
|
||||||
# add missing functions to GL_EXT_direct_state_access (GL_ARB_gpu_shader_fp64 related)
|
|
||||||
cat >> $1/GL_EXT_direct_state_access <<EOT
|
|
||||||
void glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x)
|
|
||||||
void glProgramUniform2dEXT (GLuint program, GLint location, GLdouble x, GLdouble y)
|
|
||||||
void glProgramUniform3dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z)
|
|
||||||
void glProgramUniform4dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
|
|
||||||
void glProgramUniform1dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
|
|
||||||
void glProgramUniform2dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
|
|
||||||
void glProgramUniform3dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
|
|
||||||
void glProgramUniform4dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
|
|
||||||
void glProgramUniformMatrix2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
|
|
||||||
void glProgramUniformMatrix3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
|
|
||||||
void glProgramUniformMatrix4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
|
|
||||||
void glProgramUniformMatrix2x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
|
|
||||||
void glProgramUniformMatrix2x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
|
|
||||||
void glProgramUniformMatrix3x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
|
|
||||||
void glProgramUniformMatrix3x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
|
|
||||||
void glProgramUniformMatrix4x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
|
|
||||||
void glProgramUniformMatrix4x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# add missing functions to GL_EXT_direct_state_access (GL_ARB_instanced_arrays related)
|
|
||||||
# https://sourceforge.net/p/glew/bugs/242/
|
|
||||||
cat >> $1/GL_EXT_direct_state_access <<EOT
|
|
||||||
void glVertexArrayVertexAttribDivisorEXT (GLuint vaobj, GLuint index, GLuint divisor)
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# Filter out GL_UNSIGNED_INT and GL_FLOAT from GL_AMD_performance_monitor
|
|
||||||
grep -v 'GL_UNSIGNED_INT ' $1/GL_AMD_performance_monitor > tmp
|
|
||||||
mv tmp $1/GL_AMD_performance_monitor
|
|
||||||
grep -v 'GL_FLOAT ' $1/GL_AMD_performance_monitor > tmp
|
|
||||||
mv tmp $1/GL_AMD_performance_monitor
|
|
||||||
|
|
||||||
# Filter out GL_STORAGE_CACHED_APPLE and GL_STORAGE_SHARED_APPLE from GL_APPLE_texture_range
|
|
||||||
grep -v 'GL_STORAGE_CACHED_APPLE ' $1/GL_APPLE_texture_range > tmp
|
|
||||||
mv tmp $1/GL_APPLE_texture_range
|
|
||||||
grep -v 'GL_STORAGE_SHARED_APPLE ' $1/GL_APPLE_texture_range > tmp
|
|
||||||
mv tmp $1/GL_APPLE_texture_range
|
|
||||||
|
|
||||||
# Filter out GL_RED from GL_ARB_texture_rg
|
|
||||||
grep -v 'GL_RED ' $1/GL_ARB_texture_rg > tmp
|
|
||||||
mv tmp $1/GL_ARB_texture_rg
|
|
||||||
|
|
||||||
# Filter out _EXT enums from GL_ARB_texture_storage
|
|
||||||
grep -v '_EXT ' $1/GL_ARB_texture_storage > tmp
|
|
||||||
mv tmp $1/GL_ARB_texture_storage
|
|
||||||
|
|
||||||
# Filter out TEXTURE_3D enums from GL_EXT_paletted_texture
|
|
||||||
grep -v 'TEXTURE_3D' $1/GL_EXT_paletted_texture > tmp
|
|
||||||
mv tmp $1/GL_EXT_paletted_texture
|
|
||||||
|
|
||||||
# Filter out GL_VERSION_1_1 enums from GL_AMD_stencil_operation_extended
|
|
||||||
grep -v '0x150' $1/GL_AMD_stencil_operation_extended > tmp
|
|
||||||
mv tmp $1/GL_AMD_stencil_operation_extended
|
|
||||||
|
|
||||||
# Filter out from GL_APPLE_ycbcr_422
|
|
||||||
grep -v 'GL_UNSIGNED_SHORT_8_8_APPLE' $1/GL_APPLE_ycbcr_422 > tmp
|
|
||||||
mv tmp $1/GL_APPLE_ycbcr_422
|
|
||||||
grep -v 'GL_UNSIGNED_SHORT_8_8_REV_APPLE' $1/GL_APPLE_ycbcr_422 > tmp
|
|
||||||
mv tmp $1/GL_APPLE_ycbcr_422
|
|
||||||
|
|
||||||
# Filter out GL_FRAGMENT_DEPTH_EXT from GL_EXT_light_texture
|
|
||||||
grep -v 'GL_FRAGMENT_DEPTH_EXT' $1/GL_EXT_light_texture > tmp
|
|
||||||
mv tmp $1/GL_EXT_light_texture
|
|
||||||
|
|
||||||
# Filter out GL_MULTISAMPLE_BIT_EXT from GL_SGIS_multisample
|
|
||||||
grep -v 'GL_MULTISAMPLE_BIT_EXT' $1/GL_SGIS_multisample > tmp
|
|
||||||
mv tmp $1/GL_SGIS_multisample
|
|
||||||
|
|
||||||
# Filter out GL_COMPRESSED_RGB_S3TC_DXT1_EXT from GL_EXT_texture_compression_dxt1
|
|
||||||
grep -v 'GL_COMPRESSED_RGB_S3TC_DXT1_EXT' $1/GL_EXT_texture_compression_dxt1 > tmp
|
|
||||||
mv tmp $1/GL_EXT_texture_compression_dxt1
|
|
||||||
|
|
||||||
# Filter out GL_COMPRESSED_RGBA_S3TC_DXT1_EXT from GL_EXT_texture_compression_dxt1
|
|
||||||
grep -v 'GL_COMPRESSED_RGBA_S3TC_DXT1_EXT' $1/GL_EXT_texture_compression_dxt1 > tmp
|
|
||||||
mv tmp $1/GL_EXT_texture_compression_dxt1
|
|
||||||
|
|
||||||
# Append GLfixed to GL_ARB_ES2_compatibility
|
|
||||||
# Probably ought to be explicitly mentioned in the spec language
|
|
||||||
|
|
||||||
cat >> $1/GL_ARB_ES2_compatibility <<EOT
|
|
||||||
typedef int GLfixed
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# Append GLclampx to GL_REGAL_ES1_0_compatibility
|
|
||||||
# Probably ought to be explicitly mentioned in the spec language
|
|
||||||
|
|
||||||
cat >> $1/GL_REGAL_ES1_0_compatibility <<EOT
|
|
||||||
typedef int GLclampx
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# Append GLLOGPROCREGAL to GL_REGAL_log
|
|
||||||
# Probably ought to be explicitly mentioned in the spec language
|
|
||||||
|
|
||||||
cat >> $1/GL_REGAL_log <<EOT
|
|
||||||
typedef void (APIENTRY *LOGPROCREGAL)(GLenum stream, GLsizei length, const GLchar *message, void *context)
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# Fixup LOGPROCREGAL -> GLLOGPROCREGAL
|
|
||||||
perl -e 's/LOGPROCREGAL/GLLOGPROCREGAL/g' -pi $1/GL_REGAL_log
|
|
||||||
|
|
||||||
# Filter out GL_BYTE from GL_OES_byte_coordinates
|
|
||||||
grep -v 'GL_BYTE' $1/GL_OES_byte_coordinates > tmp
|
|
||||||
mv tmp $1/GL_OES_byte_coordinates
|
|
||||||
|
|
||||||
# Filter out fp64 (not widely supported) from GL_EXT_direct_state_access
|
|
||||||
egrep -v 'glProgramUniform.*[1234]d[v]?EXT' $1/GL_EXT_direct_state_access > tmp
|
|
||||||
mv tmp $1/GL_EXT_direct_state_access
|
|
||||||
|
|
||||||
# Filter out all enums from GL_ANGLE_depth_texture
|
|
||||||
grep -v '0x' $1/GL_ANGLE_depth_texture > tmp
|
|
||||||
mv tmp $1/GL_ANGLE_depth_texture
|
|
||||||
|
|
||||||
# Filter out GL_NONE enum from GL_ANGLE_depth_texture
|
|
||||||
grep -v 'GL_NONE' $1/GL_ANGLE_texture_usage > tmp
|
|
||||||
mv tmp $1/GL_ANGLE_texture_usage
|
|
||||||
|
|
||||||
# Fixup REGAL and ANGLE urls
|
|
||||||
|
|
||||||
for i in $1/GL_REGAL_*; do perl -e 's#http://www.opengl.org/registry/specs/REGAL/.*#https://github.com/p3/regal/tree/master/doc/extensions#g' -pi $i; done
|
|
||||||
for i in $1/GL_ANGLE_*; do perl -e 's#http://www.opengl.org/registry/specs/ANGLE/.*#https://code.google.com/p/angleproject/source/browse/\#git%2Fextensions#g' -pi $i; done
|
|
||||||
|
|
||||||
# Filter out GL_NV_blend_equation_advanced_coherent enums and functions
|
|
||||||
head -n4 $1/GL_NV_blend_equation_advanced_coherent > tmp
|
|
||||||
mv tmp $1/GL_NV_blend_equation_advanced_coherent
|
|
||||||
|
|
||||||
# Filter out GL_AMD_gpu_shader_int64 enums and functions
|
|
||||||
head -n4 $1/GL_AMD_gpu_shader_int64 > tmp
|
|
||||||
mv tmp $1/GL_AMD_gpu_shader_int64
|
|
||||||
|
|
||||||
# Filter out GL_NO_ERROR enum and glGetGraphicsResetStatus from GL_KHR_robustness
|
|
||||||
grep -v 'GL_NO_ERROR' $1/GL_KHR_robustness |
|
|
||||||
grep -v 'glGetGraphicsResetStatus' > tmp
|
|
||||||
mv tmp $1/GL_KHR_robustness
|
|
||||||
|
|
||||||
# Filter out all enums from GL_KHR_blend_equation_advanced_coherent
|
|
||||||
grep -v '0x' $1/GL_KHR_blend_equation_advanced_coherent > tmp
|
|
||||||
mv tmp $1/GL_KHR_blend_equation_advanced_coherent
|
|
||||||
|
|
||||||
# Filter out glBlendBarrierKHR enum from GL_KHR_blend_equation_advanced_coherent
|
|
||||||
grep -v 'glBlendBarrierKHR' $1/GL_KHR_blend_equation_advanced_coherent > tmp
|
|
||||||
mv tmp $1/GL_KHR_blend_equation_advanced_coherent
|
|
||||||
|
|
||||||
# Filter out GL_NONE enum from GL_KHR_context_flush_control
|
|
||||||
grep -v 'GL_NONE' $1/GL_KHR_context_flush_control > tmp
|
|
||||||
mv tmp $1/GL_KHR_context_flush_control
|
|
||||||
|
|
||||||
# Filter out CoverageModulation from NV_framebuffer_mixed_samples
|
|
||||||
# Superset of EXT_raster_multisample
|
|
||||||
|
|
||||||
grep -v "CoverageModulation" $1/GL_NV_framebuffer_mixed_samples > tmp
|
|
||||||
mv tmp $1/GL_NV_framebuffer_mixed_samples
|
|
||||||
|
|
||||||
# Filter out glRasterSamplesEXT from NV_framebuffer_mixed_samples
|
|
||||||
# Superset of EXT_raster_multisample
|
|
||||||
|
|
||||||
grep -v "RasterSamplesEXT" $1/GL_NV_framebuffer_mixed_samples > tmp
|
|
||||||
mv tmp $1/GL_NV_framebuffer_mixed_samples
|
|
||||||
|
|
||||||
# Filter out glNamedBufferStorageEXT from GL_ARB_buffer_storage
|
|
||||||
|
|
||||||
grep -v "glNamedBufferStorageEXT" $1/GL_ARB_buffer_storage > tmp
|
|
||||||
mv tmp $1/GL_ARB_buffer_storage
|
|
||||||
|
|
||||||
# Filter out glFramebufferTextureEXT from GL_EXT_geometry_point_size
|
|
||||||
# and GL_EXT_geometry_shader
|
|
||||||
|
|
||||||
grep -v "glFramebufferTextureEXT" $1/GL_EXT_geometry_point_size > tmp
|
|
||||||
mv tmp $1/GL_EXT_geometry_point_size
|
|
||||||
|
|
||||||
grep -v "glFramebufferTextureEXT" $1/GL_EXT_geometry_shader > tmp
|
|
||||||
mv tmp $1/GL_EXT_geometry_shader
|
|
||||||
|
|
||||||
# Filter out glBindFragDataLocationEXT from GL_EXT_blend_func_extended
|
|
||||||
|
|
||||||
grep -v "glBindFragDataLocationEXT" $1/GL_EXT_blend_func_extended > tmp
|
|
||||||
mv tmp $1/GL_EXT_blend_func_extended
|
|
||||||
|
|
||||||
# Filter out glDrawArraysInstancedEXT and glDrawElementsInstancedEXT from GL_EXT_blend_func_extended
|
|
||||||
|
|
||||||
grep -v "glDrawArraysInstancedEXT" $1/GL_EXT_instanced_arrays > tmp
|
|
||||||
mv tmp $1/GL_EXT_instanced_arrays
|
|
||||||
|
|
||||||
grep -v "glDrawElementsInstancedEXT" $1/GL_EXT_instanced_arrays > tmp
|
|
||||||
mv tmp $1/GL_EXT_instanced_arrays
|
|
||||||
|
|
||||||
# Filter out glRenderbufferStorageMultisampleEXT from GL_EXT_multisampled_render_to_texture
|
|
||||||
|
|
||||||
grep -v "glRenderbufferStorageMultisampleEXT" $1/GL_EXT_multisampled_render_to_texture > tmp
|
|
||||||
mv tmp $1/GL_EXT_multisampled_render_to_texture
|
|
||||||
|
|
||||||
# Filter out glTexturePageCommitmentEXT from GL_ARB_sparse_texture
|
|
||||||
|
|
||||||
grep -v "glTexturePageCommitmentEXT" $1/GL_ARB_sparse_texture > tmp
|
|
||||||
mv tmp $1/GL_ARB_sparse_texture
|
|
||||||
|
|
||||||
# Filter out TextureStorage* from GL_ARB_texture_storage
|
|
||||||
|
|
||||||
grep -v "TextureStorage" $1/GL_ARB_texture_storage > tmp
|
|
||||||
mv tmp $1/GL_ARB_texture_storage
|
|
||||||
|
|
||||||
# Filter out functions from GL_EXT_occlusion_query_boolean
|
|
||||||
|
|
||||||
grep -v "(" $1/GL_EXT_occlusion_query_boolean > tmp
|
|
||||||
mv tmp $1/GL_EXT_occlusion_query_boolean
|
|
||||||
|
|
||||||
# Filter out duplicate enums from GL_EXT_protected_textures
|
|
||||||
|
|
||||||
cat $1/GL_EXT_protected_textures | grep -v GL_TRUE | grep -v GL_FALSE > tmp
|
|
||||||
mv tmp $1/GL_EXT_protected_textures
|
|
||||||
|
|
||||||
# Filter out duplicate enums from GL_EXT_robustness
|
|
||||||
|
|
||||||
cat $1/GL_EXT_robustness | grep -v GL_NO_ERROR > tmp
|
|
||||||
mv tmp $1/GL_EXT_robustness
|
|
||||||
|
|
||||||
# Filter GL_EXT_shader_framebuffer_fetch_non_coherent
|
|
||||||
|
|
||||||
grep -v "FramebufferFetchBarrierEXT" $1/GL_EXT_shader_framebuffer_fetch_non_coherent > tmp
|
|
||||||
mv tmp $1/GL_EXT_shader_framebuffer_fetch_non_coherent
|
|
||||||
|
|
||||||
# Filter GL_EXT_tessellation_shader
|
|
||||||
|
|
||||||
grep -v "PatchParameteriEXT" $1/GL_EXT_tessellation_shader > tmp
|
|
||||||
mv tmp $1/GL_EXT_tessellation_shader
|
|
||||||
|
|
||||||
# Filter GL_EXT_texture_buffer
|
|
||||||
|
|
||||||
grep -v "TexBuffer" $1/GL_EXT_texture_buffer > tmp
|
|
||||||
mv tmp $1/GL_EXT_texture_buffer
|
|
||||||
|
|
||||||
# Filter GL_EXT_texture_border_clamp
|
|
||||||
|
|
||||||
grep -v "TexParameter" $1/GL_EXT_texture_border_clamp > tmp
|
|
||||||
mv tmp $1/GL_EXT_texture_border_clamp
|
|
||||||
|
|
||||||
# Filter GL_EXT_disjoint_timer_query
|
|
||||||
|
|
||||||
cat $1/GL_EXT_disjoint_timer_query | grep -v GetQueryObjecti64v | grep -v GetQueryObjectui64v > tmp
|
|
||||||
mv tmp $1/GL_EXT_disjoint_timer_query
|
|
||||||
|
|
||||||
# Filter GL_NV_read_buffer_front
|
|
||||||
|
|
||||||
grep -v "ReadBufferNV" $1/GL_NV_read_buffer_front > tmp
|
|
||||||
mv tmp $1/GL_NV_read_buffer_front
|
|
||||||
|
|
||||||
# Append GLVULKANPROCNV to GL_NV_draw_vulkan_image
|
|
||||||
# Probably ought to be explicitly mentioned in the spec language
|
|
||||||
|
|
||||||
cat >> $1/GL_NV_draw_vulkan_image <<EOT
|
|
||||||
typedef void (APIENTRY *GLVULKANPROCNV)(void)
|
|
||||||
EOT
|
|
||||||
|
|
||||||
# GLU extensions are not relevant here
|
|
||||||
rm -f $1/GL_GLU_*
|
|
||||||
|
|
||||||
# Not complete
|
|
||||||
rm -f $1/GL_SGIX_color_type
|
|
||||||
|
|
||||||
# clean up
|
|
||||||
rm -f patterns $1/*.bak
|
|
@ -1,20 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
##
|
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
|
||||||
##
|
|
||||||
## This program is distributed under the terms and conditions of the GNU
|
|
||||||
## General Public License Version 2 as published by the Free Software
|
|
||||||
## Foundation or, at your option, any later version.
|
|
||||||
##
|
|
||||||
## Parameters:
|
|
||||||
##
|
|
||||||
## $1: Extensions directory
|
|
||||||
## $2: Registry directory
|
|
||||||
## $3: The black list
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# clean up
|
|
||||||
rm -f $1/*.bak
|
|
@ -1,38 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
|
|
||||||
import re
|
|
||||||
|
|
||||||
section = re.compile('^(Name|Name Strings?|Contact|Notice|Number|Dependencies|Overview|Issues|IP Status|Status|Version|New Procedures and Functions|New Tokens|Additions to .*|Changes to .*|Modifications to .*|Add new Section .*)\s*$')
|
|
||||||
token = re.compile('^\s+(([A-Z0-9][A-Z0-9_x]*):?\s+((?:0x)?[0-9A-F]+)([^\?]*))?\s*$')
|
|
||||||
match = [ 'Name', 'Name String', 'Contact', 'Notice', 'Name Strings', 'Version', 'Number', 'Dependencies', 'New Procedures and Functions', 'New Tokens']
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
|
|
||||||
from optparse import OptionParser
|
|
||||||
import os
|
|
||||||
|
|
||||||
parser = OptionParser('usage: %prog [options] [SOURCES...]')
|
|
||||||
(options, args) = parser.parse_args()
|
|
||||||
|
|
||||||
for i in args:
|
|
||||||
lines = open(i).readlines()
|
|
||||||
f = open(i,'w')
|
|
||||||
|
|
||||||
# Keep track of the current section as we iterate over the input
|
|
||||||
current = ''
|
|
||||||
for j in lines:
|
|
||||||
|
|
||||||
# Detect the start of a new section
|
|
||||||
m = section.match(j)
|
|
||||||
if m:
|
|
||||||
current = m.group(1).strip()
|
|
||||||
if current in match:
|
|
||||||
print >>f, j,
|
|
||||||
continue
|
|
||||||
|
|
||||||
if current=='New Tokens':
|
|
||||||
if token.match(j):
|
|
||||||
print >>f, j,
|
|
||||||
elif current in match:
|
|
||||||
print >>f, j,
|
|
||||||
|
|
18
auto/bin/fix_OML_sync_control.sh
Executable file
18
auto/bin/fix_OML_sync_control.sh
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
##
|
||||||
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
|
##
|
||||||
|
## This program is distributed under the terms and conditions of the GNU
|
||||||
|
## General Public License Version 2 as published by the Free Software
|
||||||
|
## Foundation or, at your option, any later version.
|
||||||
|
|
||||||
|
perl -e 's/#ifndef GLX_OML_sync_control/#if !defined(GLX_OML_sync_control) \&\& defined(__STDC_VERSION__) \&\& (__STDC_VERSION__ >= 199901L)\n#include <inttypes.h>/;' -pi $1
|
||||||
|
perl -e 's/#ifdef GLX_OML_sync_control/#if defined(GLX_OML_sync_control) \&\& defined(__STDC_VERSION__) \&\& (__STDC_VERSION__ >= 199901L)\n#include <inttypes.h>/;' -pi $1
|
||||||
|
perl -e 's/(extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;)/#ifdef GLX_OML_sync_control\n\1/' -pi $1
|
||||||
|
perl -e 's/(extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;)/\1\n#endif/' -pi $1
|
||||||
|
perl -e 's/(extern GLboolean __GLXEW_OML_sync_control;)/#ifdef GLX_OML_sync_control\n\1\n#endif/' -pi $1
|
||||||
|
perl -e 's/(PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML = NULL;)/#ifdef GLX_OML_sync_control\n\1/' -pi $1
|
||||||
|
perl -e 's/(PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML = NULL;)/\1\n#endif/' -pi $1
|
||||||
|
perl -e 's/(GLboolean __GLXEW_OML_sync_control = GL_FALSE;)/#ifdef GLX_OML_sync_control\n\1\n#endif/' -pi $1
|
||||||
|
rm -f $1.bak
|
@ -1,5 +1,4 @@
|
|||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -10,9 +9,9 @@
|
|||||||
my %regex = (
|
my %regex = (
|
||||||
extname => qr/^[A-Z][A-Za-z0-9_]+$/,
|
extname => qr/^[A-Z][A-Za-z0-9_]+$/,
|
||||||
exturl => qr/^http.+$/,
|
exturl => qr/^http.+$/,
|
||||||
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.*)\)$/i,
|
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.+)\)$/i,
|
||||||
token => qr/^([A-Z][A-Z0-9_x]*)\s+((?:0x)?[0-9A-Fa-f]+(u(ll)?)?|[A-Z][A-Z0-9_]*)$/,
|
token => qr/^([A-Z][A-Z0-9_x]*)\s+((?:0x)?[0-9A-Fa-f]+|[A-Z][A-Z0-9_]*)$/,
|
||||||
type => qr/^typedef\s+(.+)$/,
|
type => qr/^typedef\s+(.+)\s+([\*A-Za-z0-9_]+)$/,
|
||||||
exact => qr/.*;$/,
|
exact => qr/.*;$/,
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -20,7 +19,7 @@ my %regex = (
|
|||||||
sub prefixname($)
|
sub prefixname($)
|
||||||
{
|
{
|
||||||
my $name = $_[0];
|
my $name = $_[0];
|
||||||
$name =~ s/^(.*?)gl/__$1glew/;
|
$name =~ s/^(.*)gl/__$1glew/;
|
||||||
return $name;
|
return $name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -28,7 +27,7 @@ sub prefixname($)
|
|||||||
sub prefix_varname($)
|
sub prefix_varname($)
|
||||||
{
|
{
|
||||||
my $name = $_[0];
|
my $name = $_[0];
|
||||||
$name =~ s/^(.*?)GL(X*?)EW/__$1GL$2EW/;
|
$name =~ s/^(.*)GL(X*)EW/__$1GL$2EW/;
|
||||||
return $name;
|
return $name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,8 +69,7 @@ sub parse_ext($)
|
|||||||
my $filename = shift;
|
my $filename = shift;
|
||||||
my %functions = ();
|
my %functions = ();
|
||||||
my %tokens = ();
|
my %tokens = ();
|
||||||
my @reuse = (); # Extensions to reuse
|
my %types = ();
|
||||||
my @types = ();
|
|
||||||
my @exacts = ();
|
my @exacts = ();
|
||||||
my $extname = ""; # Full extension name GL_FOO_extension
|
my $extname = ""; # Full extension name GL_FOO_extension
|
||||||
my $exturl = ""; # Info URL
|
my $exturl = ""; # Info URL
|
||||||
@ -79,10 +77,9 @@ sub parse_ext($)
|
|||||||
|
|
||||||
open EXT, "<$filename" or return;
|
open EXT, "<$filename" or return;
|
||||||
|
|
||||||
# As of GLEW 1.14.0 the first four lines _must_ be
|
# As of GLEW 1.5.3 the first three lines _must_ be
|
||||||
# the extension name, the URL and the GL extension
|
# the extension name, the URL and the GL extension
|
||||||
# string (which might be different to the name),
|
# string (which might be different to the name)
|
||||||
# and the reused extensions
|
|
||||||
#
|
#
|
||||||
# For example GL_NV_geometry_program4 is available
|
# For example GL_NV_geometry_program4 is available
|
||||||
# iff GL_NV_gpu_program4 appears in the extension
|
# iff GL_NV_gpu_program4 appears in the extension
|
||||||
@ -97,7 +94,6 @@ sub parse_ext($)
|
|||||||
$extname = readline(*EXT);
|
$extname = readline(*EXT);
|
||||||
$exturl = readline(*EXT);
|
$exturl = readline(*EXT);
|
||||||
$extstring = readline(*EXT);
|
$extstring = readline(*EXT);
|
||||||
@reuse = split(" ", readline(*EXT));
|
|
||||||
|
|
||||||
chomp($extname);
|
chomp($extname);
|
||||||
chomp($exturl);
|
chomp($exturl);
|
||||||
@ -114,7 +110,8 @@ sub parse_ext($)
|
|||||||
}
|
}
|
||||||
elsif (/$regex{type}/)
|
elsif (/$regex{type}/)
|
||||||
{
|
{
|
||||||
push @types, $_;
|
my ($value, $name) = ($1, $2);
|
||||||
|
$types{$name} = $value;
|
||||||
}
|
}
|
||||||
elsif (/$regex{token}/)
|
elsif (/$regex{token}/)
|
||||||
{
|
{
|
||||||
@ -136,7 +133,7 @@ sub parse_ext($)
|
|||||||
|
|
||||||
close EXT;
|
close EXT;
|
||||||
|
|
||||||
return ($extname, $exturl, $extstring, \@reuse, \@types, \%tokens, \%functions, \@exacts);
|
return ($extname, $exturl, $extstring, \%types, \%tokens, \%functions, \@exacts);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub output_tokens($$)
|
sub output_tokens($$)
|
||||||
@ -146,29 +143,7 @@ sub output_tokens($$)
|
|||||||
{
|
{
|
||||||
local $, = "\n";
|
local $, = "\n";
|
||||||
print "\n";
|
print "\n";
|
||||||
print map { &{$fnc}($_, $tbl->{$_}) } sort {
|
print map { &{$fnc}($_, $tbl->{$_}) } sort { hex ${$tbl}{$a} <=> hex ${$tbl}{$b} } keys %{$tbl};
|
||||||
if (${$tbl}{$a} eq ${$tbl}{$b}) {
|
|
||||||
$a cmp $b
|
|
||||||
} else {
|
|
||||||
if (${$tbl}{$a} =~ /_/) {
|
|
||||||
if (${$tbl}{$b} =~ /_/) {
|
|
||||||
$a cmp $b
|
|
||||||
} else {
|
|
||||||
-1
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (${$tbl}{$b} =~ /_/) {
|
|
||||||
1
|
|
||||||
} else {
|
|
||||||
if (hex ${$tbl}{$a} eq hex ${$tbl}{$b}) {
|
|
||||||
$a cmp $b
|
|
||||||
} else {
|
|
||||||
hex ${$tbl}{$a} <=> hex ${$tbl}{$b}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} keys %{$tbl};
|
|
||||||
print "\n";
|
print "\n";
|
||||||
} else {
|
} else {
|
||||||
print STDERR "no keys in table!\n";
|
print STDERR "no keys in table!\n";
|
||||||
@ -178,11 +153,11 @@ sub output_tokens($$)
|
|||||||
sub output_types($$)
|
sub output_types($$)
|
||||||
{
|
{
|
||||||
my ($tbl, $fnc) = @_;
|
my ($tbl, $fnc) = @_;
|
||||||
if (scalar @{$tbl})
|
if (keys %{$tbl})
|
||||||
{
|
{
|
||||||
local $, = "\n";
|
local $, = "\n";
|
||||||
print "\n";
|
print "\n";
|
||||||
print map { &{$fnc}($_) } sort @{$tbl};
|
print map { &{$fnc}($_, $tbl->{$_}) } sort { ${$tbl}{$a} cmp ${$tbl}{$b} } keys %{$tbl};
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -211,14 +186,3 @@ sub output_exacts($$)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub output_reuse($$)
|
|
||||||
{
|
|
||||||
my ($tbl, $fnc) = @_;
|
|
||||||
if (scalar @{$tbl})
|
|
||||||
{
|
|
||||||
local $, = "\n";
|
|
||||||
print "\n";
|
|
||||||
print map { &{$fnc}($_) } sort @{$tbl};
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
# function pointer declaration
|
# function pointer declaration
|
||||||
@ -31,7 +29,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
output_decls($functions, \&make_pfn_decl);
|
output_decls($functions, \&make_pfn_decl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
my @extlist = ();
|
my @extlist = ();
|
||||||
@ -21,11 +19,11 @@ our $type = shift;
|
|||||||
|
|
||||||
if (@ARGV)
|
if (@ARGV)
|
||||||
{
|
{
|
||||||
@extlist = @ARGV;
|
@extlist = @ARGV;
|
||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
print "GLboolean " . prefix_varname($extvar) . " = GL_FALSE;\n";
|
print "GLboolean " . prefix_varname($extvar) . " = GL_FALSE;\n";
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
#!/usr/bin/env perl
|
|
||||||
##
|
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
|
||||||
##
|
|
||||||
## This program is distributed under the terms and conditions of the GNU
|
|
||||||
## General Public License Version 2 as published by the Free Software
|
|
||||||
## Foundation or, at your option, any later version.
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
use File::Basename;
|
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
|
||||||
|
|
||||||
##
|
|
||||||
## Make Extension-enabled Index
|
|
||||||
##
|
|
||||||
|
|
||||||
my @extlist = ();
|
|
||||||
|
|
||||||
if (@ARGV)
|
|
||||||
{
|
|
||||||
@extlist = @ARGV;
|
|
||||||
|
|
||||||
print "/* Detected in the extension string or strings */\n";
|
|
||||||
print "static GLboolean _glewExtensionString[" . scalar @extlist . "];\n";
|
|
||||||
|
|
||||||
print "/* Detected via extension string or experimental mode */\n";
|
|
||||||
print "static GLboolean* _glewExtensionEnabled[] = {\n";;
|
|
||||||
|
|
||||||
foreach my $ext (sort { basename($a) cmp basename($b) } @extlist)
|
|
||||||
{
|
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
|
|
||||||
parse_ext($ext);
|
|
||||||
|
|
||||||
my $extvar = $extname;
|
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
|
||||||
|
|
||||||
print "#ifdef $extname\n";
|
|
||||||
print " &__$extvar,\n";
|
|
||||||
print "#endif\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
print " NULL\n};\n\n";
|
|
||||||
}
|
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
# token
|
# token
|
||||||
@ -23,7 +21,7 @@ sub make_define($$)
|
|||||||
# type declaration
|
# type declaration
|
||||||
sub make_type($$)
|
sub make_type($$)
|
||||||
{
|
{
|
||||||
return "@_;"
|
return "typedef $_[1] $_[0];"
|
||||||
}
|
}
|
||||||
|
|
||||||
# function pointer type declaration
|
# function pointer type declaration
|
||||||
@ -54,7 +52,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
|
|
||||||
make_separator($extname);
|
make_separator($extname);
|
||||||
print "#ifndef $extname\n#define $extname 1\n";
|
print "#ifndef $extname\n#define $extname 1\n";
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------
|
||||||
@ -28,7 +26,7 @@ if (@ARGV)
|
|||||||
print "<table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"0\" align=\"center\">\n";
|
print "<table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"0\" align=\"center\">\n";
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
$cur_group = $extname;
|
$cur_group = $extname;
|
||||||
$cur_group =~ s/^(?:W?)GL(?:X?)_([A-Z0-9]+?)_.*$/$1/;
|
$cur_group =~ s/^(?:W?)GL(?:X?)_([A-Z0-9]+?)_.*$/$1/;
|
||||||
$extname =~ s/^(?:W?)GL(?:X?)_(.*)$/$1/;
|
$extname =~ s/^(?:W?)GL(?:X?)_(.*)$/$1/;
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
#!/usr/bin/env perl
|
|
||||||
##
|
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
|
||||||
##
|
|
||||||
## This program is distributed under the terms and conditions of the GNU
|
|
||||||
## General Public License Version 2 as published by the Free Software
|
|
||||||
## Foundation or, at your option, any later version.
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
use File::Basename;
|
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
|
||||||
|
|
||||||
##
|
|
||||||
## Make Index
|
|
||||||
##
|
|
||||||
## Output sorted array of extension strings for indexing into extension
|
|
||||||
## enable/disable flags. This provides a way to convert an extension string
|
|
||||||
## into an integer index.
|
|
||||||
##
|
|
||||||
|
|
||||||
my @extlist = ();
|
|
||||||
|
|
||||||
if (@ARGV)
|
|
||||||
{
|
|
||||||
@extlist = @ARGV;
|
|
||||||
|
|
||||||
foreach my $ext (sort { basename($a) cmp basename($b) } @extlist)
|
|
||||||
{
|
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
|
|
||||||
parse_ext($ext);
|
|
||||||
|
|
||||||
print "#ifdef $extname\n";
|
|
||||||
print " \"$extname\",\n";
|
|
||||||
print "#endif\n";
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------
|
||||||
@ -20,7 +18,7 @@ do 'bin/make.pl';
|
|||||||
sub make_pfn_info($%)
|
sub make_pfn_info($%)
|
||||||
{
|
{
|
||||||
my $name = $_[0];
|
my $name = $_[0];
|
||||||
return " glewInfoFunc(fi, \"$_[0]\", $name == NULL);";
|
return " glewInfoFunc(\"$_[0]\", $name == NULL);";
|
||||||
}
|
}
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------
|
||||||
@ -34,7 +32,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
my $extpre = $extname;
|
my $extpre = $extname;
|
||||||
@ -44,23 +42,13 @@ if (@ARGV)
|
|||||||
#make_separator($extname);
|
#make_separator($extname);
|
||||||
print "#ifdef $extname\n\n";
|
print "#ifdef $extname\n\n";
|
||||||
print "static void _glewInfo_$extname (void)\n{\n";
|
print "static void _glewInfo_$extname (void)\n{\n";
|
||||||
|
|
||||||
if (! %$functions)
|
|
||||||
{
|
|
||||||
print " ";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print " GLboolean fi = ";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($extvar =~ /VERSION/)
|
if ($extvar =~ /VERSION/)
|
||||||
{
|
{
|
||||||
print "glewPrintExt(\"$extname\", $extvar, $extvar, $extvar);\n";
|
print " glewPrintExt(\"$extname\", $extvar, $extvar, $extvar);\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print "glewPrintExt(\"$extname\", $extvar, $extpre" .
|
print " glewPrintExt(\"$extname\", $extvar, $extpre" .
|
||||||
"ewIsSupported(\"$extname\"), $extpre" .
|
"ewIsSupported(\"$extname\"), $extpre" .
|
||||||
"ewGetExtension(\"$extstring\"));\n";
|
"ewGetExtension(\"$extstring\"));\n";
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------
|
||||||
@ -40,7 +38,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
|
|
||||||
print "#ifdef $extname\n";
|
print "#ifdef $extname\n";
|
||||||
print " _glewInfo_$extname();\n";
|
print " _glewInfo_$extname();\n";
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
@ -23,11 +21,6 @@ sub make_pfn_def_init($%)
|
|||||||
return " r = ((" . $_[0] . " = (PFN" . (uc $_[0]) . "PROC)glewGetProcAddress((const GLubyte*)\"" . $_[0] . "\")) == NULL) || r;";
|
return " r = ((" . $_[0] . " = (PFN" . (uc $_[0]) . "PROC)glewGetProcAddress((const GLubyte*)\"" . $_[0] . "\")) == NULL) || r;";
|
||||||
}
|
}
|
||||||
|
|
||||||
sub make_reuse_call($%)
|
|
||||||
{
|
|
||||||
return " r = _glewInit_" . $_[0] . "() || r;";
|
|
||||||
}
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
my @extlist = ();
|
my @extlist = ();
|
||||||
@ -41,21 +34,22 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) =
|
||||||
parse_ext($ext);
|
parse_ext($ext);
|
||||||
|
|
||||||
#make_separator($extname);
|
#make_separator($extname);
|
||||||
|
print "#ifdef $extname\n\n";
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
my $extvardef = $extname;
|
my $extvardef = $extname;
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
if (keys %$functions or keys @$reuse)
|
if (keys %$functions)
|
||||||
{
|
{
|
||||||
print "#ifdef $extname\n\n";
|
print "static GLboolean _glewInit_$extname (" . $type .
|
||||||
print "static GLboolean _glewInit_$extname ()\n{\n GLboolean r = GL_FALSE;\n";
|
"EW_CONTEXT_ARG_DEF_INIT)\n{\n GLboolean r = GL_FALSE;\n";
|
||||||
output_reuse($reuse, \&make_reuse_call);
|
|
||||||
output_decls($functions, \&make_pfn_def_init);
|
output_decls($functions, \&make_pfn_def_init);
|
||||||
print "\n return r;\n}\n\n";
|
print "\n return r;\n}\n\n";
|
||||||
print "#endif /* $extname */\n\n";
|
|
||||||
}
|
}
|
||||||
|
#print "\nGLboolean " . prefix_varname($extvar) . " = GL_FALSE;\n\n";
|
||||||
|
print "#endif /* $extname */\n\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
#!/usr/bin/env perl
|
|
||||||
##
|
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
|
||||||
##
|
|
||||||
## This program is distributed under the terms and conditions of the GNU
|
|
||||||
## General Public License Version 2 as published by the Free Software
|
|
||||||
## Foundation or, at your option, any later version.
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
|
||||||
|
|
||||||
## Output declarations for the _glewInit_[extension] functions defined
|
|
||||||
## by make_init.pl script. These are necessary for for initializers to
|
|
||||||
## call each other, such as a core GL 3 context that depends on certain
|
|
||||||
## extensions.
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
my @extlist = ();
|
|
||||||
my %extensions = ();
|
|
||||||
|
|
||||||
our $type = shift;
|
|
||||||
|
|
||||||
if (@ARGV)
|
|
||||||
{
|
|
||||||
@extlist = @ARGV;
|
|
||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
|
||||||
{
|
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) =
|
|
||||||
parse_ext($ext);
|
|
||||||
|
|
||||||
#print "#ifdef $extname\n\n";
|
|
||||||
if (keys %$functions)
|
|
||||||
{
|
|
||||||
print "static GLboolean _glewInit_$extname ();\n";
|
|
||||||
}
|
|
||||||
#print "#endif /* $extname */\n\n";
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------
|
||||||
@ -34,42 +32,35 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
|
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
|
|
||||||
my $extpre = $extname;
|
my $extpre = $extname;
|
||||||
$extpre =~ s/^(W?E?)GL(X?).*$/\l$1gl\l$2ew/;
|
$extpre =~ s/^(W?)GL(X?).*$/\l$1gl\l$2ew/;
|
||||||
|
|
||||||
#my $pextvar = prefix_varname($extvar);
|
#my $pextvar = prefix_varname($extvar);
|
||||||
|
|
||||||
if (length($extstring) && $extstring !~ /^GL_/ || keys %$functions)
|
print "#ifdef $extname\n";
|
||||||
{
|
|
||||||
print "#ifdef $extname\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (length($extstring) && $extstring !~ /^GL_/)
|
if (length($extstring))
|
||||||
{
|
{
|
||||||
print " " . $extvar . " = _glewSearchExtension(\"$extstring\", extStart, extEnd);\n";
|
print " CONST_CAST(" . $extvar . ") = " . $extpre . "GetExtension(\"$extstring\");\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (keys %$functions)
|
if (keys %$functions)
|
||||||
{
|
{
|
||||||
if ($extname =~ /WGL_.*/)
|
if ($extname =~ /WGL_.*/)
|
||||||
{
|
{
|
||||||
print " if (glewExperimental || " . $extvar . "|| crippled) " . $extvar . "= !_glewInit_$extname();\n";
|
print " if (glewExperimental || " . $extvar . "|| crippled) CONST_CAST(" . $extvar . ")= !_glewInit_$extname(GLEW_CONTEXT_ARG_VAR_INIT);\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print " if (glewExperimental || " . $extvar . ") " . $extvar . " = !_glewInit_$extname();\n";
|
print " if (glewExperimental || " . $extvar . ") CONST_CAST(" . $extvar . ") = !_glewInit_$extname(GLEW_CONTEXT_ARG_VAR_INIT);\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
print "#endif /* $extname */\n";
|
||||||
if (length($extstring) && $extstring !~ /^GL_/ || keys %$functions)
|
|
||||||
{
|
|
||||||
print "#endif /* $extname */\n";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
#!/usr/bin/env perl
|
|
||||||
##
|
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
|
||||||
##
|
|
||||||
## This program is distributed under the terms and conditions of the GNU
|
|
||||||
## General Public License Version 2 as published by the Free Software
|
|
||||||
## Foundation or, at your option, any later version.
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------------
|
|
||||||
# Extensions that depend on others can be enabled once we know
|
|
||||||
# if the one it depends on, is enabled.
|
|
||||||
|
|
||||||
my @extlist = ();
|
|
||||||
my %extensions = ();
|
|
||||||
|
|
||||||
if (@ARGV)
|
|
||||||
{
|
|
||||||
@extlist = @ARGV;
|
|
||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
|
||||||
{
|
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
|
||||||
|
|
||||||
if ($extname ne $extstring && length($extstring))
|
|
||||||
{
|
|
||||||
my $extvar = $extname;
|
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
|
||||||
|
|
||||||
my $parent = $extstring;
|
|
||||||
$parent =~ s/GL(X*)_/GL$1EW_/;
|
|
||||||
|
|
||||||
print "#ifdef $extname\n";
|
|
||||||
print " $extvar = $parent;\n";
|
|
||||||
print "#endif /* $extname */\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
my @extlist = ();
|
my @extlist = ();
|
||||||
@ -24,13 +22,13 @@ if (@ARGV)
|
|||||||
my $curexttype = "";
|
my $curexttype = "";
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
my $exttype = $extname;
|
my $exttype = $extname;
|
||||||
$exttype =~ s/(W?E?)GL(X?)_(.*?_)(.*)/$3/;
|
$exttype =~ s/(W*?)GL(X*?)_(.*?_)(.*)/$3/;
|
||||||
my $extrem = $extname;
|
my $extrem = $extname;
|
||||||
$extrem =~ s/(W?E?)GL(X?)_(.*?_)(.*)/$4/;
|
$extrem =~ s/(W*?)GL(X*?)_(.*?_)(.*)/$4/;
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
$extvar =~ s/(W?E?)GL(X?)_/$1GL$2EW_/;
|
$extvar =~ s/(W*)GL(X*)_/$1GL$2EW_/;
|
||||||
if(!($exttype =~ $curexttype))
|
if(!($exttype =~ $curexttype))
|
||||||
{
|
{
|
||||||
if(length($curexttype) > 0)
|
if(length($curexttype) > 0)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
# function pointer declaration
|
# function pointer declaration
|
||||||
@ -32,7 +30,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
output_decls($functions, \&make_pfn_decl);
|
output_decls($functions, \&make_pfn_decl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -11,7 +10,6 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use lib '.';
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
my @extlist = ();
|
my @extlist = ();
|
||||||
@ -25,7 +23,7 @@ if (@ARGV)
|
|||||||
|
|
||||||
foreach my $ext (sort @extlist)
|
foreach my $ext (sort @extlist)
|
||||||
{
|
{
|
||||||
my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
my $extvar = $extname;
|
my $extvar = $extname;
|
||||||
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
print $export . " GLboolean " . prefix_varname($extvar) . ";\n";
|
print $export . " GLboolean " . prefix_varname($extvar) . ";\n";
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env perl
|
#!/usr/bin/perl
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -21,8 +20,7 @@ my @sections = (
|
|||||||
"Name",
|
"Name",
|
||||||
"Name Strings?",
|
"Name Strings?",
|
||||||
"New Procedures and Functions",
|
"New Procedures and Functions",
|
||||||
"New Tokens.*", # Optional (GL/WGL/GLX/...) suffix
|
"New Tokens",
|
||||||
"Additions to Chapter.*",
|
|
||||||
);
|
);
|
||||||
|
|
||||||
my %typemap = (
|
my %typemap = (
|
||||||
@ -62,18 +60,12 @@ my %typemap = (
|
|||||||
charARB => "GLcharARB",
|
charARB => "GLcharARB",
|
||||||
handleARB => "GLhandleARB",
|
handleARB => "GLhandleARB",
|
||||||
|
|
||||||
char => "GLchar",
|
|
||||||
|
|
||||||
# OpenGL 3.2 and GL_ARB_sync
|
# OpenGL 3.2 and GL_ARB_sync
|
||||||
|
|
||||||
int64 => "GLint64",
|
int64 => "GLint64",
|
||||||
uint64 => "GLuint64",
|
uint64 => "GLuint64",
|
||||||
sync => "GLsync",
|
sync => "GLsync",
|
||||||
|
|
||||||
# GL_EXT_EGL_image_storage
|
|
||||||
|
|
||||||
eglImageOES => "GLeglImageOES",
|
|
||||||
|
|
||||||
# AMD_debug_output
|
# AMD_debug_output
|
||||||
|
|
||||||
DEBUGPROCAMD => "GLDEBUGPROCAMD",
|
DEBUGPROCAMD => "GLDEBUGPROCAMD",
|
||||||
@ -82,12 +74,6 @@ my %typemap = (
|
|||||||
|
|
||||||
DEBUGPROCARB => "GLDEBUGPROCARB",
|
DEBUGPROCARB => "GLDEBUGPROCARB",
|
||||||
|
|
||||||
# KHR_debug
|
|
||||||
|
|
||||||
DEBUGPROC => "GLDEBUGPROC",
|
|
||||||
|
|
||||||
VULKANPROCNV => "GLVULKANPROCNV",
|
|
||||||
|
|
||||||
vdpauSurfaceNV => "GLvdpauSurfaceNV",
|
vdpauSurfaceNV => "GLvdpauSurfaceNV",
|
||||||
|
|
||||||
# GLX 1.3 defines new types which might not be available at compile time
|
# GLX 1.3 defines new types which might not be available at compile time
|
||||||
@ -114,7 +100,7 @@ my %taboo_tokens = (
|
|||||||
);
|
);
|
||||||
|
|
||||||
# list of function definitions to be ignored, unless they are being defined in
|
# list of function definitions to be ignored, unless they are being defined in
|
||||||
# the given spec. This is an ugly hack around the fact that people writing
|
# the given spec. This is an ugly hack arround the fact that people writing
|
||||||
# spec files seem to shut down all brain activity while they are at this task.
|
# spec files seem to shut down all brain activity while they are at this task.
|
||||||
#
|
#
|
||||||
# This will be moved to its own file eventually.
|
# This will be moved to its own file eventually.
|
||||||
@ -142,14 +128,6 @@ my %fnc_ignore_list = (
|
|||||||
"ProgramLocalParameter4fARB" => "ARB_vertex_program",
|
"ProgramLocalParameter4fARB" => "ARB_vertex_program",
|
||||||
"ProgramLocalParameter4fvARB" => "ARB_vertex_program",
|
"ProgramLocalParameter4fvARB" => "ARB_vertex_program",
|
||||||
"ProgramStringARB" => "ARB_vertex_program",
|
"ProgramStringARB" => "ARB_vertex_program",
|
||||||
"EGLImageTargetTexture2DOES" => "OES_EGL_image",
|
|
||||||
"FramebufferTextureOES" => "GL_OES_geometry_shader",
|
|
||||||
"PatchParameteriOES" => "GL_OES_tessellation_shader",
|
|
||||||
"PointSizePointerOES" => "GL_OES_point_size_array",
|
|
||||||
"LockArraysEXT" => "EXT_compiled_vertex_array",
|
|
||||||
"UnlockArraysEXT" => "EXT_compiled_vertex_array",
|
|
||||||
"CoverageMaskNV" => "NV_coverage_sample",
|
|
||||||
"CoverageOperationNV" => "NV_coverage_sample",
|
|
||||||
"glXCreateContextAttribsARB" => "ARB_create_context_profile",
|
"glXCreateContextAttribsARB" => "ARB_create_context_profile",
|
||||||
"wglCreateContextAttribsARB" => "WGL_ARB_create_context_profile",
|
"wglCreateContextAttribsARB" => "WGL_ARB_create_context_profile",
|
||||||
);
|
);
|
||||||
@ -158,11 +136,11 @@ my %regex = (
|
|||||||
eofnc => qr/(?:\);?$|^$)/, # )$ | );$ | ^$
|
eofnc => qr/(?:\);?$|^$)/, # )$ | );$ | ^$
|
||||||
extname => qr/^[A-Z][A-Za-z0-9_]+$/,
|
extname => qr/^[A-Z][A-Za-z0-9_]+$/,
|
||||||
none => qr/^\(none\)$/,
|
none => qr/^\(none\)$/,
|
||||||
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.*)\)$/i,
|
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.+)\)$/i,
|
||||||
prefix => qr/^(?:[aw]?gl|glX|egl)/, # gl | agl | wgl | glX
|
prefix => qr/^(?:[aw]?gl|glX)/, # gl | agl | wgl | glX
|
||||||
tprefix => qr/^(?:[AW]?GL|GLX|EGL)_/, # GL_ | AGL_ | WGL_ | GLX_
|
tprefix => qr/^(?:[AW]?GL|GLX)_/, # GL_ | AGL_ | WGL_ | GLX_
|
||||||
section => compile_regex('^(', join('|', @sections), ')$'), # sections in spec
|
section => compile_regex('^(', join('|', @sections), ')$'), # sections in spec
|
||||||
token => qr/^([A-Z0-9][A-Z0-9_x]*):?\s+((?:0x)?[0-9A-Fa-f]+(u(ll)?)?)(|\s[^\?]*)$/, # define tokens
|
token => qr/^([A-Z0-9][A-Z0-9_]*):?\s+((?:0x)?[0-9A-F]+)(.*)$/, # define tokens
|
||||||
types => compile_regex('\b(', join('|', keys %typemap), ')\b'), # var types
|
types => compile_regex('\b(', join('|', keys %typemap), ')\b'), # var types
|
||||||
voidtype => compile_regex('\b(', keys %voidtypemap, ')\b '), # void type
|
voidtype => compile_regex('\b(', keys %voidtypemap, ')\b '), # void type
|
||||||
);
|
);
|
||||||
@ -174,7 +152,6 @@ sub normalize_prototype
|
|||||||
s/\s+/ /g; # multiple whitespace -> single space
|
s/\s+/ /g; # multiple whitespace -> single space
|
||||||
s/\<.*\>//g; # remove <comments> from direct state access extension
|
s/\<.*\>//g; # remove <comments> from direct state access extension
|
||||||
s/\<.*$//g; # remove incomplete <comments> from direct state access extension
|
s/\<.*$//g; # remove incomplete <comments> from direct state access extension
|
||||||
s#/\*.*\*/##g; # remove /* ... */ comments
|
|
||||||
s/\s*\(\s*/ \(/; # exactly one space before ( and none after
|
s/\s*\(\s*/ \(/; # exactly one space before ( and none after
|
||||||
s/\s*\)\s*/\)/; # no space before or after )
|
s/\s*\)\s*/\)/; # no space before or after )
|
||||||
s/\s*\*([a-zA-Z])/\* $1/; # "* identifier"
|
s/\s*\*([a-zA-Z])/\* $1/; # "* identifier"
|
||||||
@ -185,7 +162,7 @@ sub normalize_prototype
|
|||||||
return $_;
|
return $_;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Ugly hack to work around the fact that functions are declared in more
|
# Ugly hack to work arround the fact that functions are declared in more
|
||||||
# than one spec file.
|
# than one spec file.
|
||||||
sub ignore_function($$)
|
sub ignore_function($$)
|
||||||
{
|
{
|
||||||
@ -252,16 +229,9 @@ sub parse_spec($)
|
|||||||
{
|
{
|
||||||
# apply typemaps
|
# apply typemaps
|
||||||
$return =~ s/$regex{types}/$typemap{$1}/og;
|
$return =~ s/$regex{types}/$typemap{$1}/og;
|
||||||
$return =~ s/GLvoid/void/og;
|
$return =~ s/void\*/GLvoid */og;
|
||||||
$return =~ s/void\*/void */og;
|
|
||||||
$parms =~ s/$regex{types}/$typemap{$1}/og;
|
$parms =~ s/$regex{types}/$typemap{$1}/og;
|
||||||
$parms =~ s/$regex{voidtype}/$voidtypemap{$1}/og;
|
$parms =~ s/$regex{voidtype}/$voidtypemap{$1}/og;
|
||||||
$parms =~ s/GLvoid/void/og;
|
|
||||||
$parms =~ s/ void\* / void */og;
|
|
||||||
if ($parms eq "")
|
|
||||||
{
|
|
||||||
$parms = "void"; # NVX_progress_fence and others
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
# add to functions hash
|
# add to functions hash
|
||||||
$functions{$name} = {
|
$functions{$name} = {
|
||||||
@ -328,7 +298,8 @@ my @speclist = ();
|
|||||||
my %extensions = ();
|
my %extensions = ();
|
||||||
|
|
||||||
my $ext_dir = shift;
|
my $ext_dir = shift;
|
||||||
my $reg_http = "https://www.khronos.org/registry/OpenGL/extensions/";
|
my $reg_http = "http://www.opengl.org/registry/specs/";
|
||||||
|
#my $reg_http = "http://oss.sgi.com/projects/ogl-sample/";
|
||||||
|
|
||||||
# Take command line arguments or read list from file
|
# Take command line arguments or read list from file
|
||||||
if (@ARGV)
|
if (@ARGV)
|
||||||
@ -349,50 +320,14 @@ foreach my $spec (sort @speclist)
|
|||||||
open EXT, ">$info";
|
open EXT, ">$info";
|
||||||
print EXT $ext . "\n"; # Extension name
|
print EXT $ext . "\n"; # Extension name
|
||||||
my $specname = $spec;
|
my $specname = $spec;
|
||||||
$specname =~ s/OpenGL-Registry\/extensions\///;
|
$specname =~ s/registry\///;
|
||||||
print EXT $reg_http . $specname . "\n"; # Extension info URL
|
print EXT $reg_http . $specname . "\n"; # Extension info URL
|
||||||
print EXT $ext . "\n"; # Extension string
|
print EXT $ext . "\n"; # Extension string
|
||||||
print EXT "\n"; # Resuses nothing by default
|
|
||||||
|
|
||||||
my $prefix = $ext;
|
my $prefix = $ext;
|
||||||
$prefix =~ s/^(.+?)(_.+)$/$1/;
|
$prefix =~ s/^(.+?)(_.+)$/$1/;
|
||||||
foreach my $token (sort {
|
foreach my $token (sort { hex ${$tokens}{$a} <=> hex ${$tokens}{$b} } keys %{$tokens})
|
||||||
if (${$tokens}{$a} eq ${$tokens}{$b}) {
|
{
|
||||||
$a cmp $b
|
|
||||||
} else {
|
|
||||||
if (${$tokens}{$a} =~ /_/) {
|
|
||||||
if (${$tokens}{$b} =~ /_/) {
|
|
||||||
$a cmp $b
|
|
||||||
} else {
|
|
||||||
-1
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (${$tokens}{$b} =~ /_/) {
|
|
||||||
1
|
|
||||||
} else {
|
|
||||||
if (${$tokens}{$a} =~ /u(ll)?$/) {
|
|
||||||
if (${$tokens}{$b} =~ /u(ll)?$/) {
|
|
||||||
$a cmp $b
|
|
||||||
} else {
|
|
||||||
-1
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (${$tokens}{$b} =~ /u(ll)?$/) {
|
|
||||||
1
|
|
||||||
} else {
|
|
||||||
if (hex ${$tokens}{$a} eq hex ${$tokens}{$b})
|
|
||||||
{
|
|
||||||
$a cmp $b
|
|
||||||
} else {
|
|
||||||
hex ${$tokens}{$a} <=> hex ${$tokens}{$b}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} keys %{$tokens})
|
|
||||||
{
|
|
||||||
if ($token =~ /^$prefix\_.*/i)
|
if ($token =~ /^$prefix\_.*/i)
|
||||||
{
|
{
|
||||||
print EXT "\t" . $token . " " . ${\%{$tokens}}{$token} . "\n";
|
print EXT "\t" . $token . " " . ${\%{$tokens}}{$token} . "\n";
|
||||||
|
@ -1,145 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
import re
|
|
||||||
import sys
|
|
||||||
from xml.dom.minidom import parse, Node
|
|
||||||
|
|
||||||
#
|
|
||||||
# DOM traversal utility functions
|
|
||||||
#
|
|
||||||
|
|
||||||
def findChildren(node, path):
|
|
||||||
result = []
|
|
||||||
if len(path)==1:
|
|
||||||
for i in node.childNodes:
|
|
||||||
if i.nodeType==Node.ELEMENT_NODE:
|
|
||||||
if i.tagName==path[0]:
|
|
||||||
result.append(i)
|
|
||||||
else:
|
|
||||||
for i in node.childNodes:
|
|
||||||
if i.nodeType==Node.ELEMENT_NODE:
|
|
||||||
if i.tagName==path[0]:
|
|
||||||
result.extend(findChildren(i, path[1:]))
|
|
||||||
return result
|
|
||||||
|
|
||||||
def findData(node, path):
|
|
||||||
return [ i.firstChild.data for i in findChildren(node, path) ]
|
|
||||||
|
|
||||||
isPointer = re.compile('(.*)([ ]+)([*]+)')
|
|
||||||
|
|
||||||
def findParams(node):
|
|
||||||
n = findData(node, ['name'])[0]
|
|
||||||
t = ''
|
|
||||||
for i in node.childNodes:
|
|
||||||
if i.nodeType==Node.TEXT_NODE:
|
|
||||||
t += i.data
|
|
||||||
if i.nodeType==Node.ELEMENT_NODE and i.tagName=='ptype':
|
|
||||||
t += i.firstChild.data
|
|
||||||
|
|
||||||
t.strip()
|
|
||||||
m = isPointer.match(t)
|
|
||||||
if m:
|
|
||||||
t = ('%s%s'%(m.group(1), m.group(3))).strip()
|
|
||||||
return ( t, n.strip())
|
|
||||||
|
|
||||||
def findEnums(dom):
|
|
||||||
return {i.getAttribute('name'): i.getAttribute('value') for i in findChildren(dom, [ 'registry', 'enums', 'enum' ])}
|
|
||||||
|
|
||||||
def findCommands(dom):
|
|
||||||
ret = {}
|
|
||||||
for i in findChildren(dom, [ 'registry', 'commands', 'command' ]):
|
|
||||||
r,n = findParams(findChildren(i, ['proto'])[0])
|
|
||||||
p = [ findParams(j) for j in findChildren(i, ['param'])]
|
|
||||||
ret[n] = (r, p)
|
|
||||||
return ret
|
|
||||||
|
|
||||||
def findFeatures(dom):
|
|
||||||
ret = {}
|
|
||||||
for i in findChildren(dom, [ 'registry', 'feature' ]):
|
|
||||||
n = i.getAttribute('name')
|
|
||||||
e = [j.getAttribute("name") for j in findChildren(i, [ 'require', 'enum' ])]
|
|
||||||
c = [j.getAttribute("name") for j in findChildren(i, [ 'require', 'command' ])]
|
|
||||||
ret[n] = (e,c)
|
|
||||||
return ret
|
|
||||||
|
|
||||||
def findExtensions(dom):
|
|
||||||
ret = {}
|
|
||||||
for i in findChildren(dom, [ 'registry', 'extensions', 'extension' ]):
|
|
||||||
n = i.getAttribute('name')
|
|
||||||
e = [j.getAttribute("name") for j in findChildren(i, [ 'require', 'enum' ])]
|
|
||||||
c = [j.getAttribute("name") for j in findChildren(i, [ 'require', 'command' ])]
|
|
||||||
ret[n] = (e,c)
|
|
||||||
return ret
|
|
||||||
|
|
||||||
def findApi(dom, name):
|
|
||||||
enums = findEnums(dom)
|
|
||||||
commands = findCommands(dom)
|
|
||||||
features = findFeatures(dom)
|
|
||||||
extensions = findExtensions(dom)
|
|
||||||
return (enums, commands, features, extensions)
|
|
||||||
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
isWGL = re.compile('WGL_([A-Z0-9]+)_.*')
|
|
||||||
|
|
||||||
def writeExtension(f, name, extension, enums, commands):
|
|
||||||
f.write(('%s\n'%name).encode())
|
|
||||||
|
|
||||||
url = 'https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf'
|
|
||||||
|
|
||||||
m = isWGL.match(name)
|
|
||||||
if m:
|
|
||||||
url = 'https://www.khronos.org/registry/OpenGL/extensions/%s/%s.txt'%(m.group(1), name)
|
|
||||||
|
|
||||||
f.write(('%s\n'%(url)).encode())
|
|
||||||
|
|
||||||
if name.find('_VERSION_')==-1:
|
|
||||||
f.write(('%s\n'%name).encode())
|
|
||||||
else:
|
|
||||||
f.write('\n'.encode())
|
|
||||||
f.write('\n'.encode())
|
|
||||||
|
|
||||||
enums = [ (j, enums[j]) for j in extension[0] ]
|
|
||||||
for e in sorted(enums, key=lambda i: i[1]):
|
|
||||||
f.write(('\t%s %s\n'%(e[0], e[1])).encode())
|
|
||||||
|
|
||||||
commands = [ (j, commands[j]) for j in extension[1] ]
|
|
||||||
for c in sorted(commands):
|
|
||||||
params = ', '.join( [ '%s %s'%(j[0].strip(), j[1].strip()) for j in c[1][1] ] )
|
|
||||||
if len(params)==0:
|
|
||||||
params = 'void'
|
|
||||||
f.write(('\t%s %s (%s)\n'%(c[1][0].strip(), c[0].strip(), params)).encode())
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
|
|
||||||
from argparse import ArgumentParser
|
|
||||||
import os
|
|
||||||
|
|
||||||
parser = ArgumentParser(description='usage: %prog [options] [XML specs...]')
|
|
||||||
parser.add_argument("--core", dest="core", help="location for core outputs", default='')
|
|
||||||
parser.add_argument("--api", dest="name", help="API name: egl, wgl, glx, etc", default='')
|
|
||||||
parser.add_argument("--extensions", dest="extensions", help="location for extensions outputs", default='')
|
|
||||||
|
|
||||||
(options, args) = parser.parse_known_args()
|
|
||||||
options = vars(options)
|
|
||||||
|
|
||||||
for i in args:
|
|
||||||
|
|
||||||
dom = parse(i)
|
|
||||||
api = findApi(dom, options['name'])
|
|
||||||
|
|
||||||
print('Found {} enums, {} commands, {} features and {} extensions.'.format(
|
|
||||||
len(api[0]), len(api[1]), len(api[2]), len(api[3])))
|
|
||||||
|
|
||||||
if len(options['core']):
|
|
||||||
for i in api[2].keys():
|
|
||||||
with open(os.path.join(options['core'], i), 'wb') as f:
|
|
||||||
writeExtension(f, i, api[2][i], api[0], api[1])
|
|
||||||
|
|
||||||
if len(options['extensions']):
|
|
||||||
for i in api[3].keys():
|
|
||||||
with open(os.path.join(options['extensions'], i), 'wb') as f:
|
|
||||||
writeExtension(f, i, api[3][i], api[0], api[1])
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/bin/bash
|
||||||
##
|
##
|
||||||
## Copyright (C) 2008-2024, Nigel Stewart <nigels[]nigels com>
|
|
||||||
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
##
|
##
|
||||||
@ -17,10 +16,290 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ ! -d $1 ] ; then
|
if [ ! -d $1 ] ; then
|
||||||
mkdir -p $1
|
mkdir $1
|
||||||
|
|
||||||
# Parse each of the extensions in the registry
|
# Parse each of the extensions in the registry
|
||||||
find $2 -name doc -type d -prune -o -name "*.txt" -print | \
|
find $2 -name doc -type d -prune -o -name \*.txt -print | \
|
||||||
grep -v -f $3 | sort | bin/parse_spec.pl $1
|
grep -v -f $3 | sort | bin/parse_spec.pl $1
|
||||||
|
|
||||||
|
# fix GL_NV_texture_compression_vtc
|
||||||
|
grep -v EXT $1/GL_NV_texture_compression_vtc > tmp
|
||||||
|
mv tmp $1/GL_NV_texture_compression_vtc
|
||||||
|
|
||||||
|
# remove duplicates from GL_ARB_vertex_program and GL_ARB_fragment_program
|
||||||
|
grep -v -F -f $1/GL_ARB_vertex_program $1/GL_ARB_fragment_program > tmp
|
||||||
|
mv tmp $1/GL_ARB_fragment_program
|
||||||
|
|
||||||
|
# remove duplicates from GLX_EXT_visual_rating and GLX_EXT_visual_info
|
||||||
|
grep -v -F -f $1/GLX_EXT_visual_info $1/GLX_EXT_visual_rating > tmp
|
||||||
|
mv tmp $1/GLX_EXT_visual_rating
|
||||||
|
|
||||||
|
# GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetBooleanIndexedvEXT but with different parameter names
|
||||||
|
grep -v glGetBooleanIndexedvEXT $1/GL_EXT_transform_feedback > tmp
|
||||||
|
mv tmp $1/GL_EXT_transform_feedback
|
||||||
|
|
||||||
|
# GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetIntegerIndexedvEXT but with different parameter names
|
||||||
|
grep -v glGetIntegerIndexedvEXT $1/GL_EXT_transform_feedback > tmp
|
||||||
|
mv tmp $1/GL_EXT_transform_feedback
|
||||||
|
|
||||||
|
# remove duplicates from GL_NV_present_video and GLX_NV_present_video
|
||||||
|
grep -v -F -f $1/GLX_NV_present_video $1/GL_NV_present_video > tmp
|
||||||
|
mv tmp $1/GL_NV_present_video
|
||||||
|
|
||||||
|
# fix WGL_NV_present_video
|
||||||
|
cat >> $1/WGL_NV_present_video <<EOT
|
||||||
|
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# fix WGL_NV_video_output
|
||||||
|
cat >> $1/WGL_NV_video_output <<EOT
|
||||||
|
DECLARE_HANDLE(HPVIDEODEV);
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# fix GL_NV_occlusion_query and GL_HP_occlusion_test
|
||||||
|
grep -v '_HP' $1/GL_NV_occlusion_query > tmp
|
||||||
|
mv tmp $1/GL_NV_occlusion_query
|
||||||
|
perl -e's/OCCLUSION_TEST_HP.*/OCCLUSION_TEST_HP 0x8165/' -pi \
|
||||||
|
$1/GL_HP_occlusion_test
|
||||||
|
perl -e's/OCCLUSION_TEST_RESULT_HP.*/OCCLUSION_TEST_RESULT_HP 0x8166/' -pi \
|
||||||
|
$1/GL_HP_occlusion_test
|
||||||
|
|
||||||
|
# fix GLvoid in GL_ARB_vertex_buffer_objects
|
||||||
|
perl -e 's/ void\*/ GLvoid\*/g' -pi \
|
||||||
|
$1/GL_ARB_vertex_buffer_object
|
||||||
|
|
||||||
|
# add deprecated constants to GL_ATI_fragment_shader
|
||||||
|
cat >> $1/GL_ATI_fragment_shader <<EOT
|
||||||
|
GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
|
||||||
|
GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
|
||||||
|
GL_NUM_PASSES_ATI 0x8970
|
||||||
|
GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
|
||||||
|
GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
|
||||||
|
GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
|
||||||
|
GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
|
||||||
|
GL_COLOR_ALPHA_PAIRING_ATI 0x8975
|
||||||
|
GL_SWIZZLE_STRQ_ATI 0x897A
|
||||||
|
GL_SWIZZLE_STRQ_DQ_ATI 0x897B
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add deprecated constants to GL_NV_texture_shader
|
||||||
|
cat >> $1/GL_NV_texture_shader <<EOT
|
||||||
|
GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1
|
||||||
|
GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3
|
||||||
|
GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# fix WGL_ATI_pixel_format_float
|
||||||
|
cat >> $1/WGL_ATI_pixel_format_float <<EOT
|
||||||
|
GL_RGBA_FLOAT_MODE_ATI 0x8820
|
||||||
|
GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# fix WGL_ARB_make_current_read
|
||||||
|
cat >> $1/WGL_ARB_make_current_read <<EOT
|
||||||
|
ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
|
||||||
|
ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# fix WGL_EXT_make_current_read
|
||||||
|
cat >> $1/WGL_EXT_make_current_read <<EOT
|
||||||
|
ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add typedefs to GL_ARB_vertex_buffer_object; (from personal communication
|
||||||
|
# with Marco Fabbricatore).
|
||||||
|
#
|
||||||
|
# Rationale. The spec says:
|
||||||
|
#
|
||||||
|
# "Both types are defined as signed integers large enough to contain
|
||||||
|
# any pointer value [...] The idea of making these types unsigned was
|
||||||
|
# considered, but was ultimately rejected ..."
|
||||||
|
cat >> $1/GL_ARB_vertex_buffer_object <<EOT
|
||||||
|
typedef ptrdiff_t GLsizeiptrARB
|
||||||
|
typedef ptrdiff_t GLintptrARB
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add typedefs to GLX_EXT_import_context
|
||||||
|
cat >> $1/GLX_EXT_import_context <<EOT
|
||||||
|
typedef XID GLXContextID
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add tokens to GLX_OML_swap_method
|
||||||
|
cat >> $1/GLX_OML_swap_method <<EOT
|
||||||
|
GLX_SWAP_EXCHANGE_OML 0x8061
|
||||||
|
GLX_SWAP_COPY_OML 0x8062
|
||||||
|
GLX_SWAP_UNDEFINED_OML 0x8063
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add typedefs to GLX_SGIX_fbconfig
|
||||||
|
cat >> $1/GLX_SGIX_fbconfig <<EOT
|
||||||
|
typedef XID GLXFBConfigIDSGIX
|
||||||
|
typedef struct __GLXFBConfigRec *GLXFBConfigSGIX
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add typedefs to GLX_SGIX_pbuffer
|
||||||
|
cat >> $1/GLX_SGIX_pbuffer <<EOT
|
||||||
|
typedef XID GLXPbufferSGIX
|
||||||
|
typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add typedef to GL_NV_half_float
|
||||||
|
cat >> $1/GL_NV_half_float <<EOT
|
||||||
|
typedef unsigned short GLhalf
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add handle to WGL_ARB_pbuffer
|
||||||
|
cat >> $1/WGL_ARB_pbuffer <<EOT
|
||||||
|
DECLARE_HANDLE(HPBUFFERARB);
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add handle to WGL_EXT_pbuffer
|
||||||
|
cat >> $1/WGL_EXT_pbuffer <<EOT
|
||||||
|
DECLARE_HANDLE(HPBUFFEREXT);
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# get rid of GL_SUN_multi_draw_arrays
|
||||||
|
rm -f $1/GL_SUN_multi_draw_arrays
|
||||||
|
|
||||||
|
# change variable names in GL_ARB_vertex_shader
|
||||||
|
perl -e 's/v0/x/g' -pi $1/GL_ARB_vertex_shader
|
||||||
|
perl -e 's/v1/y/g' -pi $1/GL_ARB_vertex_shader
|
||||||
|
perl -e 's/v2/z/g' -pi $1/GL_ARB_vertex_shader
|
||||||
|
perl -e 's/v3/w/g' -pi $1/GL_ARB_vertex_shader
|
||||||
|
|
||||||
|
# remove triplicates in GL_ARB_shader_objects, GL_ARB_fragment_shader,
|
||||||
|
# and GL_ARB_vertex_shader
|
||||||
|
grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_fragment_shader > tmp
|
||||||
|
mv tmp $1/GL_ARB_fragment_shader
|
||||||
|
grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_vertex_shader > tmp
|
||||||
|
mv tmp $1/GL_ARB_vertex_shader
|
||||||
|
|
||||||
|
# remove duplicates in GL_ARB_vertex_program and GL_ARB_vertex_shader
|
||||||
|
grep -v -F -f $1/GL_ARB_vertex_program $1/GL_ARB_vertex_shader > tmp
|
||||||
|
mv tmp $1/GL_ARB_vertex_shader
|
||||||
|
|
||||||
|
# remove triplicates in GL_ARB_fragment_program, GL_ARB_fragment_shader,
|
||||||
|
# and GL_ARB_vertex_shader
|
||||||
|
grep -v -F -f $1/GL_ARB_fragment_program $1/GL_ARB_fragment_shader > tmp
|
||||||
|
mv tmp $1/GL_ARB_fragment_shader
|
||||||
|
grep -v -F -f $1/GL_ARB_fragment_program $1/GL_ARB_vertex_shader > tmp
|
||||||
|
mv tmp $1/GL_ARB_vertex_shader
|
||||||
|
|
||||||
|
# remove duplicates in GL_EXT_direct_state_access
|
||||||
|
grep -v "glGetBooleanIndexedvEXT" $1/GL_EXT_direct_state_access > tmp
|
||||||
|
mv tmp $1/GL_EXT_direct_state_access
|
||||||
|
grep -v "glGetIntegerIndexedvEXT" $1/GL_EXT_direct_state_access > tmp
|
||||||
|
mv tmp $1/GL_EXT_direct_state_access
|
||||||
|
grep -v "glDisableIndexedEXT" $1/GL_EXT_direct_state_access > tmp
|
||||||
|
mv tmp $1/GL_EXT_direct_state_access
|
||||||
|
grep -v "glEnableIndexedEXT" $1/GL_EXT_direct_state_access > tmp
|
||||||
|
mv tmp $1/GL_EXT_direct_state_access
|
||||||
|
grep -v "glIsEnabledIndexedEXT" $1/GL_EXT_direct_state_access > tmp
|
||||||
|
mv tmp $1/GL_EXT_direct_state_access
|
||||||
|
|
||||||
|
# remove duplicates in GL_NV_explicit_multisample
|
||||||
|
grep -v "glGetBooleanIndexedvEXT" $1/GL_NV_explicit_multisample > tmp
|
||||||
|
mv tmp $1/GL_NV_explicit_multisample
|
||||||
|
grep -v "glGetIntegerIndexedvEXT" $1/GL_NV_explicit_multisample > tmp
|
||||||
|
mv tmp $1/GL_NV_explicit_multisample
|
||||||
|
|
||||||
|
# fix bugs in GL_ARB_vertex_shader
|
||||||
|
grep -v "GL_FLOAT" $1/GL_ARB_vertex_shader > tmp
|
||||||
|
mv tmp $1/GL_ARB_vertex_shader
|
||||||
|
perl -e 's/handle /GLhandleARB /g' -pi $1/GL_ARB_vertex_shader
|
||||||
|
|
||||||
|
# fix bugs in GL_ARB_shader_objects
|
||||||
|
grep -v "GL_FLOAT " $1/GL_ARB_shader_objects > tmp
|
||||||
|
mv tmp $1/GL_ARB_shader_objects
|
||||||
|
grep -v "GL_INT " $1/GL_ARB_shader_objects > tmp
|
||||||
|
mv tmp $1/GL_ARB_shader_objects
|
||||||
|
|
||||||
|
# add typedefs to GL_ARB_shader_objects
|
||||||
|
cat >> $1/GL_ARB_shader_objects <<EOT
|
||||||
|
typedef char GLcharARB
|
||||||
|
typedef unsigned int GLhandleARB
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add missing functions to GL_ARB_transpose_matrix
|
||||||
|
cat >> $1/GL_ARB_transpose_matrix <<EOT
|
||||||
|
void glLoadTransposeMatrixfARB (GLfloat m[16])
|
||||||
|
void glLoadTransposeMatrixdARB (GLdouble m[16])
|
||||||
|
void glMultTransposeMatrixfARB (GLfloat m[16])
|
||||||
|
void glMultTransposeMatrixdARB (GLdouble m[16])
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add missing tokens to GL_EXT_framebuffer_multisample
|
||||||
|
cat >> $1/GL_EXT_framebuffer_multisample <<EOT
|
||||||
|
GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
|
||||||
|
GL_MAX_SAMPLES_EXT 0x8D57
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# Filter out GL_NV_gpu_program_fp64 enums and functions
|
||||||
|
head -n3 $1/GL_NV_gpu_program_fp64 > tmp
|
||||||
|
mv tmp $1/GL_NV_gpu_program_fp64
|
||||||
|
|
||||||
|
# Filter glGetUniformui64vNV from GL_NV_shader_buffer_load
|
||||||
|
grep -v "glGetUniformui64vNV" $1/GL_NV_shader_buffer_load > tmp
|
||||||
|
mv tmp $1/GL_NV_shader_buffer_load
|
||||||
|
|
||||||
|
# Filter out profile enumerations from GLX_ARB_create_context
|
||||||
|
grep -v "_PROFILE_" $1/GLX_ARB_create_context > tmp
|
||||||
|
mv tmp $1/GLX_ARB_create_context
|
||||||
|
|
||||||
|
# Filter only profile related enumerations for GLX_ARB_create_context_profile
|
||||||
|
head -n3 $1/GLX_ARB_create_context_profile > tmp
|
||||||
|
grep "_PROFILE_" $1/GLX_ARB_create_context_profile >> tmp
|
||||||
|
mv tmp $1/GLX_ARB_create_context_profile
|
||||||
|
|
||||||
|
# Filter out profile enumerations from WGL_ARB_create_context
|
||||||
|
grep -v "_PROFILE_" $1/WGL_ARB_create_context > tmp
|
||||||
|
mv tmp $1/WGL_ARB_create_context
|
||||||
|
|
||||||
|
# Filter only profile related enumerations for WGL_ARB_create_context_profile
|
||||||
|
head -n3 $1/WGL_ARB_create_context_profile > tmp
|
||||||
|
grep "_PROFILE_" $1/WGL_ARB_create_context_profile >> tmp
|
||||||
|
mv tmp $1/WGL_ARB_create_context_profile
|
||||||
|
|
||||||
|
# add missing function to GLX_NV_copy_image
|
||||||
|
cat >> $1/GLX_NV_copy_image <<EOT
|
||||||
|
void glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# add missing function to WGL_NV_copy_image
|
||||||
|
cat >> $1/WGL_NV_copy_image <<EOT
|
||||||
|
BOOL wglCopyImageSubDataNV (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# Filter glProgramParameteri from GL_ARB_separate_shader_objects
|
||||||
|
# grep -v "glProgramParameteri" $1/GL_ARB_separate_shader_objects > tmp
|
||||||
|
# mv tmp $1/GL_ARB_separate_shader_objects
|
||||||
|
|
||||||
|
# Filter out EXT functions from GL_ARB_viewport_array
|
||||||
|
grep -v "EXT" $1/GL_ARB_viewport_array > tmp
|
||||||
|
mv tmp $1/GL_ARB_viewport_array
|
||||||
|
|
||||||
|
# Additional enumerations for GL_NV_vertex_buffer_unified_memory
|
||||||
|
# These are mentioned in GL_ARB_draw_indirect.txt
|
||||||
|
|
||||||
|
cat >> $1/GL_NV_vertex_buffer_unified_memory <<EOT
|
||||||
|
GL_DRAW_INDIRECT_UNIFIED_NV 0x8F40
|
||||||
|
GL_DRAW_INDIRECT_ADDRESS_NV 0x8F41
|
||||||
|
GL_DRAW_INDIRECT_LENGTH_NV 0x8F42
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# Filter glGetPointerv from GL_ARB_debug_output
|
||||||
|
# It's part of OpenGL 1.1, after all
|
||||||
|
|
||||||
|
grep -v "glGetPointerv" $1/GL_ARB_debug_output > tmp
|
||||||
|
mv tmp $1/GL_ARB_debug_output
|
||||||
|
|
||||||
|
# Filter glGetPointerv from GL_EXT_vertex_array
|
||||||
|
# It's part of OpenGL 1.1, after all
|
||||||
|
|
||||||
|
grep -v "glGetPointerv" $1/GL_EXT_vertex_array > tmp
|
||||||
|
mv tmp $1/GL_EXT_vertex_array
|
||||||
|
|
||||||
|
# clean up
|
||||||
|
rm -f $1/*.bak
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
33
auto/bin/update_registry.sh
Executable file
33
auto/bin/update_registry.sh
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
##
|
||||||
|
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||||
|
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||||
|
##
|
||||||
|
## This program is distributed under the terms and conditions of the GNU
|
||||||
|
## General Public License Version 2 as published by the Free Software
|
||||||
|
## Foundation or, at your option, any later version.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ ! -d $1 ] ; then
|
||||||
|
mkdir $1
|
||||||
|
fi
|
||||||
|
cd $1
|
||||||
|
|
||||||
|
# wget used to return 0 (success), but more recent versions
|
||||||
|
# don't so we don't want to bail out in failure mode
|
||||||
|
# eventhough everything is fine.
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
||||||
|
wget \
|
||||||
|
--mirror \
|
||||||
|
--no-parent \
|
||||||
|
--no-host-directories \
|
||||||
|
--cut-dirs=2 \
|
||||||
|
--accept=txt,html \
|
||||||
|
$2
|
||||||
|
|
||||||
|
echo 'wget exit code: ' $?
|
||||||
|
|
||||||
|
exit 0
|
@ -4,25 +4,12 @@ EXT/vertex_array_set.alt.txt
|
|||||||
EXT/vertex_array_set.txt
|
EXT/vertex_array_set.txt
|
||||||
EXT/nurbs_tessellator.txt
|
EXT/nurbs_tessellator.txt
|
||||||
EXT/object_space_tess.txt
|
EXT/object_space_tess.txt
|
||||||
MESA/MESA_sampler_objects.txt
|
|
||||||
SGI/filter4_parameters.txt
|
SGI/filter4_parameters.txt
|
||||||
SGIS/SGIS_texture_color_mask.txt
|
SGIS/texture_color_mask.txt
|
||||||
SGIX/SGIX_dmbuffer.txt
|
SGIX/dmbuffer.txt
|
||||||
SGIX/SGIX_instruments.txt
|
SGIX/instruments.txt
|
||||||
SGIX/SGIX_video_source.txt
|
SGIX/video_source.txt
|
||||||
SGIX/SGIX_hyperpipe_group.txt
|
SGIX/hyperpipe_group.txt
|
||||||
OES/OES_fixed_point.txt
|
OES/OES_fixed_point.txt
|
||||||
OES/OES_query_matrix.txt
|
OES/OES_query_matrix.txt
|
||||||
IMG/IMG_user_clip_plane.txt
|
NV/video_capture.txt
|
||||||
NV/NV_query_resource.txt
|
|
||||||
NV/EGL_NV_coverage_sample.txt
|
|
||||||
OES/OES_draw_elements_base_vertex.txt
|
|
||||||
OES/OES_viewport_array.txt
|
|
||||||
OES/EGL_KHR_fence_sync.txt
|
|
||||||
EXT/EXT_texenv_op.txt
|
|
||||||
EXT/EXT_transform_feedback2.txt
|
|
||||||
EXT/EXT_vertex_array_set.txt
|
|
||||||
EXT/EXT_separate_shader_objects.gles.txt
|
|
||||||
IGLOO/IGLOO_swap_triangle_strip_vertex_pointerXXX.txt
|
|
||||||
IGLOO/IGLOO_viewport_offsetXXX.txt
|
|
||||||
IGLOO/IGLOO_toggle_color_and_lightXXX.txt
|
|
||||||
|
13
auto/core/GLX_AMD_gpu_association
Normal file
13
auto/core/GLX_AMD_gpu_association
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
GLX_AMD_gpu_association
|
||||||
|
http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt
|
||||||
|
GLX_AMD_gpu_association
|
||||||
|
GLX_GPU_VENDOR_AMD 0x1F00
|
||||||
|
GLX_GPU_RENDERER_STRING_AMD 0x1F01
|
||||||
|
GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
|
||||||
|
GLX_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
|
||||||
|
GLX_GPU_RAM_AMD 0x21A3
|
||||||
|
GLX_GPU_CLOCK_AMD 0x21A4
|
||||||
|
GLX_GPU_NUM_PIPES_AMD 0x21A5
|
||||||
|
GLX_GPU_NUM_SIMD_AMD 0x21A6
|
||||||
|
GLX_GPU_NUM_RB_AMD 0x21A7
|
||||||
|
GLX_GPU_NUM_SPI_AMD 0x21A8
|
@ -1,5 +1,4 @@
|
|||||||
GLX_ARB_get_proc_address
|
GLX_ARB_get_proc_address
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/ARB/get_proc_address.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/ARB/get_proc_address.txt
|
||||||
GLX_ARB_get_proc_address
|
GLX_ARB_get_proc_address
|
||||||
|
|
||||||
extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);
|
extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);
|
@ -1,5 +1,4 @@
|
|||||||
GLX_ATI_pixel_format_float
|
GLX_ATI_pixel_format_float
|
||||||
|
|
||||||
GLX_ATI_pixel_format_float
|
GLX_ATI_pixel_format_float
|
||||||
|
|
||||||
GLX_RGBA_FLOAT_ATI_BIT 0x00000100
|
GLX_RGBA_FLOAT_ATI_BIT 0x00000100
|
@ -1,7 +1,6 @@
|
|||||||
GLX_ATI_render_texture
|
GLX_ATI_render_texture
|
||||||
|
|
||||||
GLX_ATI_render_texture
|
GLX_ATI_render_texture
|
||||||
|
|
||||||
GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
|
GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
|
||||||
GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
|
GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
|
||||||
GLX_TEXTURE_FORMAT_ATI 0x9802
|
GLX_TEXTURE_FORMAT_ATI 0x9802
|
5
auto/core/GLX_EXT_fbconfig_packed_float
Normal file
5
auto/core/GLX_EXT_fbconfig_packed_float
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
GLX_EXT_fbconfig_packed_float
|
||||||
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt
|
||||||
|
GLX_EXT_fbconfig_packed_float
|
||||||
|
GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
|
||||||
|
GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
|
4
auto/core/GLX_EXT_framebuffer_sRGB
Normal file
4
auto/core/GLX_EXT_framebuffer_sRGB
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
GLX_EXT_framebuffer_sRGB
|
||||||
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt
|
||||||
|
GLX_EXT_framebuffer_sRGB
|
||||||
|
GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
|
4
auto/core/GLX_NV_float_buffer
Normal file
4
auto/core/GLX_NV_float_buffer
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
GLX_NV_float_buffer
|
||||||
|
http://cvs1.nvidia.com/inc/GL/glxtokens.h
|
||||||
|
GLX_NV_float_buffer
|
||||||
|
GLX_FLOAT_COMPONENTS_NV 0x20B0
|
@ -1,6 +1,5 @@
|
|||||||
GLX_NV_vertex_array_range
|
GLX_NV_vertex_array_range
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt
|
||||||
GLX_NV_vertex_array_range
|
GLX_NV_vertex_array_range
|
||||||
|
|
||||||
void * glXAllocateMemoryNV (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority)
|
void * glXAllocateMemoryNV (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority)
|
||||||
void glXFreeMemoryNV (void *pointer)
|
void glXFreeMemoryNV (void *pointer)
|
5
auto/core/GLX_SGIS_shared_multisample
Normal file
5
auto/core/GLX_SGIS_shared_multisample
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
GLX_SGIS_shared_multisample
|
||||||
|
|
||||||
|
GLX_SGIS_shared_multisample
|
||||||
|
GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
|
||||||
|
GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
|
@ -1,7 +1,6 @@
|
|||||||
GLX_SGIX_hyperpipe
|
GLX_SGIX_hyperpipe
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/hyperpipe_group.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/hyperpipe_group.txt
|
||||||
GLX_SGIX_hyperpipe
|
GLX_SGIX_hyperpipe
|
||||||
|
|
||||||
GLX_HYPERPIPE_ID_SGIX 0x8030
|
GLX_HYPERPIPE_ID_SGIX 0x8030
|
||||||
GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
|
GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
|
||||||
GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
|
GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
|
5
auto/core/GLX_SGIX_swap_barrier
Normal file
5
auto/core/GLX_SGIX_swap_barrier
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
GLX_SGIX_swap_barrier
|
||||||
|
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_barrier.txt
|
||||||
|
GLX_SGIX_swap_barrier
|
||||||
|
void glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier)
|
||||||
|
Bool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max)
|
4
auto/core/GLX_SGIX_swap_group
Normal file
4
auto/core/GLX_SGIX_swap_group
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
GLX_SGIX_swap_group
|
||||||
|
http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_group.txt
|
||||||
|
GLX_SGIX_swap_group
|
||||||
|
void glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member)
|
5
auto/core/GLX_SGI_video_sync
Normal file
5
auto/core/GLX_SGI_video_sync
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
GLX_SGI_video_sync
|
||||||
|
http://www.opengl.org/registry/specs/SGI/video_sync.txt
|
||||||
|
GLX_SGI_video_sync
|
||||||
|
int glXGetVideoSyncSGI (unsigned int* count)
|
||||||
|
int glXWaitVideoSyncSGI (int divisor, int remainder, unsigned int* count)
|
@ -1,7 +1,6 @@
|
|||||||
GLX_SUN_video_resize
|
GLX_SUN_video_resize
|
||||||
http://wwws.sun.com/software/graphics/opengl/extensions/glx_sun_video_resize.txt
|
http://wwws.sun.com/software/graphics/opengl/extensions/glx_sun_video_resize.txt
|
||||||
GLX_SUN_video_resize
|
GLX_SUN_video_resize
|
||||||
|
|
||||||
GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
|
GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
|
||||||
GLX_VIDEO_RESIZE_SUN 0x8171
|
GLX_VIDEO_RESIZE_SUN 0x8171
|
||||||
int glXVideoResizeSUN (Display* display, GLXDrawable window, float factor)
|
int glXVideoResizeSUN (Display* display, GLXDrawable window, float factor)
|
@ -1,5 +1,4 @@
|
|||||||
GLX_VERSION_1_2
|
GLX_VERSION_1_2
|
||||||
http://www.opengl.org/documentation/specs/glx/glx1.2.ps
|
http://www.opengl.org/documentation/specs/glx/glx1.2.ps
|
||||||
GLX_VERSION_1_2
|
GLX_VERSION_1_2
|
||||||
|
|
||||||
Display* glXGetCurrentDisplay (void)
|
Display* glXGetCurrentDisplay (void)
|
@ -1,7 +1,6 @@
|
|||||||
GLX_VERSION_1_3
|
GLX_VERSION_1_3
|
||||||
http://www.opengl.org/documentation/specs/glx/glx1.3.pdf
|
http://www.opengl.org/documentation/specs/glx/glx1.3.pdf
|
||||||
GLX_VERSION_1_3
|
GLX_VERSION_1_3
|
||||||
|
|
||||||
GLX_WINDOW_BIT 0x00000001
|
GLX_WINDOW_BIT 0x00000001
|
||||||
GLX_PIXMAP_BIT 0x00000002
|
GLX_PIXMAP_BIT 0x00000002
|
||||||
GLX_PBUFFER_BIT 0x00000004
|
GLX_PBUFFER_BIT 0x00000004
|
@ -1,7 +1,6 @@
|
|||||||
GLX_VERSION_1_4
|
GLX_VERSION_1_4
|
||||||
http://www.opengl.org/documentation/specs/glx/glx1.4.pdf
|
http://www.opengl.org/documentation/specs/glx/glx1.4.pdf
|
||||||
GLX_VERSION_1_4
|
GLX_VERSION_1_4
|
||||||
|
|
||||||
GLX_SAMPLE_BUFFERS 100000
|
GLX_SAMPLE_BUFFERS 100000
|
||||||
GLX_SAMPLES 100001
|
GLX_SAMPLES 100001
|
||||||
extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
|
extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
|
@ -1,7 +1,6 @@
|
|||||||
GL_APPLE_float_pixels
|
GL_APPLE_float_pixels
|
||||||
http://www.opengl.org/registry/specs/APPLE/float_pixels.txt
|
http://developer.apple.com/opengl/extensions/apple_float_pixels.html
|
||||||
GL_APPLE_float_pixels
|
GL_APPLE_float_pixels
|
||||||
|
|
||||||
GL_HALF_APPLE 0x140B
|
GL_HALF_APPLE 0x140B
|
||||||
GL_COLOR_FLOAT_APPLE 0x8A0F
|
GL_COLOR_FLOAT_APPLE 0x8A0F
|
||||||
GL_RGBA_FLOAT32_APPLE 0x8814
|
GL_RGBA_FLOAT32_APPLE 0x8814
|
@ -1,5 +1,4 @@
|
|||||||
GL_APPLE_pixel_buffer
|
GL_APPLE_pixel_buffer
|
||||||
|
|
||||||
GL_APPLE_pixel_buffer
|
GL_APPLE_pixel_buffer
|
||||||
|
|
||||||
GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10
|
GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10
|
@ -1,13 +1,12 @@
|
|||||||
GL_APPLE_texture_range
|
GL_APPLE_texture_range
|
||||||
http://www.opengl.org/registry/specs/APPLE/texture_range.txt
|
http://developer.apple.com/opengl/extensions/apple_texture_range.html
|
||||||
GL_APPLE_texture_range
|
GL_APPLE_texture_range
|
||||||
|
|
||||||
GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
|
GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
|
||||||
GL_STORAGE_PRIVATE_APPLE 0x85BD
|
GL_STORAGE_PRIVATE_APPLE 0x85BD
|
||||||
GL_STORAGE_CACHED_APPLE 0x85BE
|
GL_STORAGE_CACHED_APPLE 0x85BE
|
||||||
GL_STORAGE_SHARED_APPLE 0x85BF
|
GL_STORAGE_SHARED_APPLE 0x85BF
|
||||||
GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7
|
GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7
|
||||||
GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8
|
GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8
|
||||||
void glTextureRangeAPPLE (GLenum target, GLsizei length, void *pointer)
|
void glTextureRangeAPPLE (GLenum target, GLsizei length, GLvoid *pointer)
|
||||||
void glGetTexParameterPointervAPPLE (GLenum target, GLenum pname, void **params)
|
void glGetTexParameterPointervAPPLE (GLenum target, GLenum pname, GLvoid **params)
|
||||||
|
|
@ -1,7 +1,6 @@
|
|||||||
GL_ARB_imaging
|
GL_ARB_imaging
|
||||||
|
|
||||||
GL_ARB_imaging
|
GL_ARB_imaging
|
||||||
|
|
||||||
GL_CONSTANT_COLOR 0x8001
|
GL_CONSTANT_COLOR 0x8001
|
||||||
GL_ONE_MINUS_CONSTANT_COLOR 0x8002
|
GL_ONE_MINUS_CONSTANT_COLOR 0x8002
|
||||||
GL_CONSTANT_ALPHA 0x8003
|
GL_CONSTANT_ALPHA 0x8003
|
||||||
@ -79,35 +78,35 @@ GL_ARB_imaging
|
|||||||
GL_WRAP_BORDER 0x8152
|
GL_WRAP_BORDER 0x8152
|
||||||
GL_REPLICATE_BORDER 0x8153
|
GL_REPLICATE_BORDER 0x8153
|
||||||
GL_CONVOLUTION_BORDER_COLOR 0x8154
|
GL_CONVOLUTION_BORDER_COLOR 0x8154
|
||||||
void glColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table)
|
void glColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)
|
||||||
void glColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data)
|
void glColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data)
|
||||||
void glColorTableParameteriv (GLenum target, GLenum pname, const GLint *params)
|
void glColorTableParameteriv (GLenum target, GLenum pname, const GLint *params)
|
||||||
void glColorTableParameterfv (GLenum target, GLenum pname, const GLfloat *params)
|
void glColorTableParameterfv (GLenum target, GLenum pname, const GLfloat *params)
|
||||||
void glCopyColorSubTable (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
|
void glCopyColorSubTable (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
|
||||||
void glCopyColorTable (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
|
void glCopyColorTable (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
|
||||||
void glGetColorTable (GLenum target, GLenum format, GLenum type, void *table)
|
void glGetColorTable (GLenum target, GLenum format, GLenum type, GLvoid *table)
|
||||||
void glGetColorTableParameterfv (GLenum target, GLenum pname, GLfloat *params)
|
void glGetColorTableParameterfv (GLenum target, GLenum pname, GLfloat *params)
|
||||||
void glGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params)
|
void glGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params)
|
||||||
void glHistogram (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
|
void glHistogram (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
|
||||||
void glResetHistogram (GLenum target)
|
void glResetHistogram (GLenum target)
|
||||||
void glGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, void *values)
|
void glGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
|
||||||
void glGetHistogramParameterfv (GLenum target, GLenum pname, GLfloat *params)
|
void glGetHistogramParameterfv (GLenum target, GLenum pname, GLfloat *params)
|
||||||
void glGetHistogramParameteriv (GLenum target, GLenum pname, GLint *params)
|
void glGetHistogramParameteriv (GLenum target, GLenum pname, GLint *params)
|
||||||
void glMinmax (GLenum target, GLenum internalformat, GLboolean sink)
|
void glMinmax (GLenum target, GLenum internalformat, GLboolean sink)
|
||||||
void glResetMinmax (GLenum target)
|
void glResetMinmax (GLenum target)
|
||||||
void glGetMinmaxParameterfv (GLenum target, GLenum pname, GLfloat *params)
|
void glGetMinmaxParameterfv (GLenum target, GLenum pname, GLfloat *params)
|
||||||
void glGetMinmaxParameteriv (GLenum target, GLenum pname, GLint *params)
|
void glGetMinmaxParameteriv (GLenum target, GLenum pname, GLint *params)
|
||||||
void glConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image)
|
void glConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)
|
||||||
void glConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image)
|
void glConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)
|
||||||
void glConvolutionParameterf (GLenum target, GLenum pname, GLfloat params)
|
void glConvolutionParameterf (GLenum target, GLenum pname, GLfloat params)
|
||||||
void glConvolutionParameterfv (GLenum target, GLenum pname, const GLfloat *params)
|
void glConvolutionParameterfv (GLenum target, GLenum pname, const GLfloat *params)
|
||||||
void glConvolutionParameteri (GLenum target, GLenum pname, GLint params)
|
void glConvolutionParameteri (GLenum target, GLenum pname, GLint params)
|
||||||
void glConvolutionParameteriv (GLenum target, GLenum pname, const GLint *params)
|
void glConvolutionParameteriv (GLenum target, GLenum pname, const GLint *params)
|
||||||
void glCopyConvolutionFilter1D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
|
void glCopyConvolutionFilter1D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
|
||||||
void glCopyConvolutionFilter2D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
|
void glCopyConvolutionFilter2D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
|
||||||
void glGetConvolutionFilter (GLenum target, GLenum format, GLenum type, void *image)
|
void glGetConvolutionFilter (GLenum target, GLenum format, GLenum type, GLvoid *image)
|
||||||
void glGetConvolutionParameterfv (GLenum target, GLenum pname, GLfloat *params)
|
void glGetConvolutionParameterfv (GLenum target, GLenum pname, GLfloat *params)
|
||||||
void glGetConvolutionParameteriv (GLenum target, GLenum pname, GLint *params)
|
void glGetConvolutionParameteriv (GLenum target, GLenum pname, GLint *params)
|
||||||
void glSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column)
|
void glSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)
|
||||||
void glGetSeparableFilter (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span)
|
void glGetSeparableFilter (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span)
|
||||||
void glGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum types, void *values)
|
void glGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values)
|
@ -1,7 +1,6 @@
|
|||||||
GL_ARB_matrix_palette
|
GL_ARB_matrix_palette
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/ARB/matrix_palette.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/ARB/matrix_palette.txt
|
||||||
GL_ARB_matrix_palette
|
GL_ARB_matrix_palette
|
||||||
|
|
||||||
GL_MATRIX_PALETTE_ARB 0x8840
|
GL_MATRIX_PALETTE_ARB 0x8840
|
||||||
GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
|
GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
|
||||||
GL_MAX_PALETTE_MATRICES_ARB 0x8842
|
GL_MAX_PALETTE_MATRICES_ARB 0x8842
|
||||||
@ -13,7 +12,7 @@ GL_ARB_matrix_palette
|
|||||||
GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
|
GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
|
||||||
GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
|
GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
|
||||||
void glCurrentPaletteMatrixARB (GLint index)
|
void glCurrentPaletteMatrixARB (GLint index)
|
||||||
void glMatrixIndexPointerARB (GLint size, GLenum type, GLsizei stride, void *pointer)
|
void glMatrixIndexPointerARB (GLint size, GLenum type, GLsizei stride, GLvoid *pointer)
|
||||||
void glMatrixIndexubvARB (GLint size, GLubyte *indices)
|
void glMatrixIndexubvARB (GLint size, GLubyte *indices)
|
||||||
void glMatrixIndexusvARB (GLint size, GLushort *indices)
|
void glMatrixIndexusvARB (GLint size, GLushort *indices)
|
||||||
void glMatrixIndexuivARB (GLint size, GLuint *indices)
|
void glMatrixIndexuivARB (GLint size, GLuint *indices)
|
@ -1,7 +1,6 @@
|
|||||||
GL_ARB_multitexture
|
GL_ARB_multitexture
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/ARB/multitexture.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/ARB/multitexture.txt
|
||||||
GL_ARB_multitexture
|
GL_ARB_multitexture
|
||||||
|
|
||||||
GL_TEXTURE0_ARB 0x84C0
|
GL_TEXTURE0_ARB 0x84C0
|
||||||
GL_TEXTURE1_ARB 0x84C1
|
GL_TEXTURE1_ARB 0x84C1
|
||||||
GL_TEXTURE2_ARB 0x84C2
|
GL_TEXTURE2_ARB 0x84C2
|
@ -1,7 +1,6 @@
|
|||||||
GL_ARB_robustness
|
GL_ARB_robustness
|
||||||
http://www.opengl.org/registry/specs/ARB/robustness.txt
|
http://www.opengl.org/registry/specs/ARB/robustness.txt
|
||||||
GL_ARB_robustness
|
GL_ARB_robustness
|
||||||
|
|
||||||
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004
|
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004
|
||||||
GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
|
GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
|
||||||
GL_GUILTY_CONTEXT_RESET_ARB 0x8253
|
GL_GUILTY_CONTEXT_RESET_ARB 0x8253
|
||||||
@ -9,7 +8,6 @@ GL_ARB_robustness
|
|||||||
GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
|
GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
|
||||||
GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
|
GL_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
|
||||||
GL_NO_RESET_NOTIFICATION_ARB 0x8261
|
GL_NO_RESET_NOTIFICATION_ARB 0x8261
|
||||||
GLenum glGetGraphicsResetStatusARB (void)
|
|
||||||
void glGetnColorTableARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table)
|
void glGetnColorTableARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* table)
|
||||||
void glGetnCompressedTexImageARB (GLenum target, GLint lod, GLsizei bufSize, void* img)
|
void glGetnCompressedTexImageARB (GLenum target, GLint lod, GLsizei bufSize, void* img)
|
||||||
void glGetnConvolutionFilterARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image)
|
void glGetnConvolutionFilterARB (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void* image)
|
||||||
@ -22,7 +20,7 @@ GL_ARB_robustness
|
|||||||
void glGetnPixelMapuivARB (GLenum map, GLsizei bufSize, GLuint* values)
|
void glGetnPixelMapuivARB (GLenum map, GLsizei bufSize, GLuint* values)
|
||||||
void glGetnPixelMapusvARB (GLenum map, GLsizei bufSize, GLushort* values)
|
void glGetnPixelMapusvARB (GLenum map, GLsizei bufSize, GLushort* values)
|
||||||
void glGetnPolygonStippleARB (GLsizei bufSize, GLubyte* pattern)
|
void glGetnPolygonStippleARB (GLsizei bufSize, GLubyte* pattern)
|
||||||
void glGetnSeparableFilterARB (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, void*column, void*span)
|
void glGetnSeparableFilterARB (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void* row, GLsizei columnBufSize, GLvoid*column, GLvoid*span)
|
||||||
void glGetnTexImageARB (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* img)
|
void glGetnTexImageARB (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* img)
|
||||||
void glGetnUniformdvARB (GLuint program, GLint location, GLsizei bufSize, GLdouble* params)
|
void glGetnUniformdvARB (GLuint program, GLint location, GLsizei bufSize, GLdouble* params)
|
||||||
void glGetnUniformfvARB (GLuint program, GLint location, GLsizei bufSize, GLfloat* params)
|
void glGetnUniformfvARB (GLuint program, GLint location, GLsizei bufSize, GLfloat* params)
|
@ -1,7 +1,6 @@
|
|||||||
GL_ARB_separate_shader_objects
|
GL_ARB_separate_shader_objects
|
||||||
http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt
|
http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt
|
||||||
GL_ARB_separate_shader_objects
|
GL_ARB_separate_shader_objects
|
||||||
|
|
||||||
GL_VERTEX_SHADER_BIT 0x00000001
|
GL_VERTEX_SHADER_BIT 0x00000001
|
||||||
GL_FRAGMENT_SHADER_BIT 0x00000002
|
GL_FRAGMENT_SHADER_BIT 0x00000002
|
||||||
GL_GEOMETRY_SHADER_BIT 0x00000004
|
GL_GEOMETRY_SHADER_BIT 0x00000004
|
||||||
@ -13,10 +12,10 @@ GL_ARB_separate_shader_objects
|
|||||||
GL_ALL_SHADER_BITS 0xFFFFFFFF
|
GL_ALL_SHADER_BITS 0xFFFFFFFF
|
||||||
void glActiveShaderProgram (GLuint pipeline, GLuint program)
|
void glActiveShaderProgram (GLuint pipeline, GLuint program)
|
||||||
void glBindProgramPipeline (GLuint pipeline)
|
void glBindProgramPipeline (GLuint pipeline)
|
||||||
GLuint glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar * const * strings)
|
GLuint glCreateShaderProgramv (GLenum type, GLsizei count, const char ** strings)
|
||||||
void glDeleteProgramPipelines (GLsizei n, const GLuint* pipelines)
|
void glDeleteProgramPipelines (GLsizei n, const GLuint* pipelines)
|
||||||
void glGenProgramPipelines (GLsizei n, GLuint* pipelines)
|
void glGenProgramPipelines (GLsizei n, GLuint* pipelines)
|
||||||
void glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar *infoLog)
|
void glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei* length, char *infoLog)
|
||||||
void glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint* params)
|
void glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint* params)
|
||||||
GLboolean glIsProgramPipeline (GLuint pipeline)
|
GLboolean glIsProgramPipeline (GLuint pipeline)
|
||||||
void glProgramUniform1d (GLuint program, GLint location, GLdouble x)
|
void glProgramUniform1d (GLuint program, GLint location, GLdouble x)
|
@ -1,7 +1,12 @@
|
|||||||
GL_ARB_vertex_attrib_64bit
|
GL_ARB_vertex_attrib_64bit
|
||||||
http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt
|
http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt
|
||||||
GL_ARB_vertex_attrib_64bit
|
GL_ARB_vertex_attrib_64bit
|
||||||
|
GL_DOUBLE_MAT2 0x8F46
|
||||||
|
GL_DOUBLE_MAT3 0x8F47
|
||||||
|
GL_DOUBLE_MAT4 0x8F48
|
||||||
|
GL_DOUBLE_VEC2 0x8FFC
|
||||||
|
GL_DOUBLE_VEC3 0x8FFD
|
||||||
|
GL_DOUBLE_VEC4 0x8FFE
|
||||||
void glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble* params)
|
void glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble* params)
|
||||||
void glVertexAttribL1d (GLuint index, GLdouble x)
|
void glVertexAttribL1d (GLuint index, GLdouble x)
|
||||||
void glVertexAttribL1dv (GLuint index, const GLdouble* v)
|
void glVertexAttribL1dv (GLuint index, const GLdouble* v)
|
@ -1,7 +1,6 @@
|
|||||||
GL_ARB_vertex_blend
|
GL_ARB_vertex_blend
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_blend.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_blend.txt
|
||||||
GL_ARB_vertex_blend
|
GL_ARB_vertex_blend
|
||||||
|
|
||||||
GL_MAX_VERTEX_UNITS_ARB 0x86A4
|
GL_MAX_VERTEX_UNITS_ARB 0x86A4
|
||||||
GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
|
GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
|
||||||
GL_WEIGHT_SUM_UNITY_ARB 0x86A6
|
GL_WEIGHT_SUM_UNITY_ARB 0x86A6
|
||||||
@ -52,5 +51,5 @@ GL_ARB_vertex_blend
|
|||||||
void glWeightubvARB (GLint size, GLubyte *weights)
|
void glWeightubvARB (GLint size, GLubyte *weights)
|
||||||
void glWeightusvARB (GLint size, GLushort *weights)
|
void glWeightusvARB (GLint size, GLushort *weights)
|
||||||
void glWeightuivARB (GLint size, GLuint *weights)
|
void glWeightuivARB (GLint size, GLuint *weights)
|
||||||
void glWeightPointerARB (GLint size, GLenum type, GLsizei stride, void *pointer)
|
void glWeightPointerARB (GLint size, GLenum type, GLsizei stride, GLvoid *pointer)
|
||||||
void glVertexBlendARB (GLint count)
|
void glVertexBlendARB (GLint count)
|
@ -1,7 +1,6 @@
|
|||||||
GL_ATIX_point_sprites
|
GL_ATIX_point_sprites
|
||||||
http://www.ati.com/developer/atiopengl.pdf
|
http://www.ati.com/developer/atiopengl.pdf
|
||||||
GL_ATIX_point_sprites
|
GL_ATIX_point_sprites
|
||||||
|
|
||||||
GL_TEXTURE_POINT_MODE_ATIX 0x60B0
|
GL_TEXTURE_POINT_MODE_ATIX 0x60B0
|
||||||
GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1
|
GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1
|
||||||
GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2
|
GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2
|
@ -1,7 +1,6 @@
|
|||||||
GL_ATIX_texture_env_combine3
|
GL_ATIX_texture_env_combine3
|
||||||
http://www.ati.com/developer/atiopengl.pdf
|
http://www.ati.com/developer/atiopengl.pdf
|
||||||
GL_ATIX_texture_env_combine3
|
GL_ATIX_texture_env_combine3
|
||||||
|
|
||||||
GL_MODULATE_ADD_ATIX 0x8744
|
GL_MODULATE_ADD_ATIX 0x8744
|
||||||
GL_MODULATE_SIGNED_ADD_ATIX 0x8745
|
GL_MODULATE_SIGNED_ADD_ATIX 0x8745
|
||||||
GL_MODULATE_SUBTRACT_ATIX 0x8746
|
GL_MODULATE_SUBTRACT_ATIX 0x8746
|
@ -1,7 +1,6 @@
|
|||||||
GL_ATIX_texture_env_route
|
GL_ATIX_texture_env_route
|
||||||
http://www.ati.com/developer/sdk/RadeonSDK/Html/Info/ATIX_texture_env_route.txt
|
http://www.ati.com/developer/sdk/RadeonSDK/Html/Info/ATIX_texture_env_route.txt
|
||||||
GL_ATIX_texture_env_route
|
GL_ATIX_texture_env_route
|
||||||
|
|
||||||
GL_SECONDARY_COLOR_ATIX 0x8747
|
GL_SECONDARY_COLOR_ATIX 0x8747
|
||||||
GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748
|
GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748
|
||||||
GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749
|
GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749
|
@ -1,5 +1,4 @@
|
|||||||
GL_ATIX_vertex_shader_output_point_size
|
GL_ATIX_vertex_shader_output_point_size
|
||||||
http://www.ati.com/developer/atiopengl.pdf
|
http://www.ati.com/developer/atiopengl.pdf
|
||||||
GL_ATIX_vertex_shader_output_point_size
|
GL_ATIX_vertex_shader_output_point_size
|
||||||
|
|
||||||
GL_OUTPUT_POINT_SIZE_ATIX 0x610E
|
GL_OUTPUT_POINT_SIZE_ATIX 0x610E
|
@ -1,7 +1,6 @@
|
|||||||
GL_ATI_envmap_bumpmap
|
GL_ATI_envmap_bumpmap
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/ATI/envmap_bumpmap.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/ATI/envmap_bumpmap.txt
|
||||||
GL_ATI_envmap_bumpmap
|
GL_ATI_envmap_bumpmap
|
||||||
|
|
||||||
GL_BUMP_ROT_MATRIX_ATI 0x8775
|
GL_BUMP_ROT_MATRIX_ATI 0x8775
|
||||||
GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
|
GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
|
||||||
GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
|
GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
|
5
auto/core/GL_ATI_map_object_buffer
Normal file
5
auto/core/GL_ATI_map_object_buffer
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
GL_ATI_map_object_buffer
|
||||||
|
http://www.ati.com/developer/sdk/RADEONSDK/Html/Info/ATI_map_object_buffer.txt
|
||||||
|
GL_ATI_map_object_buffer
|
||||||
|
void* glMapObjectBufferATI (GLuint buffer)
|
||||||
|
void glUnmapObjectBufferATI (GLuint buffer)
|
@ -1,7 +1,6 @@
|
|||||||
GL_ATI_pn_triangles
|
GL_ATI_pn_triangles
|
||||||
http://www.opengl.org/registry/specs/ATI/pn_triangles.txt
|
http://www.ati.com/developer/sdk/RADEONSDK/Html/Info/ati_pn_triangles.txt
|
||||||
GL_ATI_pn_triangles
|
GL_ATI_pn_triangles
|
||||||
|
|
||||||
GL_PN_TRIANGLES_ATI 0x87F0
|
GL_PN_TRIANGLES_ATI 0x87F0
|
||||||
GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
|
GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
|
||||||
GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
|
GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
|
@ -1,7 +1,6 @@
|
|||||||
GL_ATI_separate_stencil
|
GL_ATI_separate_stencil
|
||||||
http://www.opengl.org/registry/specs/ATI/separate_stencil.txt
|
http://www.ati.com/developer/sdk/RadeonSDK/Html/Info/ATI_separate_stencil.txt
|
||||||
GL_ATI_separate_stencil
|
GL_ATI_separate_stencil
|
||||||
|
|
||||||
GL_STENCIL_BACK_FUNC_ATI 0x8800
|
GL_STENCIL_BACK_FUNC_ATI 0x8800
|
||||||
GL_STENCIL_BACK_FAIL_ATI 0x8801
|
GL_STENCIL_BACK_FAIL_ATI 0x8801
|
||||||
GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
|
GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
|
@ -1,4 +1,3 @@
|
|||||||
GL_ATI_shader_texture_lod
|
GL_ATI_shader_texture_lod
|
||||||
|
|
||||||
GL_ATI_shader_texture_lod
|
GL_ATI_shader_texture_lod
|
||||||
|
|
@ -1,5 +1,4 @@
|
|||||||
GL_ATI_texture_compression_3dc
|
GL_ATI_texture_compression_3dc
|
||||||
|
|
||||||
GL_ATI_texture_compression_3dc
|
GL_ATI_texture_compression_3dc
|
||||||
|
|
||||||
GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837
|
GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837
|
@ -1,7 +1,6 @@
|
|||||||
GL_ATI_vertex_streams
|
GL_ATI_vertex_streams
|
||||||
http://www.opengl.org/registry/specs/ATI/vertex_streams.txt
|
http://www.ati.com/developer/sdk/RADEONSDK/Html/Info/ATI_vertex_streams.txt
|
||||||
GL_ATI_vertex_streams
|
GL_ATI_vertex_streams
|
||||||
|
|
||||||
GL_MAX_VERTEX_STREAMS_ATI 0x876B
|
GL_MAX_VERTEX_STREAMS_ATI 0x876B
|
||||||
GL_VERTEX_SOURCE_ATI 0x876C
|
GL_VERTEX_SOURCE_ATI 0x876C
|
||||||
GL_VERTEX_STREAM0_ATI 0x876D
|
GL_VERTEX_STREAM0_ATI 0x876D
|
||||||
@ -15,45 +14,37 @@ GL_ATI_vertex_streams
|
|||||||
void glClientActiveVertexStreamATI (GLenum stream)
|
void glClientActiveVertexStreamATI (GLenum stream)
|
||||||
void glVertexBlendEnviATI (GLenum pname, GLint param)
|
void glVertexBlendEnviATI (GLenum pname, GLint param)
|
||||||
void glVertexBlendEnvfATI (GLenum pname, GLfloat param)
|
void glVertexBlendEnvfATI (GLenum pname, GLfloat param)
|
||||||
void glVertexStream1sATI (GLenum stream, GLshort x)
|
|
||||||
void glVertexStream1svATI (GLenum stream, const GLshort *coords)
|
|
||||||
void glVertexStream1iATI (GLenum stream, GLint x)
|
|
||||||
void glVertexStream1ivATI (GLenum stream, const GLint *coords)
|
|
||||||
void glVertexStream1fATI (GLenum stream, GLfloat x)
|
|
||||||
void glVertexStream1fvATI (GLenum stream, const GLfloat *coords)
|
|
||||||
void glVertexStream1dATI (GLenum stream, GLdouble x)
|
|
||||||
void glVertexStream1dvATI (GLenum stream, const GLdouble *coords)
|
|
||||||
void glVertexStream2sATI (GLenum stream, GLshort x, GLshort y)
|
void glVertexStream2sATI (GLenum stream, GLshort x, GLshort y)
|
||||||
void glVertexStream2svATI (GLenum stream, const GLshort *coords)
|
void glVertexStream2svATI (GLenum stream, const GLshort *v)
|
||||||
void glVertexStream2iATI (GLenum stream, GLint x, GLint y)
|
void glVertexStream2iATI (GLenum stream, GLint x, GLint y)
|
||||||
void glVertexStream2ivATI (GLenum stream, const GLint *coords)
|
void glVertexStream2ivATI (GLenum stream, const GLint *v)
|
||||||
void glVertexStream2fATI (GLenum stream, GLfloat x, GLfloat y)
|
void glVertexStream2fATI (GLenum stream, GLfloat x, GLfloat y)
|
||||||
void glVertexStream2fvATI (GLenum stream, const GLfloat *coords)
|
void glVertexStream2fvATI (GLenum stream, const GLfloat *v)
|
||||||
void glVertexStream2dATI (GLenum stream, GLdouble x, GLdouble y)
|
void glVertexStream2dATI (GLenum stream, GLdouble x, GLdouble y)
|
||||||
void glVertexStream2dvATI (GLenum stream, const GLdouble *coords)
|
void glVertexStream2dvATI (GLenum stream, const GLdouble *v)
|
||||||
void glVertexStream3sATI (GLenum stream, GLshort x, GLshort y, GLshort z)
|
void glVertexStream3sATI (GLenum stream, GLshort x, GLshort y, GLshort z)
|
||||||
void glVertexStream3svATI (GLenum stream, const GLshort *coords)
|
void glVertexStream3svATI (GLenum stream, const GLshort *v)
|
||||||
void glVertexStream3iATI (GLenum stream, GLint x, GLint y, GLint z)
|
void glVertexStream3iATI (GLenum stream, GLint x, GLint y, GLint z)
|
||||||
void glVertexStream3ivATI (GLenum stream, const GLint *coords)
|
void glVertexStream3ivATI (GLenum stream, const GLint *v)
|
||||||
void glVertexStream3fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z)
|
void glVertexStream3fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z)
|
||||||
void glVertexStream3fvATI (GLenum stream, const GLfloat *coords)
|
void glVertexStream3fvATI (GLenum stream, const GLfloat *v)
|
||||||
void glVertexStream3dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z)
|
void glVertexStream3dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z)
|
||||||
void glVertexStream3dvATI (GLenum stream, const GLdouble *coords)
|
void glVertexStream3dvATI (GLenum stream, const GLdouble *v)
|
||||||
void glVertexStream4sATI (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w)
|
void glVertexStream4sATI (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w)
|
||||||
void glVertexStream4svATI (GLenum stream, const GLshort *coords)
|
void glVertexStream4svATI (GLenum stream, const GLshort *v)
|
||||||
void glVertexStream4iATI (GLenum stream, GLint x, GLint y, GLint z, GLint w)
|
void glVertexStream4iATI (GLenum stream, GLint x, GLint y, GLint z, GLint w)
|
||||||
void glVertexStream4ivATI (GLenum stream, const GLint *coords)
|
void glVertexStream4ivATI (GLenum stream, const GLint *v)
|
||||||
void glVertexStream4fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
|
void glVertexStream4fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
|
||||||
void glVertexStream4fvATI (GLenum stream, const GLfloat *coords)
|
void glVertexStream4fvATI (GLenum stream, const GLfloat *v)
|
||||||
void glVertexStream4dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
|
void glVertexStream4dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
|
||||||
void glVertexStream4dvATI (GLenum stream, const GLdouble *coords)
|
void glVertexStream4dvATI (GLenum stream, const GLdouble *v)
|
||||||
void glNormalStream3bATI (GLenum stream, GLbyte x, GLbyte y, GLbyte z)
|
void glNormalStream3bATI (GLenum stream, GLbyte x, GLbyte y, GLbyte z)
|
||||||
void glNormalStream3bvATI (GLenum stream, const GLbyte *coords)
|
void glNormalStream3bvATI (GLenum stream, const GLbyte *v)
|
||||||
void glNormalStream3sATI (GLenum stream, GLshort x, GLshort y, GLshort z)
|
void glNormalStream3sATI (GLenum stream, GLshort x, GLshort y, GLshort z)
|
||||||
void glNormalStream3svATI (GLenum stream, const GLshort *coords)
|
void glNormalStream3svATI (GLenum stream, const GLshort *v)
|
||||||
void glNormalStream3iATI (GLenum stream, GLint x, GLint y, GLint z)
|
void glNormalStream3iATI (GLenum stream, GLint x, GLint y, GLint z)
|
||||||
void glNormalStream3ivATI (GLenum stream, const GLint *coords)
|
void glNormalStream3ivATI (GLenum stream, const GLint *v)
|
||||||
void glNormalStream3fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z)
|
void glNormalStream3fATI (GLenum stream, GLfloat x, GLfloat y, GLfloat z)
|
||||||
void glNormalStream3fvATI (GLenum stream, const GLfloat *coords)
|
void glNormalStream3fvATI (GLenum stream, const GLfloat *v)
|
||||||
void glNormalStream3dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z)
|
void glNormalStream3dATI (GLenum stream, GLdouble x, GLdouble y, GLdouble z)
|
||||||
void glNormalStream3dvATI (GLenum stream, const GLdouble *coords)
|
void glNormalStream3dvATI (GLenum stream, const GLdouble *v)
|
@ -1,6 +1,5 @@
|
|||||||
GL_EXT_Cg_shader
|
GL_EXT_Cg_shader
|
||||||
http://download.nvidia.com/developer/GLSL/GLSL%20Release%20Notes%20for%20Release%2060.pdf
|
http://download.nvidia.com/developer/GLSL/GLSL%20Release%20Notes%20for%20Release%2060.pdf
|
||||||
GL_EXT_Cg_shader
|
GL_EXT_Cg_shader
|
||||||
|
|
||||||
GL_CG_VERTEX_SHADER_EXT 0x890E
|
GL_CG_VERTEX_SHADER_EXT 0x890E
|
||||||
GL_CG_FRAGMENT_SHADER_EXT 0x890F
|
GL_CG_FRAGMENT_SHADER_EXT 0x890F
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_bindable_uniform
|
GL_EXT_bindable_uniform
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_bindable_uniform.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_bindable_uniform.txt
|
||||||
GL_EXT_bindable_uniform
|
GL_EXT_bindable_uniform
|
||||||
|
|
||||||
GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
|
GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
|
||||||
GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
|
GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
|
||||||
GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
|
GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_depth_bounds_test
|
GL_EXT_depth_bounds_test
|
||||||
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_depth_bounds_test.txt
|
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_depth_bounds_test.txt
|
||||||
GL_EXT_depth_bounds_test
|
GL_EXT_depth_bounds_test
|
||||||
|
|
||||||
GL_DEPTH_BOUNDS_TEST_EXT 0x8890
|
GL_DEPTH_BOUNDS_TEST_EXT 0x8890
|
||||||
GL_DEPTH_BOUNDS_EXT 0x8891
|
GL_DEPTH_BOUNDS_EXT 0x8891
|
||||||
void glDepthBoundsEXT (GLclampd zmin, GLclampd zmax)
|
void glDepthBoundsEXT (GLclampd zmin, GLclampd zmax)
|
@ -1,6 +1,5 @@
|
|||||||
GL_EXT_draw_instanced
|
GL_EXT_draw_instanced
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_draw_instanced.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_draw_instanced.txt
|
||||||
GL_EXT_draw_instanced
|
GL_EXT_draw_instanced
|
||||||
|
|
||||||
void glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount)
|
void glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount)
|
||||||
void glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount)
|
void glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_draw_range_elements
|
GL_EXT_draw_range_elements
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/EXT/draw_range_elements.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/EXT/draw_range_elements.txt
|
||||||
GL_EXT_draw_range_elements
|
GL_EXT_draw_range_elements
|
||||||
|
|
||||||
GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8
|
GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8
|
||||||
GL_MAX_ELEMENTS_INDICES_EXT 0x80E9
|
GL_MAX_ELEMENTS_INDICES_EXT 0x80E9
|
||||||
void glDrawRangeElementsEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)
|
void glDrawRangeElementsEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_fog_coord
|
GL_EXT_fog_coord
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/EXT/fog_coord.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/EXT/fog_coord.txt
|
||||||
GL_EXT_fog_coord
|
GL_EXT_fog_coord
|
||||||
|
|
||||||
GL_FOG_COORDINATE_SOURCE_EXT 0x8450
|
GL_FOG_COORDINATE_SOURCE_EXT 0x8450
|
||||||
GL_FOG_COORDINATE_EXT 0x8451
|
GL_FOG_COORDINATE_EXT 0x8451
|
||||||
GL_FRAGMENT_DEPTH_EXT 0x8452
|
GL_FRAGMENT_DEPTH_EXT 0x8452
|
||||||
@ -14,4 +13,4 @@ GL_EXT_fog_coord
|
|||||||
void glFogCoordfvEXT (const GLfloat *coord)
|
void glFogCoordfvEXT (const GLfloat *coord)
|
||||||
void glFogCoorddEXT (GLdouble coord)
|
void glFogCoorddEXT (GLdouble coord)
|
||||||
void glFogCoorddvEXT (const GLdouble *coord)
|
void glFogCoorddvEXT (const GLdouble *coord)
|
||||||
void glFogCoordPointerEXT (GLenum type, GLsizei stride, const void *pointer)
|
void glFogCoordPointerEXT (GLenum type, GLsizei stride, const GLvoid *pointer)
|
@ -1,6 +1,5 @@
|
|||||||
GL_EXT_framebuffer_sRGB
|
GL_EXT_framebuffer_sRGB
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt
|
||||||
GL_EXT_framebuffer_sRGB
|
GL_EXT_framebuffer_sRGB
|
||||||
|
|
||||||
GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
|
GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
|
||||||
GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA
|
GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_geometry_shader4
|
GL_EXT_geometry_shader4
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_geometry_shader4.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_geometry_shader4.txt
|
||||||
GL_EXT_geometry_shader4
|
GL_EXT_geometry_shader4
|
||||||
|
|
||||||
GL_GEOMETRY_SHADER_EXT 0x8DD9
|
GL_GEOMETRY_SHADER_EXT 0x8DD9
|
||||||
GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
|
GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
|
||||||
GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
|
GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
|
||||||
@ -24,4 +23,5 @@ GL_EXT_geometry_shader4
|
|||||||
GL_PROGRAM_POINT_SIZE_EXT 0x8642
|
GL_PROGRAM_POINT_SIZE_EXT 0x8642
|
||||||
void glProgramParameteriEXT (GLuint program, GLenum pname, GLint value)
|
void glProgramParameteriEXT (GLuint program, GLenum pname, GLint value)
|
||||||
void glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level)
|
void glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level)
|
||||||
|
void glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
|
||||||
void glFramebufferTextureFaceEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
|
void glFramebufferTextureFaceEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
|
@ -1,6 +1,5 @@
|
|||||||
GL_EXT_gpu_program_parameters
|
GL_EXT_gpu_program_parameters
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_program_parameters.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_program_parameters.txt
|
||||||
GL_EXT_gpu_program_parameters
|
GL_EXT_gpu_program_parameters
|
||||||
|
|
||||||
void glProgramEnvParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat* params)
|
void glProgramEnvParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat* params)
|
||||||
void glProgramLocalParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat* params)
|
void glProgramLocalParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat* params)
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_gpu_shader4
|
GL_EXT_gpu_shader4
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_shader4.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_shader4.txt
|
||||||
GL_EXT_gpu_shader4
|
GL_EXT_gpu_shader4
|
||||||
|
|
||||||
GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
|
GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
|
||||||
GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
|
GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
|
||||||
GL_SAMPLER_BUFFER_EXT 0x8DC2
|
GL_SAMPLER_BUFFER_EXT 0x8DC2
|
||||||
@ -59,6 +58,6 @@ GL_EXT_gpu_shader4
|
|||||||
void glVertexAttribI4svEXT (GLuint index, const GLshort *v)
|
void glVertexAttribI4svEXT (GLuint index, const GLshort *v)
|
||||||
void glVertexAttribI4ubvEXT (GLuint index, const GLubyte *v)
|
void glVertexAttribI4ubvEXT (GLuint index, const GLubyte *v)
|
||||||
void glVertexAttribI4usvEXT (GLuint index, const GLushort *v)
|
void glVertexAttribI4usvEXT (GLuint index, const GLushort *v)
|
||||||
void glVertexAttribIPointerEXT (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)
|
void glVertexAttribIPointerEXT (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
|
||||||
void glGetVertexAttribIivEXT (GLuint index, GLenum pname, GLint *params)
|
void glGetVertexAttribIivEXT (GLuint index, GLenum pname, GLint *params)
|
||||||
void glGetVertexAttribIuivEXT (GLuint index, GLenum pname, GLuint *params)
|
void glGetVertexAttribIuivEXT (GLuint index, GLenum pname, GLuint *params)
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_packed_float
|
GL_EXT_packed_float
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt
|
||||||
GL_EXT_packed_float
|
GL_EXT_packed_float
|
||||||
|
|
||||||
GL_R11F_G11F_B10F_EXT 0x8C3A
|
GL_R11F_G11F_B10F_EXT 0x8C3A
|
||||||
GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
|
GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
|
||||||
GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C
|
GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_pixel_buffer_object
|
GL_EXT_pixel_buffer_object
|
||||||
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_pixel_buffer_object.txt
|
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_pixel_buffer_object.txt
|
||||||
GL_EXT_pixel_buffer_object
|
GL_EXT_pixel_buffer_object
|
||||||
|
|
||||||
GL_PIXEL_PACK_BUFFER_EXT 0x88EB
|
GL_PIXEL_PACK_BUFFER_EXT 0x88EB
|
||||||
GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
|
GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
|
||||||
GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
|
GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_secondary_color
|
GL_EXT_secondary_color
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/EXT/secondary_color.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/EXT/secondary_color.txt
|
||||||
GL_EXT_secondary_color
|
GL_EXT_secondary_color
|
||||||
|
|
||||||
GL_COLOR_SUM_EXT 0x8458
|
GL_COLOR_SUM_EXT 0x8458
|
||||||
GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
|
GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
|
||||||
GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
|
GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
|
||||||
@ -25,4 +24,4 @@ GL_EXT_secondary_color
|
|||||||
void glSecondaryColor3uivEXT (const GLuint *v)
|
void glSecondaryColor3uivEXT (const GLuint *v)
|
||||||
void glSecondaryColor3usEXT (GLushort red, GLushort green, GLushort blue)
|
void glSecondaryColor3usEXT (GLushort red, GLushort green, GLushort blue)
|
||||||
void glSecondaryColor3usvEXT (const GLushort *v)
|
void glSecondaryColor3usvEXT (const GLushort *v)
|
||||||
void glSecondaryColorPointerEXT (GLint size, GLenum type, GLsizei stride, const void *pointer)
|
void glSecondaryColorPointerEXT (GLint size, GLenum type, GLsizei stride, GLvoid *pointer)
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_texture_array
|
GL_EXT_texture_array
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_array.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_array.txt
|
||||||
GL_EXT_texture_array
|
GL_EXT_texture_array
|
||||||
|
|
||||||
GL_TEXTURE_1D_ARRAY_EXT 0x8C18
|
GL_TEXTURE_1D_ARRAY_EXT 0x8C18
|
||||||
GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
|
GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
|
||||||
GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
|
GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
|
||||||
@ -10,4 +9,3 @@ GL_EXT_texture_array
|
|||||||
GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
|
GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
|
||||||
GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
|
GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
|
||||||
GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
|
GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
|
||||||
void glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
|
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_texture_buffer_object
|
GL_EXT_texture_buffer_object
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_buffer_object.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_buffer_object.txt
|
||||||
GL_EXT_texture_buffer_object
|
GL_EXT_texture_buffer_object
|
||||||
|
|
||||||
GL_TEXTURE_BUFFER_EXT 0x8C2A
|
GL_TEXTURE_BUFFER_EXT 0x8C2A
|
||||||
GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
|
GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
|
||||||
GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
|
GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_texture_compression_latc
|
GL_EXT_texture_compression_latc
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_latc.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_latc.txt
|
||||||
GL_EXT_texture_compression_latc
|
GL_EXT_texture_compression_latc
|
||||||
|
|
||||||
GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
|
GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
|
||||||
GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
|
GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
|
||||||
GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
|
GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_texture_compression_rgtc
|
GL_EXT_texture_compression_rgtc
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_rgtc.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_rgtc.txt
|
||||||
GL_EXT_texture_compression_rgtc
|
GL_EXT_texture_compression_rgtc
|
||||||
|
|
||||||
GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
|
GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
|
||||||
GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
|
GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
|
||||||
GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
|
GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_texture_cube_map
|
GL_EXT_texture_cube_map
|
||||||
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_texture_cube_map.txt
|
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_texture_cube_map.txt
|
||||||
GL_EXT_texture_cube_map
|
GL_EXT_texture_cube_map
|
||||||
|
|
||||||
GL_NORMAL_MAP_EXT 0x8511
|
GL_NORMAL_MAP_EXT 0x8511
|
||||||
GL_REFLECTION_MAP_EXT 0x8512
|
GL_REFLECTION_MAP_EXT 0x8512
|
||||||
GL_TEXTURE_CUBE_MAP_EXT 0x8513
|
GL_TEXTURE_CUBE_MAP_EXT 0x8513
|
@ -1,5 +1,4 @@
|
|||||||
GL_EXT_texture_edge_clamp
|
GL_EXT_texture_edge_clamp
|
||||||
http://www.opengl.org/developers/documentation/Version1.2/1.2specs/texture_edge_clamp.txt
|
http://www.opengl.org/developers/documentation/Version1.2/1.2specs/texture_edge_clamp.txt
|
||||||
GL_EXT_texture_edge_clamp
|
GL_EXT_texture_edge_clamp
|
||||||
|
|
||||||
GL_CLAMP_TO_EDGE_EXT 0x812F
|
GL_CLAMP_TO_EDGE_EXT 0x812F
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_texture_integer
|
GL_EXT_texture_integer
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_integer.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_integer.txt
|
||||||
GL_EXT_texture_integer
|
GL_EXT_texture_integer
|
||||||
|
|
||||||
GL_RGBA32UI_EXT 0x8D70
|
GL_RGBA32UI_EXT 0x8D70
|
||||||
GL_RGB32UI_EXT 0x8D71
|
GL_RGB32UI_EXT 0x8D71
|
||||||
GL_ALPHA32UI_EXT 0x8D72
|
GL_ALPHA32UI_EXT 0x8D72
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_texture_rectangle
|
GL_EXT_texture_rectangle
|
||||||
http://developer.apple.com/opengl/extensions/ext_texture_rectangle.html
|
http://developer.apple.com/opengl/extensions/ext_texture_rectangle.html
|
||||||
GL_EXT_texture_rectangle
|
GL_EXT_texture_rectangle
|
||||||
|
|
||||||
GL_TEXTURE_RECTANGLE_EXT 0x84F5
|
GL_TEXTURE_RECTANGLE_EXT 0x84F5
|
||||||
GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6
|
GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6
|
||||||
GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7
|
GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_texture_shared_exponent
|
GL_EXT_texture_shared_exponent
|
||||||
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_shared_exponent.txt
|
http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_shared_exponent.txt
|
||||||
GL_EXT_texture_shared_exponent
|
GL_EXT_texture_shared_exponent
|
||||||
|
|
||||||
GL_RGB9_E5_EXT 0x8C3D
|
GL_RGB9_E5_EXT 0x8C3D
|
||||||
GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
|
GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
|
||||||
GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F
|
GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_timer_query
|
GL_EXT_timer_query
|
||||||
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_timer_query.txt
|
http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_timer_query.txt
|
||||||
GL_EXT_timer_query
|
GL_EXT_timer_query
|
||||||
|
|
||||||
GL_TIME_ELAPSED_EXT 0x88BF
|
GL_TIME_ELAPSED_EXT 0x88BF
|
||||||
void glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64EXT *params)
|
void glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64EXT *params)
|
||||||
void glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64EXT *params)
|
void glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64EXT *params)
|
@ -1,7 +1,6 @@
|
|||||||
GL_EXT_vertex_shader
|
GL_EXT_vertex_shader
|
||||||
http://oss.sgi.com/projects/ogl-sample/registry/EXT/vertex_shader.txt
|
http://oss.sgi.com/projects/ogl-sample/registry/EXT/vertex_shader.txt
|
||||||
GL_EXT_vertex_shader
|
GL_EXT_vertex_shader
|
||||||
|
|
||||||
GL_VERTEX_SHADER_EXT 0x8780
|
GL_VERTEX_SHADER_EXT 0x8780
|
||||||
GL_VERTEX_SHADER_BINDING_EXT 0x8781
|
GL_VERTEX_SHADER_BINDING_EXT 0x8781
|
||||||
GL_OP_INDEX_EXT 0x8782
|
GL_OP_INDEX_EXT 0x8782
|
||||||
@ -126,8 +125,8 @@ GL_EXT_vertex_shader
|
|||||||
void glInsertComponentEXT (GLuint res, GLuint src, GLuint num)
|
void glInsertComponentEXT (GLuint res, GLuint src, GLuint num)
|
||||||
void glExtractComponentEXT (GLuint res, GLuint src, GLuint num)
|
void glExtractComponentEXT (GLuint res, GLuint src, GLuint num)
|
||||||
GLuint glGenSymbolsEXT (GLenum dataType, GLenum storageType, GLenum range, GLuint components)
|
GLuint glGenSymbolsEXT (GLenum dataType, GLenum storageType, GLenum range, GLuint components)
|
||||||
void glSetInvariantEXT (GLuint id, GLenum type, void *addr)
|
void glSetInvariantEXT (GLuint id, GLenum type, GLvoid *addr)
|
||||||
void glSetLocalConstantEXT (GLuint id, GLenum type, void *addr)
|
void glSetLocalConstantEXT (GLuint id, GLenum type, GLvoid *addr)
|
||||||
void glVariantbvEXT (GLuint id, GLbyte *addr)
|
void glVariantbvEXT (GLuint id, GLbyte *addr)
|
||||||
void glVariantsvEXT (GLuint id, GLshort *addr)
|
void glVariantsvEXT (GLuint id, GLshort *addr)
|
||||||
void glVariantivEXT (GLuint id, GLint *addr)
|
void glVariantivEXT (GLuint id, GLint *addr)
|
||||||
@ -136,7 +135,7 @@ GL_EXT_vertex_shader
|
|||||||
void glVariantubvEXT (GLuint id, GLubyte *addr)
|
void glVariantubvEXT (GLuint id, GLubyte *addr)
|
||||||
void glVariantusvEXT (GLuint id, GLushort *addr)
|
void glVariantusvEXT (GLuint id, GLushort *addr)
|
||||||
void glVariantuivEXT (GLuint id, GLuint *addr)
|
void glVariantuivEXT (GLuint id, GLuint *addr)
|
||||||
void glVariantPointerEXT (GLuint id, GLenum type, GLuint stride, void *addr)
|
void glVariantPointerEXT (GLuint id, GLenum type, GLuint stride, GLvoid *addr)
|
||||||
void glEnableVariantClientStateEXT (GLuint id)
|
void glEnableVariantClientStateEXT (GLuint id)
|
||||||
void glDisableVariantClientStateEXT (GLuint id)
|
void glDisableVariantClientStateEXT (GLuint id)
|
||||||
GLuint glBindLightParameterEXT (GLenum light, GLenum value)
|
GLuint glBindLightParameterEXT (GLenum light, GLenum value)
|
||||||
@ -148,7 +147,7 @@ GL_EXT_vertex_shader
|
|||||||
void glGetVariantBooleanvEXT (GLuint id, GLenum value, GLboolean *data)
|
void glGetVariantBooleanvEXT (GLuint id, GLenum value, GLboolean *data)
|
||||||
void glGetVariantIntegervEXT (GLuint id, GLenum value, GLint *data)
|
void glGetVariantIntegervEXT (GLuint id, GLenum value, GLint *data)
|
||||||
void glGetVariantFloatvEXT (GLuint id, GLenum value, GLfloat *data)
|
void glGetVariantFloatvEXT (GLuint id, GLenum value, GLfloat *data)
|
||||||
void glGetVariantPointervEXT (GLuint id, GLenum value, void **data)
|
void glGetVariantPointervEXT (GLuint id, GLenum value, GLvoid **data)
|
||||||
void glGetInvariantBooleanvEXT (GLuint id, GLenum value, GLboolean *data)
|
void glGetInvariantBooleanvEXT (GLuint id, GLenum value, GLboolean *data)
|
||||||
void glGetInvariantIntegervEXT (GLuint id, GLenum value, GLint *data)
|
void glGetInvariantIntegervEXT (GLuint id, GLenum value, GLint *data)
|
||||||
void glGetInvariantFloatvEXT (GLuint id, GLenum value, GLfloat *data)
|
void glGetInvariantFloatvEXT (GLuint id, GLenum value, GLfloat *data)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user