replace GLEW with libepoxy
As discussed in https://developer.blender.org/D12034#412258, GLEW should be replaced by libepoxy to enable dynamic loading of OpenGL. Build: ```sh make lite debug ninja BUILD_CMAKE_ARGS="-DWITH_GHOST_X11=OFF -DWITH_GHOST_WAYLAND=ON -DWITH_GHOST_WAYLAND_LIBDECOR=ON -DPYTHON_VERSION=3.10" BUILD_DIR="../blender_build" ``` Verify that there are no X11 dependencies any more: ```sh lddtree ./blender_build/bin/blender ``` and: ```sh ./blender_build/bin/blender ``` should then start a pure Wayland client. This also works with GLX (`-DWITH_GHOST_X11=ON -DWITH_GHOST_WAYLAND=OFF`). This has not been tested on other systems (Windows, macOS) as I do not have access to those systems and the build bot does not allow me to trigger experimental builds any more (I get "you need to have role 'any-control'"). Reviewed By: campbellbarton, brecht, jbakker Differential Revision: https://developer.blender.org/D15291
This commit is contained in:
@@ -546,30 +546,18 @@ if(WITH_GHOST_WAYLAND)
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
if(WITH_GL_EGL)
|
||||
# GLEW can only be built with either GLX or EGL support. Most binary distributions are
|
||||
# built with GLX support and we have no automated way to detect this. So always build
|
||||
# GLEW from source to be sure it has EGL support.
|
||||
set(WITH_SYSTEM_GLEW OFF)
|
||||
else()
|
||||
option(WITH_SYSTEM_GLEW "Use GLEW OpenGL wrapper library provided by the operating system" OFF)
|
||||
endif()
|
||||
|
||||
option(WITH_SYSTEM_GLES "Use OpenGL ES library provided by the operating system" ON)
|
||||
else()
|
||||
# System GLEW and GLES not an option on other platforms.
|
||||
set(WITH_SYSTEM_GLEW OFF)
|
||||
# System GLES not an option on other platforms.
|
||||
set(WITH_SYSTEM_GLES OFF)
|
||||
endif()
|
||||
|
||||
option(WITH_OPENGL "When off limits visibility of the opengl headers to just bf_gpu and gawain (temporary option for development purposes)" ON)
|
||||
option(WITH_GLEW_ES "Switches to experimental copy of GLEW that has support for OpenGL ES. (temporary option for development purposes)" OFF)
|
||||
option(WITH_GL_PROFILE_ES20 "Support using OpenGL ES 2.0. (through either EGL or the AGL/WGL/XGL 'es20' profile)" OFF)
|
||||
option(WITH_GPU_BUILDTIME_SHADER_BUILDER "Shader builder is a developer option enabling linting on GLSL during compilation" OFF)
|
||||
|
||||
mark_as_advanced(
|
||||
WITH_OPENGL
|
||||
WITH_GLEW_ES
|
||||
WITH_GL_PROFILE_ES20
|
||||
WITH_GPU_BUILDTIME_SHADER_BUILDER
|
||||
)
|
||||
@@ -596,11 +584,6 @@ if(WIN32)
|
||||
mark_as_advanced(WITH_GL_ANGLE)
|
||||
endif()
|
||||
|
||||
if(WITH_GLEW_ES AND WITH_SYSTEM_GLEW)
|
||||
message(WARNING Ignoring WITH_SYSTEM_GLEW and using WITH_GLEW_ES)
|
||||
set(WITH_SYSTEM_GLEW OFF)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
getDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES)
|
||||
set(CPACK_INSTALL_PREFIX ${CMAKE_GENERIC_PROGRAM_FILES}/${})
|
||||
@@ -1294,7 +1277,7 @@ if(WITH_GL_EGL)
|
||||
find_package(OpenGL REQUIRED EGL)
|
||||
list(APPEND BLENDER_GL_LIBRARIES OpenGL::EGL)
|
||||
|
||||
list(APPEND GL_DEFINITIONS -DWITH_GL_EGL -DGLEW_EGL -DGLEW_INC_EGL)
|
||||
list(APPEND GL_DEFINITIONS -DWITH_GL_EGL)
|
||||
|
||||
if(WITH_SYSTEM_GLES)
|
||||
if(NOT OPENGLES_EGL_LIBRARY)
|
||||
@@ -1387,66 +1370,6 @@ if(WITH_OPENMP)
|
||||
)
|
||||
endif()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure GLEW
|
||||
|
||||
if(WITH_SYSTEM_GLEW)
|
||||
find_package(GLEW)
|
||||
|
||||
# Note: There is an assumption here that the system GLEW is not a static library.
|
||||
|
||||
if(NOT GLEW_FOUND)
|
||||
message(FATAL_ERROR "GLEW is required to build Blender. Install it or disable WITH_SYSTEM_GLEW.")
|
||||
endif()
|
||||
|
||||
set(GLEW_INCLUDE_PATH "${GLEW_INCLUDE_DIR}")
|
||||
set(BLENDER_GLEW_LIBRARIES ${GLEW_LIBRARY})
|
||||
else()
|
||||
if(WITH_GLEW_ES)
|
||||
set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew-es/include")
|
||||
|
||||
list(APPEND GL_DEFINITIONS -DGLEW_STATIC -DWITH_GLEW_ES)
|
||||
|
||||
# These definitions remove APIs from glew.h, making GLEW smaller, and catching unguarded API usage
|
||||
if(WITH_GL_PROFILE_ES20)
|
||||
list(APPEND GL_DEFINITIONS -DGLEW_ES_ONLY)
|
||||
else()
|
||||
# No ES functions are needed
|
||||
list(APPEND GL_DEFINITIONS -DGLEW_NO_ES)
|
||||
endif()
|
||||
|
||||
if(WITH_GL_PROFILE_ES20)
|
||||
if(WITH_GL_EGL)
|
||||
list(APPEND GL_DEFINITIONS -DGLEW_USE_LIB_ES20)
|
||||
endif()
|
||||
|
||||
# ToDo: This is an experiment to eliminate ES 1 symbols,
|
||||
# GLEW doesn't really properly provide this level of control
|
||||
# (for example, without modification it eliminates too many symbols)
|
||||
# so there are lots of modifications to GLEW to make this work,
|
||||
# and no attempt to make it work beyond Blender at this point.
|
||||
list(APPEND GL_DEFINITIONS -DGL_ES_VERSION_1_0=0 -DGL_ES_VERSION_CL_1_1=0 -DGL_ES_VERSION_CM_1_1=0)
|
||||
endif()
|
||||
|
||||
set(BLENDER_GLEW_LIBRARIES extern_glew_es bf_intern_glew_mx)
|
||||
|
||||
else()
|
||||
set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew/include")
|
||||
|
||||
list(APPEND GL_DEFINITIONS -DGLEW_STATIC)
|
||||
|
||||
# This won't affect the non-experimental glew library,
|
||||
# but is used for conditional compilation elsewhere.
|
||||
list(APPEND GL_DEFINITIONS -DGLEW_NO_ES)
|
||||
|
||||
set(BLENDER_GLEW_LIBRARIES extern_glew)
|
||||
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
list(APPEND GL_DEFINITIONS -DGLEW_NO_GLU)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure Bullet
|
||||
|
||||
@@ -1972,7 +1895,6 @@ if(WITH_BLENDER)
|
||||
# internal and external library information first, for test linking
|
||||
add_subdirectory(source)
|
||||
elseif(WITH_CYCLES_STANDALONE OR WITH_CYCLES_HYDRA_RENDER_DELEGATE)
|
||||
add_subdirectory(intern/glew-mx)
|
||||
add_subdirectory(intern/guardedalloc)
|
||||
add_subdirectory(intern/libc_compat)
|
||||
add_subdirectory(intern/sky)
|
||||
@@ -1990,9 +1912,6 @@ elseif(WITH_CYCLES_STANDALONE OR WITH_CYCLES_HYDRA_RENDER_DELEGATE)
|
||||
if(WITH_HIP_DYNLOAD)
|
||||
add_subdirectory(extern/hipew)
|
||||
endif()
|
||||
if(NOT WITH_SYSTEM_GLEW)
|
||||
add_subdirectory(extern/glew)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@@ -2085,7 +2004,6 @@ if(FIRST_RUN)
|
||||
info_cfg_option(WITH_INSTALL_PORTABLE)
|
||||
info_cfg_option(WITH_MEM_JEMALLOC)
|
||||
info_cfg_option(WITH_MEM_VALGRIND)
|
||||
info_cfg_option(WITH_SYSTEM_GLEW)
|
||||
info_cfg_option(WITH_X11_ALPHA)
|
||||
info_cfg_option(WITH_X11_XF86VMODE)
|
||||
info_cfg_option(WITH_X11_XFIXES)
|
||||
@@ -2139,7 +2057,6 @@ if(FIRST_RUN)
|
||||
endif()
|
||||
info_cfg_option(WITH_GL_EGL)
|
||||
info_cfg_option(WITH_GL_PROFILE_ES20)
|
||||
info_cfg_option(WITH_GLEW_ES)
|
||||
|
||||
info_cfg_text("")
|
||||
|
||||
|
@@ -53,8 +53,8 @@ include(cmake/imath.cmake)
|
||||
include(cmake/openexr.cmake)
|
||||
include(cmake/brotli.cmake)
|
||||
include(cmake/freetype.cmake)
|
||||
include(cmake/epoxy.cmake)
|
||||
include(cmake/freeglut.cmake)
|
||||
include(cmake/glew.cmake)
|
||||
include(cmake/alembic.cmake)
|
||||
include(cmake/opensubdiv.cmake)
|
||||
include(cmake/sdl.cmake)
|
||||
|
@@ -12,21 +12,13 @@ if(UNIX)
|
||||
automake
|
||||
bison
|
||||
${_libtoolize_name}
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
tclsh
|
||||
yasm
|
||||
)
|
||||
|
||||
if(NOT APPLE)
|
||||
set(_required_software
|
||||
${_required_software}
|
||||
|
||||
# Needed for Mesa.
|
||||
meson
|
||||
ninja
|
||||
)
|
||||
endif()
|
||||
|
||||
foreach(_software ${_required_software})
|
||||
find_program(_software_find NAMES ${_software})
|
||||
if(NOT _software_find)
|
||||
@@ -57,7 +49,7 @@ if(UNIX)
|
||||
" apt install autoconf automake libtool yasm tcl ninja-build meson python3-mako\n"
|
||||
"\n"
|
||||
"On macOS (with homebrew):\n"
|
||||
" brew install autoconf automake bison flex libtool pkg-config yasm\n"
|
||||
" brew install autoconf automake bison flex libtool meson ninja pkg-config yasm\n"
|
||||
"\n"
|
||||
"Other platforms:\n"
|
||||
" Install equivalent packages.\n")
|
||||
|
@@ -36,7 +36,7 @@ download_source(BLOSC)
|
||||
download_source(PTHREADS)
|
||||
download_source(OPENEXR)
|
||||
download_source(FREETYPE)
|
||||
download_source(GLEW)
|
||||
download_source(EPOXY)
|
||||
download_source(FREEGLUT)
|
||||
download_source(ALEMBIC)
|
||||
download_source(OPENSUBDIV)
|
||||
|
24
build_files/build_environment/cmake/epoxy.cmake
Normal file
24
build_files/build_environment/cmake/epoxy.cmake
Normal file
@@ -0,0 +1,24 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
if(WIN32)
|
||||
set(EPOXY_LIB_TYPE shared)
|
||||
else()
|
||||
set(EPOXY_LIB_TYPE static)
|
||||
endif()
|
||||
ExternalProject_Add(external_epoxy
|
||||
URL file://${PACKAGE_DIR}/${EPOXY_FILE}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH ${EPOXY_HASH_TYPE}=${EPOXY_HASH}
|
||||
PREFIX ${BUILD_DIR}/epoxy
|
||||
CONFIGURE_COMMAND ${CONFIGURE_ENV} && meson setup --prefix ${LIBDIR}/epoxy --default-library ${EPOXY_LIB_TYPE} --libdir lib ${BUILD_DIR}/epoxy/src/external_epoxy-build ${BUILD_DIR}/epoxy/src/external_epoxy -Dtests=false
|
||||
BUILD_COMMAND ninja
|
||||
INSTALL_COMMAND ninja install
|
||||
)
|
||||
|
||||
if(BUILD_MODE STREQUAL Release AND WIN32)
|
||||
ExternalProject_Add_Step(external_epoxy after_install
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/epoxy/include ${HARVEST_TARGET}/epoxy/include
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/epoxy/bin/epoxy-0.dll ${HARVEST_TARGET}/epoxy/lib/epoxy-0.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/epoxy/lib/epoxy.lib ${HARVEST_TARGET}/epoxy/lib/epoxy.lib
|
||||
DEPENDEES install
|
||||
)
|
||||
endif()
|
@@ -1,16 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
set(GLEW_EXTRA_ARGS
|
||||
-DBUILD_UTILS=Off
|
||||
-DBUILD_SHARED_LIBS=Off
|
||||
)
|
||||
|
||||
ExternalProject_Add(external_glew
|
||||
URL file://${PACKAGE_DIR}/${GLEW_FILE}
|
||||
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
||||
URL_HASH ${GLEW_HASH_TYPE}=${GLEW_HASH}
|
||||
PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_glew.txt ${BUILD_DIR}/glew/src/external_glew/CMakeLists.txt
|
||||
PREFIX ${BUILD_DIR}/glew
|
||||
CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${LIBDIR}/glew ${DEFAULT_CMAKE_FLAGS} ${GLEW_EXTRA_ARGS}
|
||||
INSTALL_DIR ${LIBDIR}/glew
|
||||
)
|
@@ -22,9 +22,6 @@ if(BUILD_MODE STREQUAL Release)
|
||||
# freeglut-> opengl
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/freeglut/lib/freeglut_static.lib ${HARVEST_TARGET}/opengl/lib/freeglut_static.lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/freeglut/include/ ${HARVEST_TARGET}/opengl/include/ &&
|
||||
# glew-> opengl
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/glew/lib/libglew32.lib ${HARVEST_TARGET}/opengl/lib/glew.lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/glew/include/ ${HARVEST_TARGET}/opengl/include/ &&
|
||||
# tiff
|
||||
${CMAKE_COMMAND} -E copy ${LIBDIR}/tiff/lib/tiff.lib ${HARVEST_TARGET}/tiff/lib/libtiff.lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tiff/include/ ${HARVEST_TARGET}/tiff/include/
|
||||
@@ -76,8 +73,8 @@ harvest(fftw3/lib fftw3/lib "*.a")
|
||||
harvest(flac/lib sndfile/lib "libFLAC.a")
|
||||
harvest(freetype/include freetype/include "*.h")
|
||||
harvest(freetype/lib/libfreetype2ST.a freetype/lib/libfreetype.a)
|
||||
harvest(glew/include glew/include "*.h")
|
||||
harvest(glew/lib glew/lib "*.a")
|
||||
harvest(epoxy/include epoxy/include "*.h")
|
||||
harvest(epoxy/lib epoxy/lib "*.a")
|
||||
harvest(gmp/include gmp/include "*.h")
|
||||
harvest(gmp/lib gmp/lib "*.a")
|
||||
harvest(jemalloc/include jemalloc/include "*.h")
|
||||
|
@@ -80,11 +80,11 @@ set(FREETYPE_HASH bd4e3b007474319909a6b79d50908e85)
|
||||
set(FREETYPE_HASH_TYPE MD5)
|
||||
set(FREETYPE_FILE freetype-${FREETYPE_VERSION}.tar.gz)
|
||||
|
||||
set(GLEW_VERSION 1.13.0)
|
||||
set(GLEW_URI http://prdownloads.sourceforge.net/glew/glew/${GLEW_VERSION}/glew-${GLEW_VERSION}.tgz)
|
||||
set(GLEW_HASH 7cbada3166d2aadfc4169c4283701066)
|
||||
set(GLEW_HASH_TYPE MD5)
|
||||
set(GLEW_FILE glew-${GLEW_VERSION}.tgz)
|
||||
set(EPOXY_VERSION 1.5.10)
|
||||
set(EPOXY_URI https://github.com/anholt/libepoxy/archive/refs/tags/${EPOXY_VERSION}.tar.gz)
|
||||
set(EPOXY_HASH f0730aad115c952e77591fcc805b1dc1)
|
||||
set(EPOXY_HASH_TYPE MD5)
|
||||
set(EPOXY_FILE libepoxy-${EPOXY_VERSION}.tar.gz)
|
||||
|
||||
set(FREEGLUT_VERSION 3.0.0)
|
||||
set(FREEGLUT_URI http://prdownloads.sourceforge.net/freeglut/freeglut/${FREEGLUT_VERSION}/freeglut-${FREEGLUT_VERSION}.tar.gz)
|
||||
|
@@ -1,2 +0,0 @@
|
||||
cmake_minimum_required (VERSION 2.4)
|
||||
add_subdirectory(build/cmake)
|
47
build_files/cmake/Modules/FindEpoxy.cmake
Normal file
47
build_files/cmake/Modules/FindEpoxy.cmake
Normal file
@@ -0,0 +1,47 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright 2022 Blender Foundation.
|
||||
|
||||
# This module defines
|
||||
# Epoxy_INCLUDE_DIRS, where to find epoxy/gl.h
|
||||
# Epoxy_LIBRARY, where to find the epoxy library.
|
||||
# Epoxy_ROOT_DIR, The base directory to search for epoxy.
|
||||
# This can also be an environment variable.
|
||||
# Epoxy_FOUND, If false, do not try to use epoxy.
|
||||
|
||||
IF(NOT EPOXY_ROOT_DIR AND NOT $ENV{EPOXY_ROOT_DIR} STREQUAL "")
|
||||
SET(EPOXY_ROOT_DIR $ENV{EPOXY_ROOT_DIR})
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(Epoxy_INCLUDE_DIR
|
||||
NAMES
|
||||
epoxy/gl.h
|
||||
HINTS
|
||||
${EPOXY_ROOT_DIR}
|
||||
PATH_SUFFIXES
|
||||
include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(Epoxy_LIBRARY
|
||||
NAMES
|
||||
epoxy
|
||||
HINTS
|
||||
${EPOXY_ROOT_DIR}
|
||||
PATH_SUFFIXES
|
||||
lib64 lib
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set Epoxy_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Epoxy DEFAULT_MSG
|
||||
Epoxy_LIBRARY Epoxy_INCLUDE_DIR)
|
||||
|
||||
IF(Epoxy_FOUND)
|
||||
SET(Epoxy_INCLUDE_DIRS ${Epoxy_INCLUDE_DIR})
|
||||
SET(Epoxy_LIBRARIES ${Epoxy_LIBRARY})
|
||||
ENDIF()
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
Epoxy_INCLUDE_DIR
|
||||
Epoxy_LIBRARY
|
||||
)
|
@@ -1,58 +0,0 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright 2014 Blender Foundation.
|
||||
|
||||
# - Find GLEW library
|
||||
# Find the native Glew includes and library
|
||||
# This module defines
|
||||
# GLEW_INCLUDE_DIRS, where to find glew.h, Set when
|
||||
# GLEW_INCLUDE_DIR is found.
|
||||
# GLEW_ROOT_DIR, The base directory to search for Glew.
|
||||
# This can also be an environment variable.
|
||||
# GLEW_FOUND, If false, do not try to use Glew.
|
||||
#
|
||||
# also defined,
|
||||
# GLEW_LIBRARY, where to find the Glew library.
|
||||
|
||||
# If GLEW_ROOT_DIR was defined in the environment, use it.
|
||||
IF(NOT GLEW_ROOT_DIR AND NOT $ENV{GLEW_ROOT_DIR} STREQUAL "")
|
||||
SET(GLEW_ROOT_DIR $ENV{GLEW_ROOT_DIR})
|
||||
ENDIF()
|
||||
|
||||
SET(_glew_SEARCH_DIRS
|
||||
${GLEW_ROOT_DIR}
|
||||
)
|
||||
|
||||
FIND_PATH(GLEW_INCLUDE_DIR
|
||||
NAMES
|
||||
GL/glew.h
|
||||
HINTS
|
||||
${_glew_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(GLEW_LIBRARY
|
||||
NAMES
|
||||
GLEW
|
||||
HINTS
|
||||
${_glew_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
lib64 lib
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set GLEW_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLEW DEFAULT_MSG
|
||||
GLEW_LIBRARY GLEW_INCLUDE_DIR)
|
||||
|
||||
IF(GLEW_FOUND)
|
||||
SET(GLEW_INCLUDE_DIRS ${GLEW_INCLUDE_DIR})
|
||||
ENDIF()
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
GLEW_INCLUDE_DIR
|
||||
GLEW_LIBRARY
|
||||
)
|
||||
|
||||
UNSET(_glew_SEARCH_DIRS)
|
47
build_files/cmake/Modules/FindLibEpoxy.cmake
Normal file
47
build_files/cmake/Modules/FindLibEpoxy.cmake
Normal file
@@ -0,0 +1,47 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright 2022 Blender Foundation.
|
||||
|
||||
# This module defines
|
||||
# LibEpoxy_INCLUDE_DIRS, where to find epoxy/gl.h
|
||||
# LibEpoxy_LIBRARY, where to find the epoxy library.
|
||||
# LibEpoxy_ROOT_DIR, The base directory to search for libepoxy.
|
||||
# This can also be an environment variable.
|
||||
# LibEpoxy_FOUND, If false, do not try to use libepoxy.
|
||||
|
||||
IF(NOT EPOXY_ROOT_DIR AND NOT $ENV{EPOXY_ROOT_DIR} STREQUAL "")
|
||||
SET(EPOXY_ROOT_DIR $ENV{EPOXY_ROOT_DIR})
|
||||
ENDIF()
|
||||
|
||||
FIND_PATH(LibEpoxy_INCLUDE_DIR
|
||||
NAMES
|
||||
epoxy/gl.h
|
||||
HINTS
|
||||
${EPOXY_ROOT_DIR}
|
||||
PATH_SUFFIXES
|
||||
include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(LibEpoxy_LIBRARY
|
||||
NAMES
|
||||
epoxy
|
||||
HINTS
|
||||
${EPOXY_ROOT_DIR}
|
||||
PATH_SUFFIXES
|
||||
lib64 lib
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set LibEpoxy_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibEpoxy DEFAULT_MSG
|
||||
LibEpoxy_LIBRARY LibEpoxy_INCLUDE_DIR)
|
||||
|
||||
IF(LibEpoxy_FOUND)
|
||||
SET(LibEpoxy_INCLUDE_DIRS ${LibEpoxy_INCLUDE_DIR})
|
||||
SET(LibEpoxy_LIBRARIES ${LibEpoxy_LIBRARY})
|
||||
ENDIF()
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
LibEpoxy_INCLUDE_DIR
|
||||
LibEpoxy_LIBRARY
|
||||
)
|
@@ -223,6 +223,9 @@ if(WITH_SDL)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(EPOXY_ROOT_DIR ${LIBDIR}/epoxy)
|
||||
find_package(Epoxy REQUIRED)
|
||||
|
||||
set(PNG_ROOT ${LIBDIR}/png)
|
||||
find_package(PNG REQUIRED)
|
||||
|
||||
|
@@ -95,6 +95,7 @@ find_package_wrapper(JPEG REQUIRED)
|
||||
find_package_wrapper(PNG REQUIRED)
|
||||
find_package_wrapper(ZLIB REQUIRED)
|
||||
find_package_wrapper(Zstd REQUIRED)
|
||||
find_package_wrapper(Epoxy REQUIRED)
|
||||
|
||||
if(NOT WITH_SYSTEM_FREETYPE)
|
||||
# FreeType compiled with Brotli compression for woff2.
|
||||
|
@@ -323,6 +323,13 @@ if(NOT JPEG_FOUND)
|
||||
set(JPEG_LIBRARIES ${LIBDIR}/jpeg/lib/libjpeg.lib)
|
||||
endif()
|
||||
|
||||
set(EPOXY_ROOT_DIR ${LIBDIR}/epoxy)
|
||||
windows_find_package(Epoxy REQUIRED)
|
||||
if(NOT EPOXY_FOUND)
|
||||
set(Epoxy_INCLUDE_DIRS ${LIBDIR}/epoxy/include)
|
||||
set(Epoxy_LIBRARIES ${LIBDIR}/epoxy/lib/epoxy.lib)
|
||||
endif()
|
||||
|
||||
set(PTHREADS_INCLUDE_DIRS ${LIBDIR}/pthreads/include)
|
||||
set(PTHREADS_LIBRARIES ${LIBDIR}/pthreads/lib/pthreadVC3.lib)
|
||||
|
||||
|
8
extern/CMakeLists.txt
vendored
8
extern/CMakeLists.txt
vendored
@@ -32,14 +32,6 @@ if(WITH_BINRELOC)
|
||||
add_subdirectory(binreloc)
|
||||
endif()
|
||||
|
||||
if(NOT WITH_SYSTEM_GLEW)
|
||||
if(WITH_GLEW_ES)
|
||||
add_subdirectory(glew-es)
|
||||
else()
|
||||
add_subdirectory(glew)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(WITH_LZO AND NOT WITH_SYSTEM_LZO)
|
||||
add_subdirectory(lzo)
|
||||
endif()
|
||||
|
33
extern/glew-es/CMakeLists.txt
vendored
33
extern/glew-es/CMakeLists.txt
vendored
@@ -1,33 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright 2013 Blender Foundation. All rights reserved.
|
||||
|
||||
set(INC
|
||||
include
|
||||
)
|
||||
|
||||
set(INC_SYS
|
||||
|
||||
)
|
||||
|
||||
if(UNIX)
|
||||
list(APPEND INC_SYS
|
||||
${X11_X11_INCLUDE_PATH}
|
||||
)
|
||||
endif()
|
||||
|
||||
set(SRC
|
||||
src/glew.c
|
||||
|
||||
include/GL/eglew.h
|
||||
include/GL/glesew.h
|
||||
include/GL/glew.h
|
||||
include/GL/glxew.h
|
||||
include/GL/wglew.h
|
||||
)
|
||||
|
||||
set(LIB
|
||||
)
|
||||
|
||||
add_definitions(${GL_DEFINITIONS})
|
||||
|
||||
blender_add_lib(extern_glew_es "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|
73
extern/glew-es/LICENSE.txt
vendored
73
extern/glew-es/LICENSE.txt
vendored
@@ -1,73 +0,0 @@
|
||||
The OpenGL Extension Wrangler Library
|
||||
Copyright (C) 2002-2007, Milan Ikits <milan ikits[]ieee org>
|
||||
Copyright (C) 2002-2007, Marcelo E. Magallon <mmagallo[]debian org>
|
||||
Copyright (C) 2002, Lev Povalahev
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* The name of the author may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
Mesa 3-D graphics library
|
||||
Version: 7.0
|
||||
|
||||
Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
Copyright (c) 2007 The Khronos Group Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and/or associated documentation files (the
|
||||
"Materials"), to deal in the Materials without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
permit persons to whom the Materials are furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Materials.
|
||||
|
||||
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
5
extern/glew-es/README.blender
vendored
5
extern/glew-es/README.blender
vendored
@@ -1,5 +0,0 @@
|
||||
Project: The OpenGL Extension Wrangler Library
|
||||
URL: http://glew.sourceforge.net/
|
||||
License: Check LICENSE.txt
|
||||
Upstream version: 2.0.0
|
||||
Local modifications: None
|
1470
extern/glew-es/include/GL/eglew.h
vendored
1470
extern/glew-es/include/GL/eglew.h
vendored
File diff suppressed because it is too large
Load Diff
4318
extern/glew-es/include/GL/glesew.h
vendored
4318
extern/glew-es/include/GL/glesew.h
vendored
File diff suppressed because it is too large
Load Diff
20525
extern/glew-es/include/GL/glew.h
vendored
20525
extern/glew-es/include/GL/glew.h
vendored
File diff suppressed because it is too large
Load Diff
1649
extern/glew-es/include/GL/glxew.h
vendored
1649
extern/glew-es/include/GL/glxew.h
vendored
File diff suppressed because it is too large
Load Diff
1424
extern/glew-es/include/GL/wglew.h
vendored
1424
extern/glew-es/include/GL/wglew.h
vendored
File diff suppressed because it is too large
Load Diff
22401
extern/glew-es/src/glew.c
vendored
22401
extern/glew-es/src/glew.c
vendored
File diff suppressed because it is too large
Load Diff
54
extern/glew/CMakeLists.txt
vendored
54
extern/glew/CMakeLists.txt
vendored
@@ -1,54 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright 2006 Blender Foundation. All rights reserved.
|
||||
|
||||
# avoid noisy warnings
|
||||
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
add_c_flag(
|
||||
"-Wno-strict-prototypes"
|
||||
)
|
||||
endif()
|
||||
if(CMAKE_COMPILER_IS_GNUCC AND (NOT "${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "12.1"))
|
||||
add_c_flag(
|
||||
"-Wno-address"
|
||||
)
|
||||
endif()
|
||||
|
||||
# MSVC's inliner is not having a happy time with glewIsSupported
|
||||
# causing this to be one of the most expensive things to build
|
||||
# in blender. Optimize for size rather than speed sidesteps this
|
||||
# problem, more details at
|
||||
# https://developercommunity.visualstudio.com/content/problem/732941/slow-compilation-of-glewc-for-visual-studio-2019-x.html
|
||||
|
||||
if(MSVC)
|
||||
add_c_flag("/Os")
|
||||
endif()
|
||||
|
||||
set(INC
|
||||
include
|
||||
)
|
||||
|
||||
set(INC_SYS
|
||||
|
||||
)
|
||||
|
||||
if(UNIX)
|
||||
list(APPEND INC_SYS
|
||||
${X11_X11_INCLUDE_PATH}
|
||||
)
|
||||
endif()
|
||||
|
||||
set(SRC
|
||||
src/glew.c
|
||||
|
||||
include/GL/eglew.h
|
||||
include/GL/glew.h
|
||||
include/GL/glxew.h
|
||||
include/GL/wglew.h
|
||||
)
|
||||
|
||||
set(LIB
|
||||
)
|
||||
|
||||
add_definitions(${GL_DEFINITIONS})
|
||||
|
||||
blender_add_lib(extern_glew "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|
73
extern/glew/LICENSE.txt
vendored
73
extern/glew/LICENSE.txt
vendored
@@ -1,73 +0,0 @@
|
||||
The OpenGL Extension Wrangler Library
|
||||
Copyright (C) 2002-2007, Milan Ikits <milan ikits[]ieee org>
|
||||
Copyright (C) 2002-2007, Marcelo E. Magallon <mmagallo[]debian org>
|
||||
Copyright (C) 2002, Lev Povalahev
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* The name of the author may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
Mesa 3-D graphics library
|
||||
Version: 7.0
|
||||
|
||||
Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
Copyright (c) 2007 The Khronos Group Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and/or associated documentation files (the
|
||||
"Materials"), to deal in the Materials without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
permit persons to whom the Materials are furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Materials.
|
||||
|
||||
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
5
extern/glew/README.blender
vendored
5
extern/glew/README.blender
vendored
@@ -1,5 +0,0 @@
|
||||
Project: The OpenGL Extension Wrangler Library
|
||||
URL: http://glew.sourceforge.net/
|
||||
License: Check LICENSE.txt
|
||||
Upstream version: 2.0.0
|
||||
Local modifications: None
|
2261
extern/glew/include/GL/eglew.h
vendored
2261
extern/glew/include/GL/eglew.h
vendored
File diff suppressed because it is too large
Load Diff
20113
extern/glew/include/GL/glew.h
vendored
20113
extern/glew/include/GL/glew.h
vendored
File diff suppressed because it is too large
Load Diff
1769
extern/glew/include/GL/glxew.h
vendored
1769
extern/glew/include/GL/glxew.h
vendored
File diff suppressed because it is too large
Load Diff
1427
extern/glew/include/GL/wglew.h
vendored
1427
extern/glew/include/GL/wglew.h
vendored
File diff suppressed because it is too large
Load Diff
23952
extern/glew/src/glew.c
vendored
23952
extern/glew/src/glew.c
vendored
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,6 @@ add_subdirectory(memutil)
|
||||
add_subdirectory(opencolorio)
|
||||
add_subdirectory(opensubdiv)
|
||||
add_subdirectory(mikktspace)
|
||||
add_subdirectory(glew-mx)
|
||||
add_subdirectory(eigen)
|
||||
add_subdirectory(sky)
|
||||
|
||||
|
@@ -44,8 +44,8 @@ endif()
|
||||
|
||||
if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI)
|
||||
add_definitions(${GL_DEFINITIONS})
|
||||
list(APPEND INC_SYS ${GLEW_INCLUDE_DIR} ${SDL2_INCLUDE_DIRS})
|
||||
list(APPEND LIB ${CYCLES_GL_LIBRARIES} ${CYCLES_GLEW_LIBRARIES} ${SDL2_LIBRARIES})
|
||||
list(APPEND INC_SYS ${Epoxy_INCLUDE_DIRS} ${SDL2_INCLUDE_DIRS})
|
||||
list(APPEND LIB ${CYCLES_GL_LIBRARIES} ${Epoxy_LIBRARIES} ${SDL2_LIBRARIES})
|
||||
endif()
|
||||
|
||||
cycles_external_libraries_append(LIB)
|
||||
|
@@ -7,8 +7,8 @@
|
||||
#include "util/log.h"
|
||||
#include "util/string.h"
|
||||
|
||||
#include <GL/glew.h>
|
||||
#include <SDL.h>
|
||||
#include <epoxy/gl.h>
|
||||
|
||||
CCL_NAMESPACE_BEGIN
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
#include "util/log.h"
|
||||
#include "util/string.h"
|
||||
|
||||
#include <GL/glew.h>
|
||||
#include <epoxy/gl.h>
|
||||
|
||||
CCL_NAMESPACE_BEGIN
|
||||
|
||||
|
@@ -11,8 +11,8 @@
|
||||
#include "util/time.h"
|
||||
#include "util/version.h"
|
||||
|
||||
#include <GL/glew.h>
|
||||
#include <SDL.h>
|
||||
#include <epoxy/gl.h>
|
||||
|
||||
CCL_NAMESPACE_BEGIN
|
||||
|
||||
@@ -294,7 +294,6 @@ void window_main_loop(const char *title,
|
||||
SDL_RaiseWindow(V.window);
|
||||
|
||||
V.gl_context = SDL_GL_CreateContext(V.window);
|
||||
glewInit();
|
||||
SDL_GL_MakeCurrent(V.window, nullptr);
|
||||
|
||||
window_reshape(width, height);
|
||||
|
@@ -3,7 +3,6 @@
|
||||
|
||||
set(INC
|
||||
..
|
||||
../../glew-mx
|
||||
../../guardedalloc
|
||||
../../mikktspace
|
||||
../../../source/blender/makesdna
|
||||
@@ -13,8 +12,8 @@ set(INC
|
||||
)
|
||||
|
||||
set(INC_SYS
|
||||
${Epoxy_INCLUDE_DIRS}
|
||||
${PYTHON_INCLUDE_DIRS}
|
||||
${GLEW_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
set(SRC
|
||||
@@ -64,6 +63,7 @@ set(LIB
|
||||
cycles_subd
|
||||
cycles_util
|
||||
|
||||
${Epoxy_LIBRARIES}
|
||||
${PYTHON_LINKFLAGS}
|
||||
${PYTHON_LIBRARIES}
|
||||
)
|
||||
|
@@ -505,26 +505,19 @@ if(CYCLES_STANDALONE_REPOSITORY)
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
# GLEW
|
||||
# Epoxy
|
||||
###########################################################################
|
||||
|
||||
if(CYCLES_STANDALONE_REPOSITORY)
|
||||
if((WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI) OR
|
||||
WITH_CYCLES_HYDRA_RENDER_DELEGATE)
|
||||
if(MSVC AND EXISTS ${_cycles_lib_dir})
|
||||
set(GLEW_LIBRARY "${_cycles_lib_dir}/opengl/lib/glew.lib")
|
||||
set(GLEW_INCLUDE_DIR "${_cycles_lib_dir}/opengl/include")
|
||||
add_definitions(-DGLEW_STATIC)
|
||||
set(Epoxy_LIBRARIES "${_cycles_lib_dir}/epoxy/lib/epoxy.lib")
|
||||
set(Epoxy_INCLUDE_DIRS "${_cycles_lib_dir}/epoxy/include")
|
||||
else()
|
||||
find_package(GLEW REQUIRED)
|
||||
find_package(Epoxy REQUIRED)
|
||||
endif()
|
||||
|
||||
set(CYCLES_GLEW_LIBRARIES ${GLEW_LIBRARY})
|
||||
endif()
|
||||
else()
|
||||
# Workaround for unconventional variable name use in Blender.
|
||||
set(GLEW_INCLUDE_DIR "${GLEW_INCLUDE_PATH}")
|
||||
set(CYCLES_GLEW_LIBRARIES bf_intern_glew_mx ${BLENDER_GLEW_LIBRARIES})
|
||||
endif()
|
||||
|
||||
###########################################################################
|
||||
|
@@ -3,12 +3,9 @@
|
||||
|
||||
set(INC
|
||||
..
|
||||
../../glew-mx
|
||||
)
|
||||
|
||||
set(INC_SYS
|
||||
${GLEW_INCLUDE_DIR}
|
||||
)
|
||||
set(INC_SYS )
|
||||
|
||||
if(WITH_CYCLES_DEVICE_OPTIX OR WITH_CYCLES_DEVICE_CUDA)
|
||||
if(WITH_CUDA_DYNLOAD)
|
||||
|
@@ -16,7 +16,6 @@
|
||||
# include "util/log.h"
|
||||
# include "util/map.h"
|
||||
# include "util/md5.h"
|
||||
# include "util/opengl.h"
|
||||
# include "util/path.h"
|
||||
# include "util/string.h"
|
||||
# include "util/system.h"
|
||||
|
@@ -10,14 +10,14 @@ set(INC
|
||||
)
|
||||
set(INC_SYS
|
||||
${USD_INCLUDE_DIRS}
|
||||
${GLEW_INCLUDE_DIR}
|
||||
${Epoxy_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
set(LIB
|
||||
cycles_scene
|
||||
cycles_session
|
||||
cycles_graph
|
||||
${CYCLES_GLEW_LIBRARIES}
|
||||
${Epoxy_LIBRARIES}
|
||||
)
|
||||
cycles_external_libraries_append(LIB)
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
#include "hydra/render_buffer.h"
|
||||
#include "hydra/session.h"
|
||||
|
||||
#include <GL/glew.h>
|
||||
#include <epoxy/gl.h>
|
||||
#include <pxr/imaging/hgiGL/texture.h>
|
||||
|
||||
HDCYCLES_NAMESPACE_OPEN_SCOPE
|
||||
|
@@ -3,7 +3,6 @@
|
||||
|
||||
set(INC
|
||||
..
|
||||
../../glew-mx
|
||||
)
|
||||
|
||||
set(INC_SYS
|
||||
|
@@ -7,6 +7,6 @@
|
||||
/* OpenGL header includes, used everywhere we use OpenGL, to deal with
|
||||
* platform differences in one central place. */
|
||||
|
||||
#include <GL/glew.h>
|
||||
#include <epoxy/gl.h>
|
||||
|
||||
#endif /* __UTIL_OPENGL_H__ */
|
||||
|
@@ -4,13 +4,12 @@
|
||||
set(INC
|
||||
.
|
||||
../clog
|
||||
../glew-mx
|
||||
../../source/blender/imbuf
|
||||
../../source/blender/makesdna
|
||||
)
|
||||
|
||||
set(INC_SYS
|
||||
${GLEW_INCLUDE_PATH}
|
||||
${Epoxy_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
set(SRC
|
||||
@@ -71,8 +70,7 @@ set(SRC
|
||||
)
|
||||
|
||||
set(LIB
|
||||
bf_intern_glew_mx
|
||||
${GLEW_LIBRARY}
|
||||
${Epoxy_LIBRARIES}
|
||||
)
|
||||
|
||||
if(WITH_GHOST_DEBUG)
|
||||
|
@@ -10,7 +10,7 @@
|
||||
#include "GHOST_Context.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
# include <GL/wglew.h> // only for symbolic constants, do not use API functions
|
||||
# include <epoxy/wgl.h>
|
||||
# include <tchar.h>
|
||||
#
|
||||
# ifndef ERROR_PROFILE_DOES_NOT_MATCH_DEVICE
|
||||
@@ -122,11 +122,6 @@ bool win32_chk(bool result, const char *file, int line, const char *text)
|
||||
|
||||
#endif // _WIN32
|
||||
|
||||
void GHOST_Context::initContextGLEW()
|
||||
{
|
||||
GLEW_CHK(glewInit());
|
||||
}
|
||||
|
||||
void GHOST_Context::initClearGL()
|
||||
{
|
||||
glClearColor(0.294, 0.294, 0.294, 0.000);
|
||||
|
@@ -11,7 +11,7 @@
|
||||
#include "GHOST_IContext.h"
|
||||
#include "GHOST_Types.h"
|
||||
|
||||
#include "glew-mx.h"
|
||||
#include <epoxy/gl.h>
|
||||
|
||||
#include <cstdlib> // for NULL
|
||||
|
||||
@@ -136,8 +136,6 @@ class GHOST_Context : public GHOST_IContext {
|
||||
}
|
||||
|
||||
protected:
|
||||
void initContextGLEW();
|
||||
|
||||
bool m_stereoVisual;
|
||||
|
||||
/** Caller specified, not for internal use. */
|
||||
|
@@ -274,8 +274,6 @@ GHOST_TSuccess GHOST_ContextCGL::initializeDrawingContext()
|
||||
}
|
||||
#endif
|
||||
|
||||
initContextGLEW();
|
||||
|
||||
if (m_metalView) {
|
||||
if (m_defaultFramebuffer == 0) {
|
||||
/* Create a virtual frame-buffer. */
|
||||
|
@@ -10,8 +10,7 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
#include <GL/glew.h>
|
||||
#include <GL/wglew.h>
|
||||
#include <epoxy/wgl.h>
|
||||
|
||||
#include "GHOST_ContextD3D.h"
|
||||
#include "GHOST_ContextWGL.h" /* For shared drawing */
|
||||
|
@@ -151,15 +151,6 @@ static bool egl_chk(bool result,
|
||||
# define EGL_CHK(x) egl_chk(x)
|
||||
#endif
|
||||
|
||||
static inline bool bindAPI(EGLenum api)
|
||||
{
|
||||
if (EGLEW_VERSION_1_2) {
|
||||
return (EGL_CHK(eglBindAPI(api)) == EGL_TRUE);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef WITH_GL_ANGLE
|
||||
HMODULE GHOST_ContextEGL::s_d3dcompiler = nullptr;
|
||||
#endif
|
||||
@@ -256,7 +247,7 @@ GHOST_TSuccess GHOST_ContextEGL::swapBuffers()
|
||||
|
||||
GHOST_TSuccess GHOST_ContextEGL::setSwapInterval(int interval)
|
||||
{
|
||||
if (EGLEW_VERSION_1_1) {
|
||||
if (epoxy_egl_version(m_display) >= 11) {
|
||||
if (EGL_CHK(::eglSwapInterval(m_display, interval))) {
|
||||
m_swap_interval = interval;
|
||||
|
||||
@@ -313,26 +304,13 @@ GHOST_TSuccess GHOST_ContextEGL::releaseDrawingContext()
|
||||
return GHOST_kFailure;
|
||||
}
|
||||
|
||||
bool GHOST_ContextEGL::initContextEGLEW()
|
||||
inline bool GHOST_ContextEGL::bindAPI(EGLenum api)
|
||||
{
|
||||
/* We have to manually get this function before we can call eglewInit, since
|
||||
* it requires a display argument. glewInit() does the same, but we only want
|
||||
* to initialize EGLEW here. */
|
||||
eglGetDisplay = (PFNEGLGETDISPLAYPROC)eglGetProcAddress("eglGetDisplay");
|
||||
if (eglGetDisplay == nullptr) {
|
||||
return false;
|
||||
if (epoxy_egl_version(m_display) >= 12) {
|
||||
return (EGL_CHK(eglBindAPI(api)) == EGL_TRUE);
|
||||
}
|
||||
|
||||
if (!EGL_CHK((m_display = ::eglGetDisplay(m_nativeDisplay)) != EGL_NO_DISPLAY)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (GLEW_CHK(eglewInit(m_display)) != GLEW_OK) {
|
||||
fprintf(stderr, "Warning! EGLEW failed to initialize properly.\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static const std::string &api_string(EGLenum api)
|
||||
@@ -355,10 +333,6 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext()
|
||||
}
|
||||
m_stereoVisual = false; /* It doesn't matter what the Window wants. */
|
||||
|
||||
if (!initContextEGLEW()) {
|
||||
return GHOST_kFailure;
|
||||
}
|
||||
|
||||
#ifdef WITH_GL_ANGLE
|
||||
/* `d3dcompiler_XX.dll` needs to be loaded before ANGLE will work. */
|
||||
if (s_d3dcompiler == nullptr) {
|
||||
@@ -380,6 +354,10 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext()
|
||||
|
||||
EGLint egl_major, egl_minor;
|
||||
|
||||
if (!EGL_CHK((m_display = ::eglGetDisplay(m_nativeDisplay)) != EGL_NO_DISPLAY)) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!EGL_CHK(::eglInitialize(m_display, &egl_major, &egl_minor))) {
|
||||
goto error;
|
||||
}
|
||||
@@ -398,7 +376,7 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext()
|
||||
|
||||
attrib_list.reserve(20);
|
||||
|
||||
if (m_api == EGL_OPENGL_ES_API && EGLEW_VERSION_1_2) {
|
||||
if (m_api == EGL_OPENGL_ES_API && epoxy_egl_version(m_display) >= 12) {
|
||||
/* According to the spec it seems that you are required to set EGL_RENDERABLE_TYPE,
|
||||
* but some implementations (ANGLE) do not seem to care. */
|
||||
|
||||
@@ -421,9 +399,11 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext()
|
||||
m_contextMinorVersion);
|
||||
}
|
||||
|
||||
if (!((m_contextMajorVersion == 1) || (m_contextMajorVersion == 2 && EGLEW_VERSION_1_3) ||
|
||||
(m_contextMajorVersion == 3 && /*EGLEW_VERSION_1_4 &&*/ EGLEW_KHR_create_context) ||
|
||||
(m_contextMajorVersion == 3 && EGLEW_VERSION_1_5))) {
|
||||
if (!((m_contextMajorVersion == 1) ||
|
||||
(m_contextMajorVersion == 2 && epoxy_egl_version(m_display) >= 13) ||
|
||||
(m_contextMajorVersion == 3 &&
|
||||
epoxy_has_egl_extension(m_display, "KHR_create_context")) ||
|
||||
(m_contextMajorVersion == 3 && epoxy_egl_version(m_display) >= 15))) {
|
||||
fprintf(stderr,
|
||||
"Warning! May not be able to create a version %d.%d ES context with version %d.%d "
|
||||
"of EGL\n",
|
||||
@@ -488,7 +468,8 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext()
|
||||
}
|
||||
attrib_list.clear();
|
||||
|
||||
if (EGLEW_VERSION_1_5 || EGLEW_KHR_create_context) {
|
||||
if (epoxy_egl_version(m_display) >= 15 ||
|
||||
epoxy_has_egl_extension(m_display, "KHR_create_context")) {
|
||||
if (m_api == EGL_OPENGL_API || m_api == EGL_OPENGL_ES_API) {
|
||||
if (m_contextMajorVersion != 0) {
|
||||
attrib_list.push_back(EGL_CONTEXT_MAJOR_VERSION_KHR);
|
||||
@@ -530,7 +511,7 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext()
|
||||
}
|
||||
}
|
||||
|
||||
if (m_api == EGL_OPENGL_API || EGLEW_VERSION_1_5) {
|
||||
if (m_api == EGL_OPENGL_API || epoxy_egl_version(m_display) >= 15) {
|
||||
if (m_contextResetNotificationStrategy != 0) {
|
||||
attrib_list.push_back(EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR);
|
||||
attrib_list.push_back(m_contextResetNotificationStrategy);
|
||||
@@ -598,8 +579,6 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext()
|
||||
goto error;
|
||||
}
|
||||
|
||||
initContextGLEW();
|
||||
|
||||
initClearGL();
|
||||
::eglSwapBuffers(m_display, m_surface);
|
||||
|
||||
|
@@ -10,7 +10,8 @@
|
||||
#include "GHOST_Context.h"
|
||||
#include "GHOST_System.h"
|
||||
|
||||
#include <GL/eglew.h>
|
||||
#include <epoxy/egl.h>
|
||||
#include <epoxy/gl.h>
|
||||
|
||||
#ifndef GHOST_OPENGL_EGL_CONTEXT_FLAGS
|
||||
# define GHOST_OPENGL_EGL_CONTEXT_FLAGS 0
|
||||
@@ -96,7 +97,7 @@ class GHOST_ContextEGL : public GHOST_Context {
|
||||
EGLContext getContext() const;
|
||||
|
||||
private:
|
||||
bool initContextEGLEW();
|
||||
bool bindAPI(EGLenum api);
|
||||
|
||||
const GHOST_System *const m_system;
|
||||
|
||||
|
@@ -95,11 +95,6 @@ GHOST_TSuccess GHOST_ContextGLX::releaseDrawingContext()
|
||||
return ::glXMakeCurrent(m_display, None, nullptr) ? GHOST_kSuccess : GHOST_kFailure;
|
||||
}
|
||||
|
||||
void GHOST_ContextGLX::initContextGLXEW()
|
||||
{
|
||||
initContextGLEW();
|
||||
}
|
||||
|
||||
GHOST_TSuccess GHOST_ContextGLX::initializeDrawingContext()
|
||||
{
|
||||
GHOST_X11_ERROR_HANDLERS_OVERRIDE(handler_store);
|
||||
@@ -278,18 +273,11 @@ GHOST_TSuccess GHOST_ContextGLX::initializeDrawingContext()
|
||||
|
||||
glXMakeCurrent(m_display, m_window, m_context);
|
||||
|
||||
/* Seems that this has to be called after #glXMakeCurrent,
|
||||
* which means we cannot use `glX` extensions until after we create a context. */
|
||||
initContextGLXEW();
|
||||
|
||||
if (m_window) {
|
||||
initClearGL();
|
||||
::glXSwapBuffers(m_display, m_window);
|
||||
}
|
||||
|
||||
/* re initialize to get the extensions properly */
|
||||
initContextGLXEW();
|
||||
|
||||
version = glGetString(GL_VERSION);
|
||||
|
||||
if (!version || version[0] < '3' || ((version[0] == '3') && (version[2] < '3'))) {
|
||||
@@ -318,7 +306,7 @@ GHOST_TSuccess GHOST_ContextGLX::releaseNativeHandles()
|
||||
|
||||
GHOST_TSuccess GHOST_ContextGLX::setSwapInterval(int interval)
|
||||
{
|
||||
if (!GLXEW_EXT_swap_control) {
|
||||
if (!epoxy_has_glx_extension(m_display, DefaultScreen(m_display), "GLX_EXT_swap_control")) {
|
||||
::glXSwapIntervalEXT(m_display, m_window, interval);
|
||||
return GHOST_kSuccess;
|
||||
}
|
||||
@@ -327,7 +315,7 @@ GHOST_TSuccess GHOST_ContextGLX::setSwapInterval(int interval)
|
||||
|
||||
GHOST_TSuccess GHOST_ContextGLX::getSwapInterval(int &intervalOut)
|
||||
{
|
||||
if (GLXEW_EXT_swap_control) {
|
||||
if (epoxy_has_glx_extension(m_display, DefaultScreen(m_display), "GLX_EXT_swap_control")) {
|
||||
unsigned int interval = 0;
|
||||
|
||||
::glXQueryDrawable(m_display, m_window, GLX_SWAP_INTERVAL_EXT, &interval);
|
||||
|
@@ -9,7 +9,7 @@
|
||||
|
||||
#include "GHOST_Context.h"
|
||||
|
||||
#include <GL/glxew.h>
|
||||
#include <epoxy/glx.h>
|
||||
|
||||
#ifndef GHOST_OPENGL_GLX_CONTEXT_FLAGS
|
||||
/* leave as convenience define for the future */
|
||||
@@ -89,8 +89,6 @@ class GHOST_ContextGLX : public GHOST_Context {
|
||||
GHOST_TSuccess getSwapInterval(int &intervalOut);
|
||||
|
||||
private:
|
||||
void initContextGLXEW();
|
||||
|
||||
Display *m_display;
|
||||
GLXFBConfig m_fbconfig;
|
||||
Window m_window;
|
||||
|
@@ -138,8 +138,6 @@ GHOST_TSuccess GHOST_ContextSDL::initializeDrawingContext()
|
||||
|
||||
success = (SDL_GL_MakeCurrent(m_window, m_context) < 0) ? GHOST_kFailure : GHOST_kSuccess;
|
||||
|
||||
initContextGLEW();
|
||||
|
||||
initClearGL();
|
||||
SDL_GL_SwapWindow(m_window);
|
||||
|
||||
|
@@ -87,7 +87,7 @@ GHOST_TSuccess GHOST_ContextWGL::swapBuffers()
|
||||
|
||||
GHOST_TSuccess GHOST_ContextWGL::setSwapInterval(int interval)
|
||||
{
|
||||
if (WGLEW_EXT_swap_control)
|
||||
if (epoxy_has_wgl_extension(m_hDC, "WGL_EXT_swap_control"))
|
||||
return WIN32_CHK(::wglSwapIntervalEXT(interval)) == TRUE ? GHOST_kSuccess : GHOST_kFailure;
|
||||
else
|
||||
return GHOST_kFailure;
|
||||
@@ -95,7 +95,7 @@ GHOST_TSuccess GHOST_ContextWGL::setSwapInterval(int interval)
|
||||
|
||||
GHOST_TSuccess GHOST_ContextWGL::getSwapInterval(int &intervalOut)
|
||||
{
|
||||
if (WGLEW_EXT_swap_control) {
|
||||
if (epoxy_has_wgl_extension(m_hDC, "WGL_EXT_swap_control")) {
|
||||
intervalOut = ::wglGetSwapIntervalEXT();
|
||||
return GHOST_kSuccess;
|
||||
}
|
||||
@@ -266,7 +266,7 @@ static HWND clone_window(HWND hWnd, LPVOID lpParam)
|
||||
return hwndCloned;
|
||||
}
|
||||
|
||||
void GHOST_ContextWGL::initContextWGLEW(PIXELFORMATDESCRIPTOR &preferredPFD)
|
||||
void GHOST_ContextWGL::initContext(PIXELFORMATDESCRIPTOR &preferredPFD)
|
||||
{
|
||||
HWND dummyHWND = NULL;
|
||||
|
||||
@@ -319,12 +319,6 @@ void GHOST_ContextWGL::initContextWGLEW(PIXELFORMATDESCRIPTOR &preferredPFD)
|
||||
if (!WIN32_CHK(::wglMakeCurrent(dummyHDC, dummyHGLRC)))
|
||||
goto finalize;
|
||||
|
||||
if (GLEW_CHK(glewInit()) != GLEW_OK) {
|
||||
fprintf(stderr, "Warning! Dummy GLEW/WGLEW failed to initialize properly.\n");
|
||||
}
|
||||
|
||||
/* The following are not technically WGLEW, but they also require a context to work. */
|
||||
|
||||
#ifndef NDEBUG
|
||||
free((void *)m_dummyRenderer);
|
||||
free((void *)m_dummyVendor);
|
||||
@@ -493,11 +487,11 @@ int GHOST_ContextWGL::choose_pixel_format(bool stereoVisual, bool needAlpha)
|
||||
0 /* layer, visible, and damage masks (ignored) */
|
||||
};
|
||||
|
||||
initContextWGLEW(preferredPFD);
|
||||
initContext(preferredPFD);
|
||||
|
||||
int iPixelFormat = 0;
|
||||
|
||||
if (WGLEW_ARB_pixel_format)
|
||||
if (epoxy_has_wgl_extension(m_hDC, "WGL_ARB_pixel_format"))
|
||||
iPixelFormat = choose_pixel_format_arb(stereoVisual, needAlpha);
|
||||
|
||||
if (iPixelFormat == 0)
|
||||
@@ -526,7 +520,7 @@ GHOST_TSuccess GHOST_ContextWGL::initializeDrawingContext()
|
||||
HDC prevHDC = ::wglGetCurrentDC();
|
||||
WIN32_CHK(GetLastError() == NO_ERROR);
|
||||
|
||||
if (!WGLEW_ARB_create_context || ::GetPixelFormat(m_hDC) == 0) {
|
||||
if (!epoxy_has_wgl_extension(m_hDC, "WGL_ARB_create_context") || ::GetPixelFormat(m_hDC) == 0) {
|
||||
const bool needAlpha = m_alphaBackground;
|
||||
int iPixelFormat;
|
||||
int lastPFD;
|
||||
@@ -554,41 +548,24 @@ GHOST_TSuccess GHOST_ContextWGL::initializeDrawingContext()
|
||||
}
|
||||
}
|
||||
|
||||
if (WGLEW_ARB_create_context) {
|
||||
if (epoxy_has_wgl_extension(m_hDC, "WGL_ARB_create_context")) {
|
||||
int profileBitCore = m_contextProfileMask & WGL_CONTEXT_CORE_PROFILE_BIT_ARB;
|
||||
int profileBitCompat = m_contextProfileMask & WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB;
|
||||
|
||||
#ifdef WITH_GLEW_ES
|
||||
int profileBitES = m_contextProfileMask & WGL_CONTEXT_ES_PROFILE_BIT_EXT;
|
||||
#endif
|
||||
|
||||
if (!WGLEW_ARB_create_context_profile && profileBitCore)
|
||||
if (!epoxy_has_wgl_extension(m_hDC, "WGL_ARB_create_context_profile") && profileBitCore)
|
||||
fprintf(stderr, "Warning! OpenGL core profile not available.\n");
|
||||
|
||||
if (!WGLEW_ARB_create_context_profile && profileBitCompat)
|
||||
if (!epoxy_has_wgl_extension(m_hDC, "WGL_ARB_create_context_profile") && profileBitCompat)
|
||||
fprintf(stderr, "Warning! OpenGL compatibility profile not available.\n");
|
||||
|
||||
#ifdef WITH_GLEW_ES
|
||||
if (!WGLEW_EXT_create_context_es_profile && profileBitES && m_contextMajorVersion == 1)
|
||||
fprintf(stderr, "Warning! OpenGL ES profile not available.\n");
|
||||
|
||||
if (!WGLEW_EXT_create_context_es2_profile && profileBitES && m_contextMajorVersion == 2)
|
||||
fprintf(stderr, "Warning! OpenGL ES2 profile not available.\n");
|
||||
#endif
|
||||
|
||||
int profileMask = 0;
|
||||
|
||||
if (WGLEW_ARB_create_context_profile && profileBitCore)
|
||||
if (epoxy_has_wgl_extension(m_hDC, "WGL_ARB_create_context_profile") && profileBitCore)
|
||||
profileMask |= profileBitCore;
|
||||
|
||||
if (WGLEW_ARB_create_context_profile && profileBitCompat)
|
||||
if (epoxy_has_wgl_extension(m_hDC, "WGL_ARB_create_context_profile") && profileBitCompat)
|
||||
profileMask |= profileBitCompat;
|
||||
|
||||
#ifdef WITH_GLEW_ES
|
||||
if (WGLEW_EXT_create_context_es_profile && profileBitES)
|
||||
profileMask |= profileBitES;
|
||||
#endif
|
||||
|
||||
if (profileMask != m_contextProfileMask)
|
||||
fprintf(stderr, "Warning! Ignoring untested OpenGL context profile mask bits.");
|
||||
|
||||
@@ -615,7 +592,7 @@ GHOST_TSuccess GHOST_ContextWGL::initializeDrawingContext()
|
||||
}
|
||||
|
||||
if (m_contextResetNotificationStrategy != 0) {
|
||||
if (WGLEW_ARB_create_context_robustness) {
|
||||
if (epoxy_has_wgl_extension(m_hDC, "WGL_ARB_create_context_robustness")) {
|
||||
iAttributes.push_back(WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB);
|
||||
iAttributes.push_back(m_contextResetNotificationStrategy);
|
||||
}
|
||||
@@ -651,8 +628,6 @@ GHOST_TSuccess GHOST_ContextWGL::initializeDrawingContext()
|
||||
goto error;
|
||||
}
|
||||
|
||||
initContextGLEW();
|
||||
|
||||
if (is_crappy_intel_card()) {
|
||||
/* Some Intel cards with context 4.1 or 4.2
|
||||
* don't have the point sprite enabled by default.
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
#include "GHOST_Context.h"
|
||||
|
||||
#include <GL/wglew.h>
|
||||
#include <epoxy/wgl.h>
|
||||
|
||||
#ifndef GHOST_OPENGL_WGL_RESET_NOTIFICATION_STRATEGY
|
||||
# define GHOST_OPENGL_WGL_RESET_NOTIFICATION_STRATEGY 0
|
||||
@@ -90,7 +90,7 @@ class GHOST_ContextWGL : public GHOST_Context {
|
||||
int choose_pixel_format_arb(bool stereoVisual, bool needAlpha);
|
||||
int _choose_pixel_format_arb_1(bool stereoVisual, bool needAlpha);
|
||||
|
||||
void initContextWGLEW(PIXELFORMATDESCRIPTOR &preferredPFD);
|
||||
void initContext(PIXELFORMATDESCRIPTOR &preferredPFD);
|
||||
|
||||
HWND m_hWnd;
|
||||
HDC m_hDC;
|
||||
|
@@ -394,16 +394,6 @@ GHOST_IContext *GHOST_SystemX11::createOffscreenContext(GHOST_GLSettings glSetti
|
||||
|
||||
const bool debug_context = (glSettings.flags & GHOST_glDebugContext) != 0;
|
||||
|
||||
#if defined(WITH_GL_PROFILE_CORE)
|
||||
{
|
||||
const char *version_major = (char *)glewGetString(GLEW_VERSION_MAJOR);
|
||||
if (version_major != nullptr && version_major[0] == '1') {
|
||||
fprintf(stderr, "Error: GLEW version 2.0 and above is required.\n");
|
||||
abort();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
const int profile_mask =
|
||||
#ifdef WITH_GL_EGL
|
||||
# if defined(WITH_GL_PROFILE_CORE)
|
||||
|
@@ -6,7 +6,6 @@
|
||||
|
||||
#include "GHOST_WindowSDL.h"
|
||||
#include "SDL_mouse.h"
|
||||
#include "glew-mx.h"
|
||||
|
||||
#include "GHOST_ContextSDL.h"
|
||||
|
||||
|
@@ -1299,16 +1299,6 @@ GHOST_Context *GHOST_WindowX11::newDrawingContext(GHOST_TDrawingContextType type
|
||||
* - Try 3.3 core profile
|
||||
* - No fall-backs. */
|
||||
|
||||
#if defined(WITH_GL_PROFILE_CORE)
|
||||
{
|
||||
const char *version_major = (char *)glewGetString(GLEW_VERSION_MAJOR);
|
||||
if (version_major != nullptr && version_major[0] == '1') {
|
||||
fprintf(stderr, "Error: GLEW version 2.0 and above is required.\n");
|
||||
abort();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
const int profile_mask =
|
||||
#ifdef WITH_GL_EGL
|
||||
# if defined(WITH_GL_PROFILE_CORE)
|
||||
|
@@ -29,11 +29,9 @@
|
||||
#endif
|
||||
#ifdef WITH_GHOST_X11
|
||||
# ifdef WITH_GL_EGL
|
||||
/* TODO: Why do we have to create this typedef manually? */
|
||||
typedef void (*(*PFNEGLGETPROCADDRESSPROC)(const char *procname))(void);
|
||||
# include <GL/eglew.h>
|
||||
# include <epoxy/egl.h>
|
||||
# else
|
||||
# include <GL/glxew.h>
|
||||
# include <epoxy/glx.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
@@ -155,13 +155,6 @@ suffix_relpaths(SRC_NEW "${SRC}" "../../../extern/wcwidth/")
|
||||
include_directories(${INC_NEW})
|
||||
add_library(wcwidth_lib ${SRC_NEW})
|
||||
|
||||
# glew-mx
|
||||
include(${CMAKE_SOURCE_DIR}/../../../intern/glew-mx/CMakeLists.txt)
|
||||
suffix_relpaths(INC_NEW "${INC}" "../../../intern/glew-mx/")
|
||||
suffix_relpaths(SRC_NEW "${SRC}" "../../../intern/glew-mx/")
|
||||
include_directories(${INC_NEW})
|
||||
add_library(glewmx_lib ${SRC_NEW})
|
||||
|
||||
# grr, blenfont needs BLI
|
||||
include_directories(
|
||||
"../../../source/blender/blenlib"
|
||||
@@ -217,21 +210,12 @@ endif()
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
find_package(X11 REQUIRED)
|
||||
find_package(GLEW)
|
||||
|
||||
if(NOT GLEW_FOUND)
|
||||
message(FATAL_ERROR "GLEW is required to build blender, install it or disable WITH_SYSTEM_GLEW")
|
||||
endif()
|
||||
|
||||
set(PLATFORM_LINKLIBS
|
||||
${X11_X11_LIB}
|
||||
${X11_Xinput_LIB}
|
||||
${GLEW_LIBRARY}
|
||||
-lpthread
|
||||
)
|
||||
else()
|
||||
# set(GLEW_LIBRARY "") # unused
|
||||
set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew/include")
|
||||
endif()
|
||||
|
||||
string(APPEND CMAKE_C_FLAGS " ${PLATFORM_CFLAGS}")
|
||||
@@ -246,7 +230,6 @@ add_executable(gears_c
|
||||
|
||||
target_link_libraries(gears_c
|
||||
ghost_lib
|
||||
glewmx_lib
|
||||
string_lib
|
||||
${OPENGL_gl_LIBRARY}
|
||||
${CMAKE_DL_LIBS}
|
||||
@@ -260,7 +243,6 @@ add_executable(gears_cpp
|
||||
|
||||
target_link_libraries(gears_cpp
|
||||
ghost_lib
|
||||
glewmx_lib
|
||||
string_lib
|
||||
${OPENGL_gl_LIBRARY}
|
||||
${CMAKE_DL_LIBS}
|
||||
@@ -287,7 +269,6 @@ target_link_libraries(multitest_c
|
||||
# imbuf_lib
|
||||
ghost_lib
|
||||
bli_lib # again...
|
||||
glewmx_lib
|
||||
string_lib
|
||||
numaapi_lib
|
||||
guardedalloc_lib
|
||||
|
@@ -1,25 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright 2014 Blender Foundation. All rights reserved.
|
||||
|
||||
set(INC
|
||||
.
|
||||
)
|
||||
|
||||
set(INC_SYS
|
||||
${GLEW_INCLUDE_PATH}
|
||||
)
|
||||
|
||||
set(SRC
|
||||
intern/glew-mx.c
|
||||
|
||||
glew-mx.h
|
||||
intern/gl-deprecated.h
|
||||
intern/symbol-binding.h
|
||||
)
|
||||
|
||||
set(LIB
|
||||
)
|
||||
|
||||
add_definitions(${GL_DEFINITIONS})
|
||||
|
||||
blender_add_lib(bf_intern_glew_mx "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
|
@@ -1,57 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
* Copyright 2014 Blender Foundation. All rights reserved. */
|
||||
|
||||
/** \file
|
||||
* \ingroup intern_glew-mx
|
||||
*
|
||||
* Support for GLEW Multiple rendering conteXts (MX)
|
||||
* Maintained as a Blender Library.
|
||||
*
|
||||
* Different rendering contexts may have different entry points
|
||||
* to extension functions of the same name. So it can cause
|
||||
* problems if, for example, a second context uses a pointer to
|
||||
* say, glActiveTextureARB, that was queried from the first context.
|
||||
*
|
||||
* GLEW has basic support for multiple contexts by enabling WITH_GLEW_MX,
|
||||
* but it does not provide a full implementation. This is because
|
||||
* there are too many questions about thread safety and memory
|
||||
* allocation that are up to the user of GLEW.
|
||||
*
|
||||
* This implementation is very basic and isn't thread safe.
|
||||
* For a single context the overhead should be
|
||||
* no more than using GLEW without WITH_GLEW_MX enabled.
|
||||
*/
|
||||
|
||||
#ifndef __GLEW_MX_H__
|
||||
#define __GLEW_MX_H__
|
||||
|
||||
#include <GL/glew.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "intern/symbol-binding.h"
|
||||
|
||||
/* If compiling only for OpenGL 3.2 Core Profile then we should make sure
|
||||
* no legacy API entries or symbolic constants are used.
|
||||
*/
|
||||
#if (!defined(WITH_LEGACY_OPENGL)) || defined(WITH_GL_PROFILE_CORE) && \
|
||||
!defined(WITH_GL_PROFILE_COMPAT) && \
|
||||
!defined(WITH_GL_PROFILE_ES20)
|
||||
# include "intern/gl-deprecated.h"
|
||||
#endif
|
||||
|
||||
GLenum glew_chk(GLenum error, const char *file, int line, const char *text);
|
||||
|
||||
#ifndef NDEBUG
|
||||
# define GLEW_CHK(x) glew_chk((x), __FILE__, __LINE__, # x)
|
||||
#else
|
||||
# define GLEW_CHK(x) glew_chk((x), NULL, 0, NULL)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __GLEW_MX_H__ */
|
@@ -1,848 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
* Copyright 2014 Blender Foundation. All rights reserved. */
|
||||
|
||||
/** \file
|
||||
* \ingroup intern_glew-mx
|
||||
* Utility used to check for use of deprecated functions.
|
||||
*/
|
||||
|
||||
#ifndef __GL_DEPRECATED_H__
|
||||
#define __GL_DEPRECATED_H__
|
||||
|
||||
// GL Version 1.0
|
||||
#undef glAccum
|
||||
#define glAccum DO_NOT_USE_glAccum
|
||||
#undef glAlphaFunc
|
||||
#define glAlphaFunc DO_NOT_USE_glAlphaFunc
|
||||
#undef glBegin
|
||||
#define glBegin DO_NOT_USE_glBegin
|
||||
#undef glBitmap
|
||||
#define glBitmap DO_NOT_USE_glBitmap
|
||||
#undef glCallList
|
||||
#define glCallList DO_NOT_USE_glCallList
|
||||
#undef glCallLists
|
||||
#define glCallLists DO_NOT_USE_glCallLists
|
||||
#undef glClearAccum
|
||||
#define glClearAccum DO_NOT_USE_glClearAccum
|
||||
#undef glClearIndex
|
||||
#define glClearIndex DO_NOT_USE_glClearIndex
|
||||
#undef glClipPlane
|
||||
#define glClipPlane DO_NOT_USE_glClipPlane
|
||||
#undef glColor3b
|
||||
#define glColor3b DO_NOT_USE_glColor3b
|
||||
#undef glColor3bv
|
||||
#define glColor3bv DO_NOT_USE_glColor3bv
|
||||
#undef glColor3d
|
||||
#define glColor3d DO_NOT_USE_glColor3d
|
||||
#undef glColor3dv
|
||||
#define glColor3dv DO_NOT_USE_glColor3dv
|
||||
#undef glColor3f
|
||||
#define glColor3f DO_NOT_USE_glColor3f
|
||||
#undef glColor3fv
|
||||
#define glColor3fv DO_NOT_USE_glColor3fv
|
||||
#undef glColor3i
|
||||
#define glColor3i DO_NOT_USE_glColor3i
|
||||
#undef glColor3iv
|
||||
#define glColor3iv DO_NOT_USE_glColor3iv
|
||||
#undef glColor3s
|
||||
#define glColor3s DO_NOT_USE_glColor3s
|
||||
#undef glColor3sv
|
||||
#define glColor3sv DO_NOT_USE_glColor3sv
|
||||
#undef glColor3ub
|
||||
#define glColor3ub DO_NOT_USE_glColor3ub
|
||||
#undef glColor3ubv
|
||||
#define glColor3ubv DO_NOT_USE_glColor3ubv
|
||||
#undef glColor3ui
|
||||
#define glColor3ui DO_NOT_USE_glColor3ui
|
||||
#undef glColor3uiv
|
||||
#define glColor3uiv DO_NOT_USE_glColor3uiv
|
||||
#undef glColor3us
|
||||
#define glColor3us DO_NOT_USE_glColor3us
|
||||
#undef glColor3usv
|
||||
#define glColor3usv DO_NOT_USE_glColor3usv
|
||||
#undef glColor4b
|
||||
#define glColor4b DO_NOT_USE_glColor4b
|
||||
#undef glColor4bv
|
||||
#define glColor4bv DO_NOT_USE_glColor4bv
|
||||
#undef glColor4d
|
||||
#define glColor4d DO_NOT_USE_glColor4d
|
||||
#undef glColor4dv
|
||||
#define glColor4dv DO_NOT_USE_glColor4dv
|
||||
#undef glColor4f
|
||||
#define glColor4f DO_NOT_USE_glColor4f
|
||||
#undef glColor4fv
|
||||
#define glColor4fv DO_NOT_USE_glColor4fv
|
||||
#undef glColor4i
|
||||
#define glColor4i DO_NOT_USE_glColor4i
|
||||
#undef glColor4iv
|
||||
#define glColor4iv DO_NOT_USE_glColor4iv
|
||||
#undef glColor4s
|
||||
#define glColor4s DO_NOT_USE_glColor4s
|
||||
#undef glColor4sv
|
||||
#define glColor4sv DO_NOT_USE_glColor4sv
|
||||
#undef glColor4ub
|
||||
#define glColor4ub DO_NOT_USE_glColor4ub
|
||||
#undef glColor4ubv
|
||||
#define glColor4ubv DO_NOT_USE_glColor4ubv
|
||||
#undef glColor4ui
|
||||
#define glColor4ui DO_NOT_USE_glColor4ui
|
||||
#undef glColor4uiv
|
||||
#define glColor4uiv DO_NOT_USE_glColor4uiv
|
||||
#undef glColor4us
|
||||
#define glColor4us DO_NOT_USE_glColor4us
|
||||
#undef glColor4usv
|
||||
#define glColor4usv DO_NOT_USE_glColor4usv
|
||||
#undef glColorMaterial
|
||||
#define glColorMaterial DO_NOT_USE_glColorMaterial
|
||||
#undef glCopyPixels
|
||||
#define glCopyPixels DO_NOT_USE_glCopyPixels
|
||||
#undef glDeleteLists
|
||||
#define glDeleteLists DO_NOT_USE_glDeleteLists
|
||||
#undef glDrawPixels
|
||||
#define glDrawPixels DO_NOT_USE_glDrawPixels
|
||||
#undef glEdgeFlag
|
||||
#define glEdgeFlag DO_NOT_USE_glEdgeFlag
|
||||
#undef glEdgeFlagv
|
||||
#define glEdgeFlagv DO_NOT_USE_glEdgeFlagv
|
||||
#undef glEnd
|
||||
#define glEnd DO_NOT_USE_glEnd
|
||||
#undef glEndList
|
||||
#define glEndList DO_NOT_USE_glEndList
|
||||
#undef glEvalCoord1d
|
||||
#define glEvalCoord1d DO_NOT_USE_glEvalCoord1d
|
||||
#undef glEvalCoord1dv
|
||||
#define glEvalCoord1dv DO_NOT_USE_glEvalCoord1dv
|
||||
#undef glEvalCoord1f
|
||||
#define glEvalCoord1f DO_NOT_USE_glEvalCoord1f
|
||||
#undef glEvalCoord1fv
|
||||
#define glEvalCoord1fv DO_NOT_USE_glEvalCoord1fv
|
||||
#undef glEvalCoord2d
|
||||
#define glEvalCoord2d DO_NOT_USE_glEvalCoord2d
|
||||
#undef glEvalCoord2dv
|
||||
#define glEvalCoord2dv DO_NOT_USE_glEvalCoord2dv
|
||||
#undef glEvalCoord2f
|
||||
#define glEvalCoord2f DO_NOT_USE_glEvalCoord2f
|
||||
#undef glEvalCoord2fv
|
||||
#define glEvalCoord2fv DO_NOT_USE_glEvalCoord2fv
|
||||
#undef glEvalMesh1
|
||||
#define glEvalMesh1 DO_NOT_USE_glEvalMesh1
|
||||
#undef glEvalMesh2
|
||||
#define glEvalMesh2 DO_NOT_USE_glEvalMesh2
|
||||
#undef glEvalPoint1
|
||||
#define glEvalPoint1 DO_NOT_USE_glEvalPoint1
|
||||
#undef glEvalPoint2
|
||||
#define glEvalPoint2 DO_NOT_USE_glEvalPoint2
|
||||
#undef glFeedbackBuffer
|
||||
#define glFeedbackBuffer DO_NOT_USE_glFeedbackBuffer
|
||||
#undef glFogf
|
||||
#define glFogf DO_NOT_USE_glFogf
|
||||
#undef glFogfv
|
||||
#define glFogfv DO_NOT_USE_glFogfv
|
||||
#undef glFogi
|
||||
#define glFogi DO_NOT_USE_glFogi
|
||||
#undef glFogiv
|
||||
#define glFogiv DO_NOT_USE_glFogiv
|
||||
#undef glFrustum
|
||||
#define glFrustum DO_NOT_USE_glFrustum
|
||||
#undef glGenLists
|
||||
#define glGenLists DO_NOT_USE_glGenLists
|
||||
#undef glGetClipPlane
|
||||
#define glGetClipPlane DO_NOT_USE_glGetClipPlane
|
||||
#undef glGetLightfv
|
||||
#define glGetLightfv DO_NOT_USE_glGetLightfv
|
||||
#undef glGetLightiv
|
||||
#define glGetLightiv DO_NOT_USE_glGetLightiv
|
||||
#undef glGetMapdv
|
||||
#define glGetMapdv DO_NOT_USE_glGetMapdv
|
||||
#undef glGetMapfv
|
||||
#define glGetMapfv DO_NOT_USE_glGetMapfv
|
||||
#undef glGetMapiv
|
||||
#define glGetMapiv DO_NOT_USE_glGetMapiv
|
||||
#undef glGetMaterialfv
|
||||
#define glGetMaterialfv DO_NOT_USE_glGetMaterialfv
|
||||
#undef glGetMaterialiv
|
||||
#define glGetMaterialiv DO_NOT_USE_glGetMaterialiv
|
||||
#undef glGetPixelMapfv
|
||||
#define glGetPixelMapfv DO_NOT_USE_glGetPixelMapfv
|
||||
#undef glGetPixelMapuiv
|
||||
#define glGetPixelMapuiv DO_NOT_USE_glGetPixelMapuiv
|
||||
#undef glGetPixelMapusv
|
||||
#define glGetPixelMapusv DO_NOT_USE_glGetPixelMapusv
|
||||
#undef glGetPolygonStipple
|
||||
#define glGetPolygonStipple DO_NOT_USE_glGetPolygonStipple
|
||||
#undef glGetTexEnvfv
|
||||
#define glGetTexEnvfv DO_NOT_USE_glGetTexEnvfv
|
||||
#undef glGetTexEnviv
|
||||
#define glGetTexEnviv DO_NOT_USE_glGetTexEnviv
|
||||
#undef glGetTexGendv
|
||||
#define glGetTexGendv DO_NOT_USE_glGetTexGendv
|
||||
#undef glGetTexGenfv
|
||||
#define glGetTexGenfv DO_NOT_USE_glGetTexGenfv
|
||||
#undef glGetTexGeniv
|
||||
#define glGetTexGeniv DO_NOT_USE_glGetTexGeniv
|
||||
#undef glIndexMask
|
||||
#define glIndexMask DO_NOT_USE_glIndexMask
|
||||
#undef glIndexd
|
||||
#define glIndexd DO_NOT_USE_glIndexd
|
||||
#undef glIndexdv
|
||||
#define glIndexdv DO_NOT_USE_glIndexdv
|
||||
#undef glIndexf
|
||||
#define glIndexf DO_NOT_USE_glIndexf
|
||||
#undef glIndexfv
|
||||
#define glIndexfv DO_NOT_USE_glIndexfv
|
||||
#undef glIndexi
|
||||
#define glIndexi DO_NOT_USE_glIndexi
|
||||
#undef glIndexiv
|
||||
#define glIndexiv DO_NOT_USE_glIndexiv
|
||||
#undef glIndexs
|
||||
#define glIndexs DO_NOT_USE_glIndexs
|
||||
#undef glIndexsv
|
||||
#define glIndexsv DO_NOT_USE_glIndexsv
|
||||
#undef glInitNames
|
||||
#define glInitNames DO_NOT_USE_glInitNames
|
||||
#undef glIsList
|
||||
#define glIsList DO_NOT_USE_glIsList
|
||||
#undef glLightModelf
|
||||
#define glLightModelf DO_NOT_USE_glLightModelf
|
||||
#undef glLightModelfv
|
||||
#define glLightModelfv DO_NOT_USE_glLightModelfv
|
||||
#undef glLightModeli
|
||||
#define glLightModeli DO_NOT_USE_glLightModeli
|
||||
#undef glLightModeliv
|
||||
#define glLightModeliv DO_NOT_USE_glLightModeliv
|
||||
#undef glLightf
|
||||
#define glLightf DO_NOT_USE_glLightf
|
||||
#undef glLightfv
|
||||
#define glLightfv DO_NOT_USE_glLightfv
|
||||
#undef glLighti
|
||||
#define glLighti DO_NOT_USE_glLighti
|
||||
#undef glLightiv
|
||||
#define glLightiv DO_NOT_USE_glLightiv
|
||||
#undef glLineStipple
|
||||
#define glLineStipple DO_NOT_USE_glLineStipple
|
||||
#undef glListBase
|
||||
#define glListBase DO_NOT_USE_glListBase
|
||||
#undef glLoadIdentity
|
||||
#define glLoadIdentity DO_NOT_USE_glLoadIdentity
|
||||
#undef glLoadMatrixd
|
||||
#define glLoadMatrixd DO_NOT_USE_glLoadMatrixd
|
||||
#undef glLoadMatrixf
|
||||
#define glLoadMatrixf DO_NOT_USE_glLoadMatrixf
|
||||
#undef glLoadName
|
||||
#define glLoadName DO_NOT_USE_glLoadName
|
||||
#undef glMap1d
|
||||
#define glMap1d DO_NOT_USE_glMap1d
|
||||
#undef glMap1f
|
||||
#define glMap1f DO_NOT_USE_glMap1f
|
||||
#undef glMap2d
|
||||
#define glMap2d DO_NOT_USE_glMap2d
|
||||
#undef glMap2f
|
||||
#define glMap2f DO_NOT_USE_glMap2f
|
||||
#undef glMapGrid1d
|
||||
#define glMapGrid1d DO_NOT_USE_glMapGrid1d
|
||||
#undef glMapGrid1f
|
||||
#define glMapGrid1f DO_NOT_USE_glMapGrid1f
|
||||
#undef glMapGrid2d
|
||||
#define glMapGrid2d DO_NOT_USE_glMapGrid2d
|
||||
#undef glMapGrid2f
|
||||
#define glMapGrid2f DO_NOT_USE_glMapGrid2f
|
||||
#undef glMaterialf
|
||||
#define glMaterialf DO_NOT_USE_glMaterialf
|
||||
#undef glMaterialfv
|
||||
#define glMaterialfv DO_NOT_USE_glMaterialfv
|
||||
#undef glMateriali
|
||||
#define glMateriali DO_NOT_USE_glMateriali
|
||||
#undef glMaterialiv
|
||||
#define glMaterialiv DO_NOT_USE_glMaterialiv
|
||||
#undef glMatrixMode
|
||||
#define glMatrixMode DO_NOT_USE_glMatrixMode
|
||||
#undef glMultMatrixd
|
||||
#define glMultMatrixd DO_NOT_USE_glMultMatrixd
|
||||
#undef glMultMatrixf
|
||||
#define glMultMatrixf DO_NOT_USE_glMultMatrixf
|
||||
#undef glNewList
|
||||
#define glNewList DO_NOT_USE_glNewList
|
||||
#undef glNormal3b
|
||||
#define glNormal3b DO_NOT_USE_glNormal3b
|
||||
#undef glNormal3bv
|
||||
#define glNormal3bv DO_NOT_USE_glNormal3bv
|
||||
#undef glNormal3d
|
||||
#define glNormal3d DO_NOT_USE_glNormal3d
|
||||
#undef glNormal3dv
|
||||
#define glNormal3dv DO_NOT_USE_glNormal3dv
|
||||
#undef glNormal3f
|
||||
#define glNormal3f DO_NOT_USE_glNormal3f
|
||||
#undef glNormal3fv
|
||||
#define glNormal3fv DO_NOT_USE_glNormal3fv
|
||||
#undef glNormal3i
|
||||
#define glNormal3i DO_NOT_USE_glNormal3i
|
||||
#undef glNormal3iv
|
||||
#define glNormal3iv DO_NOT_USE_glNormal3iv
|
||||
#undef glNormal3s
|
||||
#define glNormal3s DO_NOT_USE_glNormal3s
|
||||
#undef glNormal3sv
|
||||
#define glNormal3sv DO_NOT_USE_glNormal3sv
|
||||
#undef glOrtho
|
||||
#define glOrtho DO_NOT_USE_glOrtho
|
||||
#undef glPassThrough
|
||||
#define glPassThrough DO_NOT_USE_glPassThrough
|
||||
#undef glPixelMapfv
|
||||
#define glPixelMapfv DO_NOT_USE_glPixelMapfv
|
||||
#undef glPixelMapuiv
|
||||
#define glPixelMapuiv DO_NOT_USE_glPixelMapuiv
|
||||
#undef glPixelMapusv
|
||||
#define glPixelMapusv DO_NOT_USE_glPixelMapusv
|
||||
#undef glPixelTransferf
|
||||
#define glPixelTransferf DO_NOT_USE_glPixelTransferf
|
||||
#undef glPixelTransferi
|
||||
#define glPixelTransferi DO_NOT_USE_glPixelTransferi
|
||||
#undef glPixelZoom
|
||||
#define glPixelZoom DO_NOT_USE_glPixelZoom
|
||||
#undef glPolygonStipple
|
||||
#define glPolygonStipple DO_NOT_USE_glPolygonStipple
|
||||
#undef glPopAttrib
|
||||
#define glPopAttrib DO_NOT_USE_glPopAttrib
|
||||
#undef glPopMatrix
|
||||
#define glPopMatrix DO_NOT_USE_glPopMatrix
|
||||
#undef glPopName
|
||||
#define glPopName DO_NOT_USE_glPopName
|
||||
#undef glPushAttrib
|
||||
#define glPushAttrib DO_NOT_USE_glPushAttrib
|
||||
#undef glPushMatrix
|
||||
#define glPushMatrix DO_NOT_USE_glPushMatrix
|
||||
#undef glPushName
|
||||
#define glPushName DO_NOT_USE_glPushName
|
||||
#undef glRasterPos2d
|
||||
#define glRasterPos2d DO_NOT_USE_glRasterPos2d
|
||||
#undef glRasterPos2dv
|
||||
#define glRasterPos2dv DO_NOT_USE_glRasterPos2dv
|
||||
#undef glRasterPos2f
|
||||
#define glRasterPos2f DO_NOT_USE_glRasterPos2f
|
||||
#undef glRasterPos2fv
|
||||
#define glRasterPos2fv DO_NOT_USE_glRasterPos2fv
|
||||
#undef glRasterPos2i
|
||||
#define glRasterPos2i DO_NOT_USE_glRasterPos2i
|
||||
#undef glRasterPos2iv
|
||||
#define glRasterPos2iv DO_NOT_USE_glRasterPos2iv
|
||||
#undef glRasterPos2s
|
||||
#define glRasterPos2s DO_NOT_USE_glRasterPos2s
|
||||
#undef glRasterPos2sv
|
||||
#define glRasterPos2sv DO_NOT_USE_glRasterPos2sv
|
||||
#undef glRasterPos3d
|
||||
#define glRasterPos3d DO_NOT_USE_glRasterPos3d
|
||||
#undef glRasterPos3dv
|
||||
#define glRasterPos3dv DO_NOT_USE_glRasterPos3dv
|
||||
#undef glRasterPos3f
|
||||
#define glRasterPos3f DO_NOT_USE_glRasterPos3f
|
||||
#undef glRasterPos3fv
|
||||
#define glRasterPos3fv DO_NOT_USE_glRasterPos3fv
|
||||
#undef glRasterPos3i
|
||||
#define glRasterPos3i DO_NOT_USE_glRasterPos3i
|
||||
#undef glRasterPos3iv
|
||||
#define glRasterPos3iv DO_NOT_USE_glRasterPos3iv
|
||||
#undef glRasterPos3s
|
||||
#define glRasterPos3s DO_NOT_USE_glRasterPos3s
|
||||
#undef glRasterPos3sv
|
||||
#define glRasterPos3sv DO_NOT_USE_glRasterPos3sv
|
||||
#undef glRasterPos4d
|
||||
#define glRasterPos4d DO_NOT_USE_glRasterPos4d
|
||||
#undef glRasterPos4dv
|
||||
#define glRasterPos4dv DO_NOT_USE_glRasterPos4dv
|
||||
#undef glRasterPos4f
|
||||
#define glRasterPos4f DO_NOT_USE_glRasterPos4f
|
||||
#undef glRasterPos4fv
|
||||
#define glRasterPos4fv DO_NOT_USE_glRasterPos4fv
|
||||
#undef glRasterPos4i
|
||||
#define glRasterPos4i DO_NOT_USE_glRasterPos4i
|
||||
#undef glRasterPos4iv
|
||||
#define glRasterPos4iv DO_NOT_USE_glRasterPos4iv
|
||||
#undef glRasterPos4s
|
||||
#define glRasterPos4s DO_NOT_USE_glRasterPos4s
|
||||
#undef glRasterPos4sv
|
||||
#define glRasterPos4sv DO_NOT_USE_glRasterPos4sv
|
||||
#undef glRectd
|
||||
#define glRectd DO_NOT_USE_glRectd
|
||||
#undef glRectdv
|
||||
#define glRectdv DO_NOT_USE_glRectdv
|
||||
#undef glRectf
|
||||
#define glRectf DO_NOT_USE_glRectf
|
||||
#undef glRectfv
|
||||
#define glRectfv DO_NOT_USE_glRectfv
|
||||
#undef glRecti
|
||||
#define glRecti DO_NOT_USE_glRecti
|
||||
#undef glRectiv
|
||||
#define glRectiv DO_NOT_USE_glRectiv
|
||||
#undef glRects
|
||||
#define glRects DO_NOT_USE_glRects
|
||||
#undef glRectsv
|
||||
#define glRectsv DO_NOT_USE_glRectsv
|
||||
#undef glRenderMode
|
||||
#define glRenderMode DO_NOT_USE_glRenderMode
|
||||
#undef glRotated
|
||||
#define glRotated DO_NOT_USE_glRotated
|
||||
#undef glRotatef
|
||||
#define glRotatef DO_NOT_USE_glRotatef
|
||||
#undef glScaled
|
||||
#define glScaled DO_NOT_USE_glScaled
|
||||
#undef glScalef
|
||||
#define glScalef DO_NOT_USE_glScalef
|
||||
#undef glSelectBuffer
|
||||
#define glSelectBuffer DO_NOT_USE_glSelectBuffer
|
||||
#undef glShadeModel
|
||||
#define glShadeModel DO_NOT_USE_glShadeModel
|
||||
#undef glTexCoord1d
|
||||
#define glTexCoord1d DO_NOT_USE_glTexCoord1d
|
||||
#undef glTexCoord1dv
|
||||
#define glTexCoord1dv DO_NOT_USE_glTexCoord1dv
|
||||
#undef glTexCoord1f
|
||||
#define glTexCoord1f DO_NOT_USE_glTexCoord1f
|
||||
#undef glTexCoord1fv
|
||||
#define glTexCoord1fv DO_NOT_USE_glTexCoord1fv
|
||||
#undef glTexCoord1i
|
||||
#define glTexCoord1i DO_NOT_USE_glTexCoord1i
|
||||
#undef glTexCoord1iv
|
||||
#define glTexCoord1iv DO_NOT_USE_glTexCoord1iv
|
||||
#undef glTexCoord1s
|
||||
#define glTexCoord1s DO_NOT_USE_glTexCoord1s
|
||||
#undef glTexCoord1sv
|
||||
#define glTexCoord1sv DO_NOT_USE_glTexCoord1sv
|
||||
#undef glTexCoord2d
|
||||
#define glTexCoord2d DO_NOT_USE_glTexCoord2d
|
||||
#undef glTexCoord2dv
|
||||
#define glTexCoord2dv DO_NOT_USE_glTexCoord2dv
|
||||
#undef glTexCoord2f
|
||||
#define glTexCoord2f DO_NOT_USE_glTexCoord2f
|
||||
#undef glTexCoord2fv
|
||||
#define glTexCoord2fv DO_NOT_USE_glTexCoord2fv
|
||||
#undef glTexCoord2i
|
||||
#define glTexCoord2i DO_NOT_USE_glTexCoord2i
|
||||
#undef glTexCoord2iv
|
||||
#define glTexCoord2iv DO_NOT_USE_glTexCoord2iv
|
||||
#undef glTexCoord2s
|
||||
#define glTexCoord2s DO_NOT_USE_glTexCoord2s
|
||||
#undef glTexCoord2sv
|
||||
#define glTexCoord2sv DO_NOT_USE_glTexCoord2sv
|
||||
#undef glTexCoord3d
|
||||
#define glTexCoord3d DO_NOT_USE_glTexCoord3d
|
||||
#undef glTexCoord3dv
|
||||
#define glTexCoord3dv DO_NOT_USE_glTexCoord3dv
|
||||
#undef glTexCoord3f
|
||||
#define glTexCoord3f DO_NOT_USE_glTexCoord3f
|
||||
#undef glTexCoord3fv
|
||||
#define glTexCoord3fv DO_NOT_USE_glTexCoord3fv
|
||||
#undef glTexCoord3i
|
||||
#define glTexCoord3i DO_NOT_USE_glTexCoord3i
|
||||
#undef glTexCoord3iv
|
||||
#define glTexCoord3iv DO_NOT_USE_glTexCoord3iv
|
||||
#undef glTexCoord3s
|
||||
#define glTexCoord3s DO_NOT_USE_glTexCoord3s
|
||||
#undef glTexCoord3sv
|
||||
#define glTexCoord3sv DO_NOT_USE_glTexCoord3sv
|
||||
#undef glTexCoord4d
|
||||
#define glTexCoord4d DO_NOT_USE_glTexCoord4d
|
||||
#undef glTexCoord4dv
|
||||
#define glTexCoord4dv DO_NOT_USE_glTexCoord4dv
|
||||
#undef glTexCoord4f
|
||||
#define glTexCoord4f DO_NOT_USE_glTexCoord4f
|
||||
#undef glTexCoord4fv
|
||||
#define glTexCoord4fv DO_NOT_USE_glTexCoord4fv
|
||||
#undef glTexCoord4i
|
||||
#define glTexCoord4i DO_NOT_USE_glTexCoord4i
|
||||
#undef glTexCoord4iv
|
||||
#define glTexCoord4iv DO_NOT_USE_glTexCoord4iv
|
||||
#undef glTexCoord4s
|
||||
#define glTexCoord4s DO_NOT_USE_glTexCoord4s
|
||||
#undef glTexCoord4sv
|
||||
#define glTexCoord4sv DO_NOT_USE_glTexCoord4sv
|
||||
#undef glTexEnvf
|
||||
#define glTexEnvf DO_NOT_USE_glTexEnvf
|
||||
#undef glTexEnvfv
|
||||
#define glTexEnvfv DO_NOT_USE_glTexEnvfv
|
||||
#undef glTexEnvi
|
||||
#define glTexEnvi DO_NOT_USE_glTexEnvi
|
||||
#undef glTexEnviv
|
||||
#define glTexEnviv DO_NOT_USE_glTexEnviv
|
||||
#undef glTexGend
|
||||
#define glTexGend DO_NOT_USE_glTexGend
|
||||
#undef glTexGendv
|
||||
#define glTexGendv DO_NOT_USE_glTexGendv
|
||||
#undef glTexGenf
|
||||
#define glTexGenf DO_NOT_USE_glTexGenf
|
||||
#undef glTexGenfv
|
||||
#define glTexGenfv DO_NOT_USE_glTexGenfv
|
||||
#undef glTexGeni
|
||||
#define glTexGeni DO_NOT_USE_glTexGeni
|
||||
#undef glTexGeniv
|
||||
#define glTexGeniv DO_NOT_USE_glTexGeniv
|
||||
#undef glTranslated
|
||||
#define glTranslated DO_NOT_USE_glTranslated
|
||||
#undef glTranslatef
|
||||
#define glTranslatef DO_NOT_USE_glTranslatef
|
||||
#undef glVertex2d
|
||||
#define glVertex2d DO_NOT_USE_glVertex2d
|
||||
#undef glVertex2dv
|
||||
#define glVertex2dv DO_NOT_USE_glVertex2dv
|
||||
#undef glVertex2f
|
||||
#define glVertex2f DO_NOT_USE_glVertex2f
|
||||
#undef glVertex2fv
|
||||
#define glVertex2fv DO_NOT_USE_glVertex2fv
|
||||
#undef glVertex2i
|
||||
#define glVertex2i DO_NOT_USE_glVertex2i
|
||||
#undef glVertex2iv
|
||||
#define glVertex2iv DO_NOT_USE_glVertex2iv
|
||||
#undef glVertex2s
|
||||
#define glVertex2s DO_NOT_USE_glVertex2s
|
||||
#undef glVertex2sv
|
||||
#define glVertex2sv DO_NOT_USE_glVertex2sv
|
||||
#undef glVertex3d
|
||||
#define glVertex3d DO_NOT_USE_glVertex3d
|
||||
#undef glVertex3dv
|
||||
#define glVertex3dv DO_NOT_USE_glVertex3dv
|
||||
#undef glVertex3f
|
||||
#define glVertex3f DO_NOT_USE_glVertex3f
|
||||
#undef glVertex3fv
|
||||
#define glVertex3fv DO_NOT_USE_glVertex3fv
|
||||
#undef glVertex3i
|
||||
#define glVertex3i DO_NOT_USE_glVertex3i
|
||||
#undef glVertex3iv
|
||||
#define glVertex3iv DO_NOT_USE_glVertex3iv
|
||||
#undef glVertex3s
|
||||
#define glVertex3s DO_NOT_USE_glVertex3s
|
||||
#undef glVertex3sv
|
||||
#define glVertex3sv DO_NOT_USE_glVertex3sv
|
||||
#undef glVertex4d
|
||||
#define glVertex4d DO_NOT_USE_glVertex4d
|
||||
#undef glVertex4dv
|
||||
#define glVertex4dv DO_NOT_USE_glVertex4dv
|
||||
#undef glVertex4f
|
||||
#define glVertex4f DO_NOT_USE_glVertex4f
|
||||
#undef glVertex4fv
|
||||
#define glVertex4fv DO_NOT_USE_glVertex4fv
|
||||
#undef glVertex4i
|
||||
#define glVertex4i DO_NOT_USE_glVertex4i
|
||||
#undef glVertex4iv
|
||||
#define glVertex4iv DO_NOT_USE_glVertex4iv
|
||||
#undef glVertex4s
|
||||
#define glVertex4s DO_NOT_USE_glVertex4s
|
||||
#undef glVertex4sv
|
||||
#define glVertex4sv DO_NOT_USE_glVertex4sv
|
||||
|
||||
// GL Version 1.1
|
||||
#undef glAreTexturesResident
|
||||
#define glAreTexturesResident DO_NOT_USE_glAreTexturesResident
|
||||
#undef glArrayElement
|
||||
#define glArrayElement DO_NOT_USE_glArrayElement
|
||||
#undef glColorPointer
|
||||
#define glColorPointer DO_NOT_USE_glColorPointer
|
||||
#undef glDisableClientState
|
||||
#define glDisableClientState DO_NOT_USE_glDisableClientState
|
||||
#undef glEdgeFlagPointer
|
||||
#define glEdgeFlagPointer DO_NOT_USE_glEdgeFlagPointer
|
||||
#undef glEnableClientState
|
||||
#define glEnableClientState DO_NOT_USE_glEnableClientState
|
||||
#undef glIndexPointer
|
||||
#define glIndexPointer DO_NOT_USE_glIndexPointer
|
||||
#undef glIndexub
|
||||
#define glIndexub DO_NOT_USE_glIndexub
|
||||
#undef glIndexubv
|
||||
#define glIndexubv DO_NOT_USE_glIndexubv
|
||||
#undef glInterleavedArrays
|
||||
#define glInterleavedArrays DO_NOT_USE_glInterleavedArrays
|
||||
#undef glNormalPointer
|
||||
#define glNormalPointer DO_NOT_USE_glNormalPointer
|
||||
#undef glPopClientAttrib
|
||||
#define glPopClientAttrib DO_NOT_USE_glPopClientAttrib
|
||||
#undef glPrioritizeTextures
|
||||
#define glPrioritizeTextures DO_NOT_USE_glPrioritizeTextures
|
||||
#undef glPushClientAttrib
|
||||
#define glPushClientAttrib DO_NOT_USE_glPushClientAttrib
|
||||
#undef glTexCoordPointer
|
||||
#define glTexCoordPointer DO_NOT_USE_glTexCoordPointer
|
||||
#undef glVertexPointer
|
||||
#define glVertexPointer DO_NOT_USE_glVertexPointer
|
||||
|
||||
// GL Version1.2
|
||||
#undef glColorSubTable
|
||||
#define glColorSubTable DO_NOT_USE_glColorSubTable
|
||||
#undef glColorTable
|
||||
#define glColorTable DO_NOT_USE_glColorTable
|
||||
#undef glColorTableParameterfv
|
||||
#define glColorTableParameterfv DO_NOT_USE_glColorTableParameterfv
|
||||
#undef glColorTableParameteriv
|
||||
#define glColorTableParameteriv DO_NOT_USE_glColorTableParameteriv
|
||||
#undef glConvolutionFilter1D
|
||||
#define glConvolutionFilter1D DO_NOT_USE_glConvolutionFilter1D
|
||||
#undef glConvolutionFilter2D
|
||||
#define glConvolutionFilter2D DO_NOT_USE_glConvolutionFilter2D
|
||||
#undef glConvolutionParameterf
|
||||
#define glConvolutionParameterf DO_NOT_USE_glConvolutionParameterf
|
||||
#undef glConvolutionParameterfv
|
||||
#define glConvolutionParameterfv DO_NOT_USE_glConvolutionParameterfv
|
||||
#undef glConvolutionParameteri
|
||||
#define glConvolutionParameteri DO_NOT_USE_glConvolutionParameteri
|
||||
#undef glConvolutionParameteriv
|
||||
#define glConvolutionParameteriv DO_NOT_USE_glConvolutionParameteriv
|
||||
#undef glCopyColorSubTable
|
||||
#define glCopyColorSubTable DO_NOT_USE_glCopyColorSubTable
|
||||
#undef glCopyColorTable
|
||||
#define glCopyColorTable DO_NOT_USE_glCopyColorTable
|
||||
#undef glCopyConvolutionFilter1D
|
||||
#define glCopyConvolutionFilter1D DO_NOT_USE_glCopyConvolutionFilter1D
|
||||
#undef glCopyConvolutionFilter2D
|
||||
#define glCopyConvolutionFilter2D DO_NOT_USE_glCopyConvolutionFilter2D
|
||||
#undef glGetColorTable
|
||||
#define glGetColorTable DO_NOT_USE_glGetColorTable
|
||||
#undef glGetColorTableParameterfv
|
||||
#define glGetColorTableParameterfv DO_NOT_USE_glGetColorTableParameterfv
|
||||
#undef glGetColorTableParameteriv
|
||||
#define glGetColorTableParameteriv DO_NOT_USE_glGetColorTableParameteriv
|
||||
#undef glGetConvolutionFilter
|
||||
#define glGetConvolutionFilter DO_NOT_USE_glGetConvolutionFilter
|
||||
#undef glGetConvolutionParameterfv
|
||||
#define glGetConvolutionParameterfv DO_NOT_USE_glGetConvolutionParameterfv
|
||||
#undef glGetConvolutionParameteriv
|
||||
#define glGetConvolutionParameteriv DO_NOT_USE_glGetConvolutionParameteriv
|
||||
#undef glGetHistogram
|
||||
#define glGetHistogram DO_NOT_USE_glGetHistogram
|
||||
#undef glGetHistogramParameterfv
|
||||
#define glGetHistogramParameterfv DO_NOT_USE_glGetHistogramParameterfv
|
||||
#undef glGetHistogramParameteriv
|
||||
#define glGetHistogramParameteriv DO_NOT_USE_glGetHistogramParameteriv
|
||||
#undef glGetMinmax
|
||||
#define glGetMinmax DO_NOT_USE_glGetMinmax
|
||||
#undef glGetMinmaxParameterfv
|
||||
#define glGetMinmaxParameterfv DO_NOT_USE_glGetMinmaxParameterfv
|
||||
#undef glGetMinmaxParameteriv
|
||||
#define glGetMinmaxParameteriv DO_NOT_USE_glGetMinmaxParameteriv
|
||||
#undef glGetSeparableFilter
|
||||
#define glGetSeparableFilter DO_NOT_USE_glGetSeparableFilter
|
||||
#undef glHistogram
|
||||
#define glHistogram DO_NOT_USE_glHistogram
|
||||
#undef glMinmax
|
||||
#define glMinmax DO_NOT_USE_glMinmax
|
||||
#undef glResetHistogram
|
||||
#define glResetHistogram DO_NOT_USE_glResetHistogram
|
||||
#undef glResetMinmax
|
||||
#define glResetMinmax DO_NOT_USE_glResetMinmax
|
||||
#undef glSeparableFilter2D
|
||||
#define glSeparableFilter2D DO_NOT_USE_glSeparableFilter2D
|
||||
|
||||
// GL Version1.3
|
||||
#undef glClientActiveTexture
|
||||
#define glClientActiveTexture DO_NOT_USE_glClientActiveTexture
|
||||
#undef glLoadTransposeMatrixd
|
||||
#define glLoadTransposeMatrixd DO_NOT_USE_glLoadTransposeMatrixd
|
||||
#undef glLoadTransposeMatrixf
|
||||
#define glLoadTransposeMatrixf DO_NOT_USE_glLoadTransposeMatrixf
|
||||
#undef glMultTransposeMatrixd
|
||||
#define glMultTransposeMatrixd DO_NOT_USE_glMultTransposeMatrixd
|
||||
#undef glMultTransposeMatrixf
|
||||
#define glMultTransposeMatrixf DO_NOT_USE_glMultTransposeMatrixf
|
||||
#undef glMultiTexCoord1d
|
||||
#define glMultiTexCoord1d DO_NOT_USE_glMultiTexCoord1d
|
||||
#undef glMultiTexCoord1dv
|
||||
#define glMultiTexCoord1dv DO_NOT_USE_glMultiTexCoord1dv
|
||||
#undef glMultiTexCoord1f
|
||||
#define glMultiTexCoord1f DO_NOT_USE_glMultiTexCoord1f
|
||||
#undef glMultiTexCoord1fv
|
||||
#define glMultiTexCoord1fv DO_NOT_USE_glMultiTexCoord1fv
|
||||
#undef glMultiTexCoord1i
|
||||
#define glMultiTexCoord1i DO_NOT_USE_glMultiTexCoord1i
|
||||
#undef glMultiTexCoord1iv
|
||||
#define glMultiTexCoord1iv DO_NOT_USE_glMultiTexCoord1iv
|
||||
#undef glMultiTexCoord1s
|
||||
#define glMultiTexCoord1s DO_NOT_USE_glMultiTexCoord1s
|
||||
#undef glMultiTexCoord1sv
|
||||
#define glMultiTexCoord1sv DO_NOT_USE_glMultiTexCoord1sv
|
||||
#undef glMultiTexCoord2d
|
||||
#define glMultiTexCoord2d DO_NOT_USE_glMultiTexCoord2d
|
||||
#undef glMultiTexCoord2dv
|
||||
#define glMultiTexCoord2dv DO_NOT_USE_glMultiTexCoord2dv
|
||||
#undef glMultiTexCoord2f
|
||||
#define glMultiTexCoord2f DO_NOT_USE_glMultiTexCoord2f
|
||||
#undef glMultiTexCoord2fv
|
||||
#define glMultiTexCoord2fv DO_NOT_USE_glMultiTexCoord2fv
|
||||
#undef glMultiTexCoord2i
|
||||
#define glMultiTexCoord2i DO_NOT_USE_glMultiTexCoord2i
|
||||
#undef glMultiTexCoord2iv
|
||||
#define glMultiTexCoord2iv DO_NOT_USE_glMultiTexCoord2iv
|
||||
#undef glMultiTexCoord2s
|
||||
#define glMultiTexCoord2s DO_NOT_USE_glMultiTexCoord2s
|
||||
#undef glMultiTexCoord2sv
|
||||
#define glMultiTexCoord2sv DO_NOT_USE_glMultiTexCoord2sv
|
||||
#undef glMultiTexCoord3d
|
||||
#define glMultiTexCoord3d DO_NOT_USE_glMultiTexCoord3d
|
||||
#undef glMultiTexCoord3dv
|
||||
#define glMultiTexCoord3dv DO_NOT_USE_glMultiTexCoord3dv
|
||||
#undef glMultiTexCoord3f
|
||||
#define glMultiTexCoord3f DO_NOT_USE_glMultiTexCoord3f
|
||||
#undef glMultiTexCoord3fv
|
||||
#define glMultiTexCoord3fv DO_NOT_USE_glMultiTexCoord3fv
|
||||
#undef glMultiTexCoord3i
|
||||
#define glMultiTexCoord3i DO_NOT_USE_glMultiTexCoord3i
|
||||
#undef glMultiTexCoord3iv
|
||||
#define glMultiTexCoord3iv DO_NOT_USE_glMultiTexCoord3iv
|
||||
#undef glMultiTexCoord3s
|
||||
#define glMultiTexCoord3s DO_NOT_USE_glMultiTexCoord3s
|
||||
#undef glMultiTexCoord3sv
|
||||
#define glMultiTexCoord3sv DO_NOT_USE_glMultiTexCoord3sv
|
||||
#undef glMultiTexCoord4d
|
||||
#define glMultiTexCoord4d DO_NOT_USE_glMultiTexCoord4d
|
||||
#undef glMultiTexCoord4dv
|
||||
#define glMultiTexCoord4dv DO_NOT_USE_glMultiTexCoord4dv
|
||||
#undef glMultiTexCoord4f
|
||||
#define glMultiTexCoord4f DO_NOT_USE_glMultiTexCoord4f
|
||||
#undef glMultiTexCoord4fv
|
||||
#define glMultiTexCoord4fv DO_NOT_USE_glMultiTexCoord4fv
|
||||
#undef glMultiTexCoord4i
|
||||
#define glMultiTexCoord4i DO_NOT_USE_glMultiTexCoord4i
|
||||
#undef glMultiTexCoord4iv
|
||||
#define glMultiTexCoord4iv DO_NOT_USE_glMultiTexCoord4iv
|
||||
#undef glMultiTexCoord4s
|
||||
#define glMultiTexCoord4s DO_NOT_USE_glMultiTexCoord4s
|
||||
#undef glMultiTexCoord4sv
|
||||
#define glMultiTexCoord4sv DO_NOT_USE_glMultiTexCoord4sv
|
||||
|
||||
// GL Version 1.4
|
||||
#undef glFogCoordPointer
|
||||
#define glFogCoordPointer DO_NOT_USE_glFogCoordPointer
|
||||
#undef glFogCoordd
|
||||
#define glFogCoordd DO_NOT_USE_glFogCoordd
|
||||
#undef glFogCoorddv
|
||||
#define glFogCoorddv DO_NOT_USE_glFogCoorddv
|
||||
#undef glFogCoordf
|
||||
#define glFogCoordf DO_NOT_USE_glFogCoordf
|
||||
#undef glFogCoordfv
|
||||
#define glFogCoordfv DO_NOT_USE_glFogCoordfv
|
||||
#undef glSecondaryColor3b
|
||||
#define glSecondaryColor3b DO_NOT_USE_glSecondaryColor3b
|
||||
#undef glSecondaryColor3bv
|
||||
#define glSecondaryColor3bv DO_NOT_USE_glSecondaryColor3bv
|
||||
#undef glSecondaryColor3d
|
||||
#define glSecondaryColor3d DO_NOT_USE_glSecondaryColor3d
|
||||
#undef glSecondaryColor3dv
|
||||
#define glSecondaryColor3dv DO_NOT_USE_glSecondaryColor3dv
|
||||
#undef glSecondaryColor3f
|
||||
#define glSecondaryColor3f DO_NOT_USE_glSecondaryColor3f
|
||||
#undef glSecondaryColor3fv
|
||||
#define glSecondaryColor3fv DO_NOT_USE_glSecondaryColor3fv
|
||||
#undef glSecondaryColor3i
|
||||
#define glSecondaryColor3i DO_NOT_USE_glSecondaryColor3i
|
||||
#undef glSecondaryColor3iv
|
||||
#define glSecondaryColor3iv DO_NOT_USE_glSecondaryColor3iv
|
||||
#undef glSecondaryColor3s
|
||||
#define glSecondaryColor3s DO_NOT_USE_glSecondaryColor3s
|
||||
#undef glSecondaryColor3sv
|
||||
#define glSecondaryColor3sv DO_NOT_USE_glSecondaryColor3sv
|
||||
#undef glSecondaryColor3ub
|
||||
#define glSecondaryColor3ub DO_NOT_USE_glSecondaryColor3ub
|
||||
#undef glSecondaryColor3ubv
|
||||
#define glSecondaryColor3ubv DO_NOT_USE_glSecondaryColor3ubv
|
||||
#undef glSecondaryColor3ui
|
||||
#define glSecondaryColor3ui DO_NOT_USE_glSecondaryColor3ui
|
||||
#undef glSecondaryColor3uiv
|
||||
#define glSecondaryColor3uiv DO_NOT_USE_glSecondaryColor3uiv
|
||||
#undef glSecondaryColor3us
|
||||
#define glSecondaryColor3us DO_NOT_USE_glSecondaryColor3us
|
||||
#undef glSecondaryColor3usv
|
||||
#define glSecondaryColor3usv DO_NOT_USE_glSecondaryColor3usv
|
||||
#undef glSecondaryColorPointer
|
||||
#define glSecondaryColorPointer DO_NOT_USE_glSecondaryColorPointer
|
||||
#undef glWindowPos2d
|
||||
#define glWindowPos2d DO_NOT_USE_glWindowPos2d
|
||||
#undef glWindowPos2dv
|
||||
#define glWindowPos2dv DO_NOT_USE_glWindowPos2dv
|
||||
#undef glWindowPos2f
|
||||
#define glWindowPos2f DO_NOT_USE_glWindowPos2f
|
||||
#undef glWindowPos2fv
|
||||
#define glWindowPos2fv DO_NOT_USE_glWindowPos2fv
|
||||
#undef glWindowPos2i
|
||||
#define glWindowPos2i DO_NOT_USE_glWindowPos2i
|
||||
#undef glWindowPos2iv
|
||||
#define glWindowPos2iv DO_NOT_USE_glWindowPos2iv
|
||||
#undef glWindowPos2s
|
||||
#define glWindowPos2s DO_NOT_USE_glWindowPos2s
|
||||
#undef glWindowPos2sv
|
||||
#define glWindowPos2sv DO_NOT_USE_glWindowPos2sv
|
||||
#undef glWindowPos3d
|
||||
#define glWindowPos3d DO_NOT_USE_glWindowPos3d
|
||||
#undef glWindowPos3dv
|
||||
#define glWindowPos3dv DO_NOT_USE_glWindowPos3dv
|
||||
#undef glWindowPos3f
|
||||
#define glWindowPos3f DO_NOT_USE_glWindowPos3f
|
||||
#undef glWindowPos3fv
|
||||
#define glWindowPos3fv DO_NOT_USE_glWindowPos3fv
|
||||
#undef glWindowPos3i
|
||||
#define glWindowPos3i DO_NOT_USE_glWindowPos3i
|
||||
#undef glWindowPos3iv
|
||||
#define glWindowPos3iv DO_NOT_USE_glWindowPos3iv
|
||||
#undef glWindowPos3s
|
||||
#define glWindowPos3s DO_NOT_USE_glWindowPos3s
|
||||
#undef glWindowPos3sv
|
||||
#define glWindowPos3sv DO_NOT_USE_glWindowPos3sv
|
||||
|
||||
// Old Token Names 1.2
|
||||
#undef GL_POINT_SIZE_RANGE
|
||||
#define GL_POINT_SIZE_RANGE DO_NOT_USE_GL_POINT_SIZE_RANGE
|
||||
#undef GL_POINT_SIZE_GRANULARITY
|
||||
#define GL_POINT_SIZE_GRANULARITY DO_NOT_USE_GL_POINT_SIZE_GRANULARITY
|
||||
|
||||
// Old Token Names 1.5
|
||||
#undef GL_CURRENT_FOG_COORDINATE
|
||||
#define GL_CURRENT_FOG_COORDINATE DO_NOT_USE_GL_CURRENT_FOG_COORDINATE
|
||||
#undef GL_FOG_COORDINATE
|
||||
#define GL_FOG_COORDINATE DO_NOT_USE_GL_FOG_COORDINATE
|
||||
#undef GL_FOG_COORDINATE_ARRAY
|
||||
#define GL_FOG_COORDINATE_ARRAY DO_NOT_USE_GL_FOG_COORDINATE_ARRAY
|
||||
#undef GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
|
||||
#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING DO_NOT_USE_GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
|
||||
#undef GL_FOG_COORDINATE_ARRAY_POINTER
|
||||
#define GL_FOG_COORDINATE_ARRAY_POINTER DO_NOT_USE_GL_FOG_COORDINATE_ARRAY_POINTER
|
||||
#undef GL_FOG_COORDINATE_ARRAY_STRIDE
|
||||
#define GL_FOG_COORDINATE_ARRAY_STRIDE DO_NOT_USE_GL_FOG_COORDINATE_ARRAY_STRIDE
|
||||
#undef GL_FOG_COORDINATE_ARRAY_TYPE
|
||||
#define GL_FOG_COORDINATE_ARRAY_TYPE DO_NOT_USE_GL_FOG_COORDINATE_ARRAY_TYPE
|
||||
#undef GL_FOG_COORDINATE_SOURCE
|
||||
#define GL_FOG_COORDINATE_SOURCE DO_NOT_USE_GL_FOG_COORDINATE_SOURCE
|
||||
#undef GL_SOURCE0_ALPHA
|
||||
#define GL_SOURCE0_ALPHA DO_NOT_USE_GL_SOURCE0_ALPHA
|
||||
#undef GL_SOURCE0_RGB
|
||||
#define GL_SOURCE0_RGB DO_NOT_USE_GL_SOURCE0_RGB
|
||||
#if 0 /* Those are reused as new valid enum! GL_SRC1_COLOR etc... */
|
||||
# undef GL_SOURCE1_ALPHA
|
||||
# define GL_SOURCE1_ALPHA DO_NOT_USE_GL_SOURCE1_ALPHA
|
||||
# undef GL_SOURCE1_RGB
|
||||
# define GL_SOURCE1_RGB DO_NOT_USE_GL_SOURCE1_RGB
|
||||
#endif
|
||||
#undef GL_SOURCE2_ALPHA
|
||||
#define GL_SOURCE2_ALPHA DO_NOT_USE_GL_SOURCE2_ALPHA
|
||||
#undef GL_SOURCE2_RGB
|
||||
#define GL_SOURCE2_RGB DO_NOT_USE_GL_SOURCE2_RGB
|
||||
|
||||
#if 0 /* Those are deprecated but still valid */
|
||||
// Old Token Names 3.0
|
||||
# undef GL_CLIP_PLANE0
|
||||
# define GL_CLIP_PLANE0 USE_GL_CLIP_DISTANCE0
|
||||
# undef GL_CLIP_PLANE1
|
||||
# define GL_CLIP_PLANE1 USE_GL_CLIP_DISTANCE1
|
||||
# undef GL_CLIP_PLANE2
|
||||
# define GL_CLIP_PLANE2 USE_GL_CLIP_DISTANCE2
|
||||
# undef GL_CLIP_PLANE3
|
||||
# define GL_CLIP_PLANE3 USE_GL_CLIP_DISTANCE3
|
||||
# undef GL_CLIP_PLANE4
|
||||
# define GL_CLIP_PLANE4 USE_GL_CLIP_DISTANCE4
|
||||
# undef GL_CLIP_PLANE5
|
||||
# define GL_CLIP_PLANE5 USE_GL_CLIP_DISTANCE5
|
||||
# undef GL_COMPARE_R_TO_TEXTURE
|
||||
# define GL_COMPARE_R_TO_TEXTURE USE_GL_COMPARE_REF_TO_TEXTURE
|
||||
# undef GL_MAX_CLIP_PLANES
|
||||
# define GL_MAX_CLIP_PLANES USE_GL_MAX_CLIP_DISTANCES
|
||||
# undef GL_MAX_VARYING_FLOATS
|
||||
# define GL_MAX_VARYING_FLOATS USE__MAX_VARYING_COMPONENTS
|
||||
|
||||
// Old Token Names 3.2
|
||||
# undef GL_VERTEX_PROGRAM_POINT_SIZE
|
||||
# define GL_VERTEX_PROGRAM_POINT_SIZE USE_GL_PROGRAM_POINT_SIZE
|
||||
#endif
|
||||
|
||||
#endif /* __GL_DEPRECATED_H__ */
|
@@ -1,66 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
* Copyright 2014 Blender Foundation. All rights reserved. */
|
||||
|
||||
/** \file
|
||||
* \ingroup intern_glew-mx
|
||||
*/
|
||||
|
||||
#include "glew-mx.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define CASE_CODE_RETURN_STR(code) \
|
||||
case code: \
|
||||
return #code;
|
||||
|
||||
static const char *get_glew_error_enum_string(GLenum error)
|
||||
{
|
||||
switch (error) {
|
||||
CASE_CODE_RETURN_STR(GLEW_OK) /* also GLEW_NO_ERROR */
|
||||
CASE_CODE_RETURN_STR(GLEW_ERROR_NO_GL_VERSION)
|
||||
CASE_CODE_RETURN_STR(GLEW_ERROR_GL_VERSION_10_ONLY)
|
||||
CASE_CODE_RETURN_STR(GLEW_ERROR_GLX_VERSION_11_ONLY)
|
||||
#ifdef WITH_GLEW_ES
|
||||
CASE_CODE_RETURN_STR(GLEW_ERROR_NOT_GLES_VERSION)
|
||||
CASE_CODE_RETURN_STR(GLEW_ERROR_GLES_VERSION)
|
||||
CASE_CODE_RETURN_STR(GLEW_ERROR_NO_EGL_VERSION)
|
||||
CASE_CODE_RETURN_STR(GLEW_ERROR_EGL_VERSION_10_ONLY)
|
||||
#endif
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
GLenum glew_chk(GLenum error, const char *file, int line, const char *text)
|
||||
{
|
||||
if (error != GLEW_OK) {
|
||||
const char *code = get_glew_error_enum_string(error);
|
||||
const char *msg = (const char *)glewGetErrorString(error);
|
||||
|
||||
if (error == GLEW_ERROR_NO_GL_VERSION)
|
||||
return GLEW_OK;
|
||||
|
||||
#ifndef NDEBUG
|
||||
fprintf(stderr,
|
||||
"%s(%d):[%s] -> GLEW Error (0x%04X): %s: %s\n",
|
||||
file,
|
||||
line,
|
||||
text,
|
||||
error,
|
||||
code ? code : "<no symbol>",
|
||||
msg ? msg : "<no message>");
|
||||
#else
|
||||
(void)file;
|
||||
(void)line;
|
||||
(void)text;
|
||||
fprintf(stderr,
|
||||
"GLEW Error (0x%04X): %s: %s\n",
|
||||
error,
|
||||
code ? code : "<no symbol>",
|
||||
msg ? msg : "<no message>");
|
||||
#endif
|
||||
}
|
||||
|
||||
return error;
|
||||
}
|
@@ -1,275 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
* Copyright 2014 Blender Foundation. All rights reserved. */
|
||||
|
||||
/** \file
|
||||
* \ingroup intern_glew-mx
|
||||
*
|
||||
* This file is for any simple stuff that is missing from GLEW when
|
||||
* compiled with either the GLEW_ES_ONLY or the GLEW_NO_ES flag.
|
||||
*
|
||||
* Should be limited to symbolic constants.
|
||||
*
|
||||
* This file is NOT for checking DEPRECATED OpenGL symbolic constants.
|
||||
*/
|
||||
|
||||
#ifndef __SYMBOL_BINDING_H__
|
||||
#define __SYMBOL_BINDING_H__
|
||||
|
||||
#ifndef __GLEW_MX_H__
|
||||
# error This file is meant to be included from glew-mx.h
|
||||
#endif
|
||||
|
||||
#ifdef GLEW_ES_ONLY
|
||||
|
||||
/* ES does not support the GLdouble type. */
|
||||
# ifndef GLdouble
|
||||
# define GLdouble double
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Need stubs for these version checks if compiling with only ES support.
|
||||
* Rely on compiler to eliminate unreachable code when version checks become constants.
|
||||
*/
|
||||
|
||||
# ifndef GLEW_VERSION_1_1
|
||||
# define GLEW_VERSION_1_1 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_VERSION_1_2
|
||||
# define GLEW_VERSION_1_2 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_VERSION_1_3
|
||||
# define GLEW_VERSION_1_3 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_VERSION_1_4
|
||||
# define GLEW_VERSION_1_4 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_VERSION_1_5
|
||||
# define GLEW_VERSION_1_5 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_VERSION_2_0
|
||||
# define GLEW_VERSION_2_0 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_VERSION_3_0
|
||||
# define GLEW_VERSION_3_0 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_shader_objects
|
||||
# define GLEW_ARB_shader_objects 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_vertex_shader
|
||||
# define GLEW_ARB_vertex_shader 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_vertex_program
|
||||
# define GLEW_ARB_vertex_program 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_fragment_program
|
||||
# define GLEW_ARB_fragment_program 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_vertex_buffer_object
|
||||
# define GLEW_ARB_vertex_buffer_object 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_framebuffer_object
|
||||
# define GLEW_ARB_framebuffer_object 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_multitexture
|
||||
# define GLEW_ARB_multitexture 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_EXT_framebuffer_object
|
||||
# define GLEW_EXT_framebuffer_object 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_depth_texture
|
||||
# define GLEW_ARB_depth_texture 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_shadow
|
||||
# define GLEW_ARB_shadow 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_texture_float
|
||||
# define GLEW_ARB_texture_float 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_texture_non_power_of_two
|
||||
# define GLEW_ARB_texture_non_power_of_two 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_texture3D
|
||||
# define GLEW_ARB_texture3D 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_EXT_texture3D
|
||||
# define GLEW_EXT_texture3D 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_texture_rg
|
||||
# define GLEW_ARB_texture_rg 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_texture_query_lod
|
||||
# define GLEW_ARB_texture_query_lod 0
|
||||
# endif
|
||||
|
||||
/*
|
||||
* The following symbolic constants are missing from an ES only header,
|
||||
* so alias them to their (same valued) extension versions which are available in the header.
|
||||
*
|
||||
* Be careful that this does not lead to unguarded use of what are extensions in ES!
|
||||
*
|
||||
* Some of these may be here simply to patch inconsistencies in the header files.
|
||||
*/
|
||||
|
||||
# ifndef GL_TEXTURE_3D
|
||||
# define GL_TEXTURE_3D GL_TEXTURE_3D_OES
|
||||
# endif
|
||||
|
||||
# ifndef GL_TEXTURE_WRAP_R
|
||||
# define GL_TEXTURE_WRAP_R GL_TEXTURE_WRAP_R_OES
|
||||
# endif
|
||||
|
||||
# ifndef GL_TEXTURE_COMPARE_MODE
|
||||
# define GL_TEXTURE_COMPARE_MODE GL_TEXTURE_COMPARE_MODE_EXT
|
||||
# endif
|
||||
|
||||
# ifndef GL_COMPARE_REF_TO_TEXTURE
|
||||
# define GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_REF_TO_TEXTURE_EXT
|
||||
# endif
|
||||
|
||||
# ifndef GL_TEXTURE_COMPARE_FUNC
|
||||
# define GL_TEXTURE_COMPARE_FUNC GL_TEXTURE_COMPARE_FUNC_EXT
|
||||
# endif
|
||||
|
||||
# ifndef GL_RGBA8
|
||||
# define GL_RGBA8 GL_RGBA8_OES
|
||||
# endif
|
||||
|
||||
# ifndef GL_RGBA16F
|
||||
# define GL_RGBA16F GL_RGBA16F_EXT
|
||||
# endif
|
||||
|
||||
# ifndef GL_RG32F
|
||||
# define GL_RG32F GL_RG32F_EXT
|
||||
# endif
|
||||
|
||||
# ifndef GL_RGB8
|
||||
# define GL_RGB8 GL_RGB8_OES
|
||||
# endif
|
||||
|
||||
# ifndef GL_RG
|
||||
# define GL_RG GL_RG_EXT
|
||||
# endif
|
||||
|
||||
# ifndef GL_RED
|
||||
# define GL_RED GL_RED_EXT
|
||||
# endif
|
||||
|
||||
# ifndef GL_FRAMEBUFFER_INCOMPLETE_FORMATS
|
||||
# define GL_FRAMEBUFFER_INCOMPLETE_FORMATS GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES
|
||||
# endif
|
||||
|
||||
# ifndef GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
|
||||
# define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES
|
||||
# endif
|
||||
|
||||
# ifndef GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER
|
||||
# define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES
|
||||
# endif
|
||||
|
||||
# ifndef GL_WRITE_ONLY
|
||||
# define GL_WRITE_ONLY GL_WRITE_ONLY_OES
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_vertex_array_object
|
||||
# define GLEW_ARB_vertex_array_object 0
|
||||
# endif
|
||||
|
||||
/* end of ifdef GLEW_ES_ONLY */
|
||||
#elif defined(GLEW_NO_ES)
|
||||
|
||||
/*
|
||||
* Need stubs for these version checks if compiling without any support.
|
||||
* Rely on compiler to eliminate unreachable code when version checks become constants
|
||||
*/
|
||||
|
||||
# ifndef GLEW_ES_VERSION_2_0
|
||||
# define GLEW_ES_VERSION_2_0 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_EXT_texture_storage
|
||||
# define GLEW_EXT_texture_storage 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_OES_framebuffer_object
|
||||
# define GLEW_OES_framebuffer_object 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_OES_mapbuffer
|
||||
# define GLEW_OES_mapbuffer 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_OES_required_internalformat
|
||||
# define GLEW_OES_required_internalformat 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_EXT_color_buffer_half_float
|
||||
# define GLEW_EXT_color_buffer_half_float 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_OES_depth_texture
|
||||
# define GLEW_OES_depth_texture 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_EXT_shadow_samplers
|
||||
# define GLEW_EXT_shadow_samplers 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_ARB_texture3D
|
||||
# define GLEW_ARB_texture3D 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_OES_texture_3D
|
||||
# define GLEW_OES_texture_3D 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_EXT_texture_rg
|
||||
# define GLEW_EXT_texture_rg 0
|
||||
# endif
|
||||
|
||||
# ifndef GLEW_OES_vertex_array_object
|
||||
# define GLEW_OES_vertex_array_object 0
|
||||
# endif
|
||||
|
||||
/*
|
||||
* The following symbolic constants are missing when there is no ES support,
|
||||
* so alias them to their (same valued) extension versions which are available in the header.
|
||||
*
|
||||
* Desktop GL typically does not have any extensions that originated from ES,
|
||||
* unlike ES which has many extensions to replace what was taken out.
|
||||
*
|
||||
* For that reason these aliases are more likely just patching inconsistencies in the header files.
|
||||
*/
|
||||
|
||||
# ifndef GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
|
||||
# define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT
|
||||
# endif
|
||||
|
||||
# ifndef GL_FRAMEBUFFER_INCOMPLETE_FORMATS
|
||||
# define GL_FRAMEBUFFER_INCOMPLETE_FORMATS GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT
|
||||
# endif
|
||||
|
||||
#endif /* ifdef GLEW_NO_ES */
|
||||
|
||||
#endif /* __SYMBOL_BINDING_H__*/
|
@@ -3,7 +3,6 @@
|
||||
|
||||
set(INC
|
||||
.
|
||||
../glew-mx
|
||||
../guardedalloc
|
||||
../../source/blender/blenlib
|
||||
../../source/blender/gpu
|
||||
@@ -37,7 +36,7 @@ if(WITH_OPENCOLORIO)
|
||||
|
||||
list(APPEND INC_SYS
|
||||
${OPENCOLORIO_INCLUDE_DIRS}
|
||||
${GLEW_INCLUDE_PATH}
|
||||
${Epoxy_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
list(APPEND SRC
|
||||
|
@@ -29,7 +29,7 @@ if(WITH_OPENSUBDIV)
|
||||
|
||||
list(APPEND INC_SYS
|
||||
${OPENSUBDIV_INCLUDE_DIRS}
|
||||
${GLEW_INCLUDE_PATH}
|
||||
${Epoxy_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
list(APPEND SRC
|
||||
@@ -100,7 +100,6 @@ if(WITH_OPENSUBDIV)
|
||||
OPENSUBDIV_DEFINE_COMPONENT(OPENSUBDIV_HAS_GLSL_COMPUTE)
|
||||
|
||||
add_definitions(${GL_DEFINITIONS})
|
||||
add_definitions(-DOSD_USES_GLEW)
|
||||
|
||||
if(WIN32)
|
||||
add_definitions(-DNOMINMAX)
|
||||
|
@@ -18,14 +18,14 @@
|
||||
|
||||
#include "internal/device/device_context_glsl_compute.h"
|
||||
|
||||
#include <GL/glew.h>
|
||||
#include <epoxy/gl.h>
|
||||
|
||||
namespace blender {
|
||||
namespace opensubdiv {
|
||||
|
||||
bool GLSLComputeDeviceContext::isSupported()
|
||||
{
|
||||
return GLEW_VERSION_4_3 || GLEW_ARB_compute_shader;
|
||||
return epoxy_gl_version() >= 43 || epoxy_has_gl_extension("GL_ARB_compute_shader");
|
||||
}
|
||||
|
||||
GLSLComputeDeviceContext::GLSLComputeDeviceContext()
|
||||
|
@@ -18,14 +18,14 @@
|
||||
|
||||
#include "internal/device/device_context_glsl_transform_feedback.h"
|
||||
|
||||
#include <GL/glew.h>
|
||||
#include <epoxy/gl.h>
|
||||
|
||||
namespace blender {
|
||||
namespace opensubdiv {
|
||||
|
||||
bool GLSLTransformFeedbackDeviceContext::isSupported()
|
||||
{
|
||||
return GLEW_VERSION_4_1;
|
||||
return epoxy_gl_version() >= 41;
|
||||
}
|
||||
|
||||
GLSLTransformFeedbackDeviceContext::GLSLTransformFeedbackDeviceContext()
|
||||
|
@@ -19,6 +19,8 @@
|
||||
#ifndef OPENSUBDIV_EVAL_OUTPUT_H_
|
||||
#define OPENSUBDIV_EVAL_OUTPUT_H_
|
||||
|
||||
#undef OSD_USES_GLEW
|
||||
|
||||
#include <opensubdiv/osd/cpuPatchTable.h>
|
||||
#include <opensubdiv/osd/glPatchTable.h>
|
||||
#include <opensubdiv/osd/mesh.h>
|
||||
|
@@ -22,9 +22,9 @@
|
||||
// language governing permissions and limitations under the Apache License.
|
||||
//
|
||||
|
||||
#include "gl_compute_evaluator.h"
|
||||
#include <epoxy/gl.h>
|
||||
|
||||
#include <GL/glew.h>
|
||||
#include "gl_compute_evaluator.h"
|
||||
|
||||
#include <opensubdiv/far/error.h>
|
||||
#include <opensubdiv/far/patchDescriptor.h>
|
||||
@@ -57,7 +57,7 @@ template<class T> GLuint createSSBO(std::vector<T> const &src)
|
||||
GLuint devicePtr = 0;
|
||||
|
||||
#if defined(GL_ARB_direct_state_access)
|
||||
if (GLEW_ARB_direct_state_access) {
|
||||
if (epoxy_has_gl_extension("GL_ARB_direct_state_access")) {
|
||||
glCreateBuffers(1, &devicePtr);
|
||||
glNamedBufferData(devicePtr, src.size() * sizeof(T), &src.at(0), GL_STATIC_DRAW);
|
||||
}
|
||||
|
@@ -25,6 +25,8 @@
|
||||
#ifndef OPENSUBDIV_GL_COMPUTE_EVALUATOR_H_
|
||||
#define OPENSUBDIV_GL_COMPUTE_EVALUATOR_H_
|
||||
|
||||
#undef OSD_USES_GLEW
|
||||
|
||||
#include <opensubdiv/osd/bufferDescriptor.h>
|
||||
#include <opensubdiv/osd/opengl.h>
|
||||
#include <opensubdiv/osd/types.h>
|
||||
|
@@ -3987,38 +3987,6 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
------
|
||||
|
||||
** The OpenGL Extension Wrangler Library; version 2.0.0 --
|
||||
http://glew.sourceforge.net/
|
||||
Copyright (C) 2008-2015, Nigel Stewart <nigels[]users sourceforge net>
|
||||
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
|
||||
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
|
||||
Copyright (C) 2002, Lev Povalahev
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* The name of the author may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
Mesa 3-D graphics library
|
||||
Version: 7.0
|
||||
|
||||
|
@@ -10,7 +10,6 @@ set(INC
|
||||
../imbuf
|
||||
../makesdna
|
||||
../makesrna
|
||||
../../../intern/glew-mx
|
||||
../../../intern/guardedalloc
|
||||
)
|
||||
|
||||
|
@@ -25,7 +25,6 @@ set(INC
|
||||
../simulation
|
||||
../../../intern/eigen
|
||||
../../../intern/ghost
|
||||
../../../intern/glew-mx
|
||||
../../../intern/guardedalloc
|
||||
../../../intern/iksolver/extern
|
||||
../../../intern/atomic
|
||||
|
@@ -27,7 +27,6 @@ set(INC
|
||||
|
||||
../../../intern/atomic
|
||||
../../../intern/clog
|
||||
../../../intern/glew-mx
|
||||
../../../intern/guardedalloc
|
||||
../../../intern/opensubdiv
|
||||
|
||||
|
@@ -12,7 +12,6 @@ set(INC
|
||||
../../sequencer
|
||||
../../windowmanager
|
||||
../../../../intern/clog
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -14,7 +14,6 @@ set(INC
|
||||
../../windowmanager
|
||||
../../../../intern/clog
|
||||
../../../../intern/eigen
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -11,7 +11,6 @@ set(INC
|
||||
../../makesrna
|
||||
../../windowmanager
|
||||
../../../../intern/clog
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
../../../../extern/curve_fit_nd
|
||||
# RNA_prototypes.h
|
||||
|
@@ -13,7 +13,6 @@ set(INC
|
||||
../../windowmanager
|
||||
../../../../intern/clog
|
||||
../../../../intern/eigen
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -12,7 +12,6 @@ set(INC
|
||||
../../makesdna
|
||||
../../makesrna
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -18,7 +18,6 @@ set(INC
|
||||
../../python
|
||||
../../render
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -10,7 +10,6 @@ set(INC
|
||||
../../makesdna
|
||||
../../makesrna
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
)
|
||||
|
||||
|
@@ -17,7 +17,6 @@ set(INC
|
||||
../../render
|
||||
../../windowmanager
|
||||
../../../../intern/clog
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -21,7 +21,6 @@ set(INC
|
||||
../../shader_fx
|
||||
../../windowmanager
|
||||
../../../../intern/clog
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
|
||||
# dna_type_offsets.h in BLO_read_write.h
|
||||
|
@@ -11,7 +11,6 @@ set(INC
|
||||
../../makesrna
|
||||
../../windowmanager
|
||||
../../../../intern/clog
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
../../../../intern/mantaflow/extern
|
||||
# RNA_prototypes.h
|
||||
|
@@ -17,7 +17,6 @@ set(INC
|
||||
../../render
|
||||
../../sequencer
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -15,7 +15,6 @@ set(INC
|
||||
../../makesrna
|
||||
../../sequencer
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -21,7 +21,6 @@ set(INC
|
||||
../../../../intern/atomic
|
||||
../../../../intern/clog
|
||||
../../../../intern/eigen
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -10,7 +10,6 @@ set(INC
|
||||
../../makesdna
|
||||
../../makesrna
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -9,7 +9,6 @@ set(INC
|
||||
../../makesdna
|
||||
../../makesrna
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -13,7 +13,6 @@ set(INC
|
||||
../../makesdna
|
||||
../../makesrna
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
|
||||
# dna_type_offsets.h
|
||||
|
@@ -9,7 +9,6 @@ set(INC
|
||||
../../makesdna
|
||||
../../makesrna
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
)
|
||||
|
||||
|
@@ -15,7 +15,6 @@ set(INC
|
||||
../../render
|
||||
../../windowmanager
|
||||
../../../../intern/atomic
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -10,7 +10,6 @@ set(INC
|
||||
../../makesdna
|
||||
../../makesrna
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -16,7 +16,6 @@ set(INC
|
||||
../../render
|
||||
../../windowmanager
|
||||
../../../../intern/clog
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
@@ -14,7 +14,6 @@ set(INC
|
||||
../../makesdna
|
||||
../../makesrna
|
||||
../../windowmanager
|
||||
../../../../intern/glew-mx
|
||||
../../../../intern/guardedalloc
|
||||
# RNA_prototypes.h
|
||||
${CMAKE_BINARY_DIR}/source/blender/makesrna
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user