Compare commits

..

16 Commits

Author SHA1 Message Date
Nigel Stewart
22f0e5ba2e Generate HTML 2025-12-22 08:49:29 +10:00
Nigel Stewart
56b8766145 doc: New extensions for GLEW 2.3.0 2025-12-22 07:33:48 +10:00
Nigel Stewart
d23bd6fd12 doc: Link to github by default 2025-12-22 07:33:48 +10:00
Nigel Stewart
b10aca73b5 doc: Update download information for GLEW 2.3.0 2025-12-22 07:33:48 +10:00
Nigel Stewart
90f1629d7c doc: Remove mention of Travis CI 2025-12-22 07:33:48 +10:00
Nigel Stewart
6319bb1590 Release notes template for GLEW 2.3.0, contributors, utf-8 for HTML 2025-12-22 07:33:48 +10:00
Nigel Stewart
5f4b7e36b7 glew-2.3.0 release 2025-12-22 07:33:48 +10:00
Nigel Stewart
ba71151c6a Fixup for GL_EXT_fragment_shading_rate_attachment and GL_EXT_fragment_shading_rate_primitive duplicate symbols: Issue #449 2025-10-26 21:42:05 +10:00
Nigel Stewart
196b58d441 Put glTexturePageCommitmentEXT in GL_EXT_direct_state_access scope manually: Issue #445 2025-08-25 11:35:25 +10:00
Nigel Stewart
8eff6899e8 doc: updates and refinements 2025-06-24 08:08:18 +10:00
Nigel Stewart
84de17202d Migrate eglew.h to incorporate EGL_CAST tokens 2025-06-21 21:17:34 +10:00
Vladimir Vukicevic
189e6077f2 Handle expanded tokens
Extensions, especially EGL, now have tokens like:

EGL_TIMESTAMP_PENDING_ANDROID EGL_CAST(EGLnsecsANDROID,-2)
EGL_COLORSPACE_sRGB 0x3089
EGL_NO_NATIVE_FENCE_FD_ANDROID -1
2025-06-21 21:17:34 +10:00
Nigel Stewart
dce85d625e linux-mingw64-clang config for LLVM MinGW 2025-06-21 21:17:17 +10:00
Nigel Stewart
756229af81 linux-mingw64-clang config for LLVM MinGW 2025-06-21 21:17:17 +10:00
Nigel Stewart
c4b968f3aa gitea: tidy-up 2025-06-21 21:16:56 +10:00
Nigel Stewart
2e36415358 gitea: On-prem Linux build coverage for gcc, clang, GLX, EGL and mingw cross-build 2025-06-21 21:16:56 +10:00
14 changed files with 770 additions and 623 deletions

View File

@ -0,0 +1,22 @@
name: Ubuntu Linux clang Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
run: |
apt update
apt install -y clang libxmu-dev libxi-dev libgl-dev libegl1-mesa-dev dos2unix
- name: Git Checkout
uses: actions/checkout@v4
- name: Generate Code
run: |
make -C auto clobber
make extensions
make dist-src
- name: Build Binaries
run: |
make clean && SYSTEM=linux-clang make
make clean && SYSTEM=linux-clang-egl make

View File

@ -0,0 +1,38 @@
name: Ubuntu Linux cmake Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
flavour: [
"-DCMAKE_BUILD_TYPE=Debug -DGLEW_X11=Y -DGLEW_EGL=N -DBUILD_SHARED_LIBS=N",
"-DCMAKE_BUILD_TYPE=Debug -DGLEW_X11=N -DGLEW_EGL=Y -DBUILD_SHARED_LIBS=N",
"-DCMAKE_BUILD_TYPE=Debug -DGLEW_X11=Y -DGLEW_EGL=N -DBUILD_SHARED_LIBS=Y",
"-DCMAKE_BUILD_TYPE=Debug -DGLEW_X11=N -DGLEW_EGL=Y -DBUILD_SHARED_LIBS=Y",
"-DCMAKE_BUILD_TYPE=Release -DGLEW_X11=Y -DGLEW_EGL=N -DBUILD_SHARED_LIBS=N",
"-DCMAKE_BUILD_TYPE=Release -DGLEW_X11=N -DGLEW_EGL=Y -DBUILD_SHARED_LIBS=N",
"-DCMAKE_BUILD_TYPE=Release -DGLEW_X11=Y -DGLEW_EGL=N -DBUILD_SHARED_LIBS=Y",
"-DCMAKE_BUILD_TYPE=Release -DGLEW_X11=N -DGLEW_EGL=Y -DBUILD_SHARED_LIBS=Y",
]
steps:
- name: Install Dependencies
run: |
apt update
apt install -y cmake ninja-build libxmu-dev libxi-dev libgl-dev libegl1-mesa-dev dos2unix
- name: Git Checkout
uses: actions/checkout@v4
- name: Generate Code
run: |
make -C auto clobber
make extensions
make dist-src
- name: Build Binaries
run: |
mkdir build_
cmake build/cmake -B build_ -G Ninja --fresh ${{ matrix.flavour }}
cmake --build build_
rm -Rf build_

View File

@ -0,0 +1,22 @@
name: Ubuntu Linux gcc Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
run: |
apt update
apt install -y libxmu-dev libxi-dev libgl-dev libegl1-mesa-dev dos2unix
- name: Git Checkout
uses: actions/checkout@v4
- name: Generate Code
run: |
make -C auto clobber
make extensions
make dist-src
- name: Build Binaries
run: |
make clean && SYSTEM=linux make
make clean && SYSTEM=linux-egl make

View File

@ -0,0 +1,22 @@
name: Ubuntu Linux gcc cross-build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
run: |
apt update
apt install -y mingw-w64 dos2unix
- name: Git Checkout
uses: actions/checkout@v4
- name: Generate Code
run: |
make -C auto clobber
make extensions
make dist-src
- name: Build Binaries
run: |
make clean && SYSTEM=linux-mingw32 make
make clean && SYSTEM=linux-mingw64 make

View File

@ -378,6 +378,12 @@ EOT
void glVertexArrayVertexAttribDivisorEXT (GLuint vaobj, GLuint index, GLuint divisor)
EOT
# add missing functions to GL_EXT_direct_state_access (GL_ARB_sparse_texture related)
# https://github.com/nigels-com/glew/issues/445
cat >> $1/GL_EXT_direct_state_access <<EOT
void glTexturePageCommitmentEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit)
EOT
# Filter out GL_UNSIGNED_INT and GL_FLOAT from GL_AMD_performance_monitor
grep -v 'GL_UNSIGNED_INT ' $1/GL_AMD_performance_monitor > tmp
mv tmp $1/GL_AMD_performance_monitor
@ -604,6 +610,16 @@ EOT
typedef void (APIENTRY *GLVULKANPROCNV)(void)
EOT
# remove duplicates in GL_EXT_fragment_shading_rate and GL_EXT_fragment_shading_rate_primitive
tail -n +5 $1/GL_EXT_fragment_shading_rate_primitive > patterns
grep -v -F -f patterns $1/GL_EXT_fragment_shading_rate_primitive > tmp
mv tmp $1/GL_EXT_fragment_shading_rate_primitive
# remove duplicates in GL_EXT_fragment_shading_rate and GL_EXT_fragment_shading_rate_attachment
tail -n +5 $1/GL_EXT_fragment_shading_rate_attachment > patterns
grep -v -F -f patterns $1/GL_EXT_fragment_shading_rate_attachment > tmp
mv tmp $1/GL_EXT_fragment_shading_rate_attachment
# GLU extensions are not relevant here
rm -f $1/GL_GLU_*

View File

@ -11,7 +11,7 @@ my %regex = (
extname => qr/^[A-Z][A-Za-z0-9_]+$/,
exturl => qr/^http.+$/,
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.*)\)$/i,
token => qr/^([A-Z][A-Z0-9_x]*)\s+((?:0x)?[0-9A-Fa-f]+(u(ll)?)?|[A-Z][A-Z0-9_]*)$/,
token => qr/^([A-Z][A-Za-z0-9_x]*)\s+((?:0x|-)?[0-9A-Fa-f]+(u(ll)?)?|[A-Z][A-Za-z0-9(),_-]*)$/,
type => qr/^typedef\s+(.+)$/,
exact => qr/.*;$/,
);

View File

@ -13,7 +13,7 @@ Mac OS X, FreeBSD, Irix, and Solaris.
<a href="https://github.com/nigels-com/glew">GLEW</a> is distributed
as source and precompiled binaries.<br/>
The latest release is
<a href="https://github.com/nigels-com/glew/releases/tag/glew-2.3.0">2.3.0</a>[06-27-2025]:
<a href="https://github.com/nigels-com/glew/releases/tag/glew-2.3.0">2.3.0</a>[12-27-2025]:
</p>
<p>
</p>

View File

@ -2,14 +2,7 @@
<hr align="center">
<ul class="none">
<li><b>2.3.0</b> [06-27-2025]
<ul>
<li> Bug fixes:
<ul>
<li> ...
</ul>
</ul>
<li><b>2.3.0</b> [12-27-2025]
<ul>
<li> New extensions:

View File

@ -83,16 +83,4 @@ struct wl_buffer;
struct wl_display;
struct wl_resource;
#define EGL_DONT_CARE ((EGLint)-1)
#define EGL_NO_CONTEXT ((EGLContext)0)
#define EGL_NO_DISPLAY ((EGLDisplay)0)
#define EGL_NO_IMAGE ((EGLImage)0)
#define EGL_NO_SURFACE ((EGLSurface)0)
#define EGL_NO_SYNC ((EGLSync)0)
#define EGL_UNKNOWN ((EGLint)-1)
#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);

View File

@ -66,3 +66,14 @@ int __stdcall DllMainCRTStartup(void* instance, unsigned reason, void* reserved)
return 1;
}
#endif
#if defined(_WIN32) && defined(GLEW_BUILD) && defined(__clang__)
/* Windows mingw clang requires a DLL entry point */
int __stdcall _DllMainCRTStartup(void* instance, unsigned reason, void* reserved)
{
(void) instance;
(void) reason;
(void) reserved;
return 1;
}
#endif

View File

@ -0,0 +1,26 @@
# For cross-compiling from Linux to Windows 64-bit using LLVM MinGW
# https://github.com/mstorsjo/llvm-mingw
#
# Ubuntu/Debian:
# $ make SYSTEM=linux-mingw64-clang
#
# Note: It is likely necessary to configure LDFLAGS.GL to reflect the location
# of the Windows link libraries
NAME := glew32
HOST := x86_64-w64-mingw32
GLEW_DEST ?= /usr/local/$(HOST)
CC := $(HOST)-clang
LD := $(HOST)-ld
LN :=
STRIP :=
LDFLAGS.GL = -L/opt/llvm-mingw-20250613-msvcrt-ubuntu-22.04-x86_64/x86_64-w64-mingw32/lib -lopengl32 -lgdi32 -luser32 -lkernel32 -lmsvcrt
CFLAGS.EXTRA += -fno-stack-protector -Wno-cast-function-type
WARN = -Wall -W
POPT = -O2
BIN.SUFFIX = .exe
LIB.SONAME = lib$(NAME).dll
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
LIB.SHARED = $(NAME).dll
LIB.STATIC = lib$(NAME).a # the static lib will be broken
LDFLAGS.SO = -shared --out-implib lib/$(LIB.DEVLNK)

File diff suppressed because it is too large Load Diff

View File

@ -108,7 +108,7 @@ Mac OS X, FreeBSD, Irix, and Solaris.
<a href="https://github.com/nigels-com/glew">GLEW</a> is distributed
as source and precompiled binaries.<br/>
The latest release is
<a href="https://github.com/nigels-com/glew/releases/tag/glew-2.3.0">2.3.0</a>[06-27-2025]:
<a href="https://github.com/nigels-com/glew/releases/tag/glew-2.3.0">2.3.0</a>[12-27-2025]:
</p>
<p>
</p>

View File

@ -97,7 +97,7 @@ THE POSSIBILITY OF SUCH DAMAGE.
<hr align="center">
<ul class="none">
<li><b>2.3.0</b> [06-27-2025]
<li><b>2.3.0</b> [12-27-2025]
<ul>
<li> Bug fixes: