Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
50ab0f8f
Commit
50ab0f8f
authored
Nov 07, 2022
by
Rémi Bernon
Committed by
Alexandre Julliard
Nov 21, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
opengl32: Use manual win32 thunks for glMapBuffer (et al.).
parent
17abb6f4
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
145 additions
and
99 deletions
+145
-99
make_opengl
dlls/opengl32/make_opengl
+11
-0
thunks.c
dlls/opengl32/thunks.c
+11
-99
wgl.c
dlls/opengl32/wgl.c
+123
-0
No files found.
dlls/opengl32/make_opengl
View file @
50ab0f8f
...
...
@@ -164,6 +164,17 @@ my %manual_win_thunks =
(
"glGetString"
=>
1
,
"glGetStringi"
=>
1
,
"glMapBuffer"
=>
1
,
"glMapBufferARB"
=>
1
,
"glMapBufferRange"
=>
1
,
"glMapNamedBuffer"
=>
1
,
"glMapNamedBufferEXT"
=>
1
,
"glMapNamedBufferRange"
=>
1
,
"glMapNamedBufferRangeEXT"
=>
1
,
"glUnmapBuffer"
=>
1
,
"glUnmapBufferARB"
=>
1
,
"glUnmapNamedBuffer"
=>
1
,
"glUnmapNamedBufferEXT"
=>
1
,
"wglGetCurrentReadDCARB"
=>
1
,
"wglGetExtensionsStringARB"
=>
1
,
"wglGetExtensionsStringEXT"
=>
1
,
...
...
dlls/opengl32/thunks.c
View file @
50ab0f8f
...
...
@@ -12147,33 +12147,6 @@ static void WINAPI glMap2xOES( GLenum target, GLfixed u1, GLfixed u2, GLint ustr
if
((
status
=
UNIX_CALL
(
glMap2xOES
,
&
args
)))
WARN
(
"glMap2xOES returned %#lx
\n
"
,
status
);
}
static
void
*
WINAPI
glMapBuffer
(
GLenum
target
,
GLenum
access
)
{
struct
glMapBuffer_params
args
=
{
.
target
=
target
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"target %d, access %d
\n
"
,
target
,
access
);
if
((
status
=
UNIX_CALL
(
glMapBuffer
,
&
args
)))
WARN
(
"glMapBuffer returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
void
*
WINAPI
glMapBufferARB
(
GLenum
target
,
GLenum
access
)
{
struct
glMapBufferARB_params
args
=
{
.
target
=
target
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"target %d, access %d
\n
"
,
target
,
access
);
if
((
status
=
UNIX_CALL
(
glMapBufferARB
,
&
args
)))
WARN
(
"glMapBufferARB returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
void
*
WINAPI
glMapBufferRange
(
GLenum
target
,
GLintptr
offset
,
GLsizeiptr
length
,
GLbitfield
access
)
{
struct
glMapBufferRange_params
args
=
{
.
target
=
target
,
.
offset
=
offset
,
.
length
=
length
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"target %d, offset %Id, length %Id, access %d
\n
"
,
target
,
offset
,
length
,
access
);
if
((
status
=
UNIX_CALL
(
glMapBufferRange
,
&
args
)))
WARN
(
"glMapBufferRange returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
void
WINAPI
glMapControlPointsNV
(
GLenum
target
,
GLuint
index
,
GLenum
type
,
GLsizei
ustride
,
GLsizei
vstride
,
GLint
uorder
,
GLint
vorder
,
GLboolean
packed
,
const
void
*
points
)
{
struct
glMapControlPointsNV_params
args
=
{
.
target
=
target
,
.
index
=
index
,
.
type
=
type
,
.
ustride
=
ustride
,
.
vstride
=
vstride
,
.
uorder
=
uorder
,
.
vorder
=
vorder
,
.
packed
=
packed
,
.
points
=
points
,
};
...
...
@@ -12198,42 +12171,6 @@ static void WINAPI glMapGrid2xOES( GLint n, GLfixed u1, GLfixed u2, GLfixed v1,
if
((
status
=
UNIX_CALL
(
glMapGrid2xOES
,
&
args
)))
WARN
(
"glMapGrid2xOES returned %#lx
\n
"
,
status
);
}
static
void
*
WINAPI
glMapNamedBuffer
(
GLuint
buffer
,
GLenum
access
)
{
struct
glMapNamedBuffer_params
args
=
{
.
buffer
=
buffer
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"buffer %d, access %d
\n
"
,
buffer
,
access
);
if
((
status
=
UNIX_CALL
(
glMapNamedBuffer
,
&
args
)))
WARN
(
"glMapNamedBuffer returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
void
*
WINAPI
glMapNamedBufferEXT
(
GLuint
buffer
,
GLenum
access
)
{
struct
glMapNamedBufferEXT_params
args
=
{
.
buffer
=
buffer
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"buffer %d, access %d
\n
"
,
buffer
,
access
);
if
((
status
=
UNIX_CALL
(
glMapNamedBufferEXT
,
&
args
)))
WARN
(
"glMapNamedBufferEXT returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
void
*
WINAPI
glMapNamedBufferRange
(
GLuint
buffer
,
GLintptr
offset
,
GLsizeiptr
length
,
GLbitfield
access
)
{
struct
glMapNamedBufferRange_params
args
=
{
.
buffer
=
buffer
,
.
offset
=
offset
,
.
length
=
length
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"buffer %d, offset %Id, length %Id, access %d
\n
"
,
buffer
,
offset
,
length
,
access
);
if
((
status
=
UNIX_CALL
(
glMapNamedBufferRange
,
&
args
)))
WARN
(
"glMapNamedBufferRange returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
void
*
WINAPI
glMapNamedBufferRangeEXT
(
GLuint
buffer
,
GLintptr
offset
,
GLsizeiptr
length
,
GLbitfield
access
)
{
struct
glMapNamedBufferRangeEXT_params
args
=
{
.
buffer
=
buffer
,
.
offset
=
offset
,
.
length
=
length
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"buffer %d, offset %Id, length %Id, access %d
\n
"
,
buffer
,
offset
,
length
,
access
);
if
((
status
=
UNIX_CALL
(
glMapNamedBufferRangeEXT
,
&
args
)))
WARN
(
"glMapNamedBufferRangeEXT returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
void
*
WINAPI
glMapObjectBufferATI
(
GLuint
buffer
)
{
struct
glMapObjectBufferATI_params
args
=
{
.
buffer
=
buffer
,
};
...
...
@@ -20733,42 +20670,6 @@ static void WINAPI glUnlockArraysEXT(void)
if
((
status
=
UNIX_CALL
(
glUnlockArraysEXT
,
&
args
)))
WARN
(
"glUnlockArraysEXT returned %#lx
\n
"
,
status
);
}
static
GLboolean
WINAPI
glUnmapBuffer
(
GLenum
target
)
{
struct
glUnmapBuffer_params
args
=
{
.
target
=
target
,
};
NTSTATUS
status
;
TRACE
(
"target %d
\n
"
,
target
);
if
((
status
=
UNIX_CALL
(
glUnmapBuffer
,
&
args
)))
WARN
(
"glUnmapBuffer returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
GLboolean
WINAPI
glUnmapBufferARB
(
GLenum
target
)
{
struct
glUnmapBufferARB_params
args
=
{
.
target
=
target
,
};
NTSTATUS
status
;
TRACE
(
"target %d
\n
"
,
target
);
if
((
status
=
UNIX_CALL
(
glUnmapBufferARB
,
&
args
)))
WARN
(
"glUnmapBufferARB returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
GLboolean
WINAPI
glUnmapNamedBuffer
(
GLuint
buffer
)
{
struct
glUnmapNamedBuffer_params
args
=
{
.
buffer
=
buffer
,
};
NTSTATUS
status
;
TRACE
(
"buffer %d
\n
"
,
buffer
);
if
((
status
=
UNIX_CALL
(
glUnmapNamedBuffer
,
&
args
)))
WARN
(
"glUnmapNamedBuffer returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
GLboolean
WINAPI
glUnmapNamedBufferEXT
(
GLuint
buffer
)
{
struct
glUnmapNamedBufferEXT_params
args
=
{
.
buffer
=
buffer
,
};
NTSTATUS
status
;
TRACE
(
"buffer %d
\n
"
,
buffer
);
if
((
status
=
UNIX_CALL
(
glUnmapNamedBufferEXT
,
&
args
)))
WARN
(
"glUnmapNamedBufferEXT returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
static
void
WINAPI
glUnmapObjectBufferATI
(
GLuint
buffer
)
{
struct
glUnmapObjectBufferATI_params
args
=
{
.
buffer
=
buffer
,
};
...
...
@@ -24434,6 +24335,17 @@ static BOOL WINAPI wglSwapIntervalEXT( int interval )
}
extern
const
GLubyte
*
WINAPI
glGetStringi
(
GLenum
name
,
GLuint
index
)
DECLSPEC_HIDDEN
;
extern
void
*
WINAPI
glMapBuffer
(
GLenum
target
,
GLenum
access
)
DECLSPEC_HIDDEN
;
extern
void
*
WINAPI
glMapBufferARB
(
GLenum
target
,
GLenum
access
)
DECLSPEC_HIDDEN
;
extern
void
*
WINAPI
glMapBufferRange
(
GLenum
target
,
GLintptr
offset
,
GLsizeiptr
length
,
GLbitfield
access
)
DECLSPEC_HIDDEN
;
extern
void
*
WINAPI
glMapNamedBuffer
(
GLuint
buffer
,
GLenum
access
)
DECLSPEC_HIDDEN
;
extern
void
*
WINAPI
glMapNamedBufferEXT
(
GLuint
buffer
,
GLenum
access
)
DECLSPEC_HIDDEN
;
extern
void
*
WINAPI
glMapNamedBufferRange
(
GLuint
buffer
,
GLintptr
offset
,
GLsizeiptr
length
,
GLbitfield
access
)
DECLSPEC_HIDDEN
;
extern
void
*
WINAPI
glMapNamedBufferRangeEXT
(
GLuint
buffer
,
GLintptr
offset
,
GLsizeiptr
length
,
GLbitfield
access
)
DECLSPEC_HIDDEN
;
extern
GLboolean
WINAPI
glUnmapBuffer
(
GLenum
target
)
DECLSPEC_HIDDEN
;
extern
GLboolean
WINAPI
glUnmapBufferARB
(
GLenum
target
)
DECLSPEC_HIDDEN
;
extern
GLboolean
WINAPI
glUnmapNamedBuffer
(
GLuint
buffer
)
DECLSPEC_HIDDEN
;
extern
GLboolean
WINAPI
glUnmapNamedBufferEXT
(
GLuint
buffer
)
DECLSPEC_HIDDEN
;
extern
HDC
WINAPI
wglGetCurrentReadDCARB
(
void
)
DECLSPEC_HIDDEN
;
extern
const
char
*
WINAPI
wglGetExtensionsStringARB
(
HDC
hdc
)
DECLSPEC_HIDDEN
;
extern
const
char
*
WINAPI
wglGetExtensionsStringEXT
(
void
)
DECLSPEC_HIDDEN
;
dlls/opengl32/wgl.c
View file @
50ab0f8f
...
...
@@ -1036,6 +1036,129 @@ const GLchar * WINAPI wglQueryRendererStringWINE( HDC dc, GLint renderer, GLenum
return
args
.
ret
;
}
void
*
WINAPI
glMapBuffer
(
GLenum
target
,
GLenum
access
)
{
struct
glMapBuffer_params
args
=
{
.
target
=
target
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"target %d, access %d
\n
"
,
target
,
access
);
if
(
!
(
status
=
UNIX_CALL
(
glMapBuffer
,
&
args
)))
return
args
.
ret
;
WARN
(
"glMapBuffer returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
void
*
WINAPI
glMapBufferARB
(
GLenum
target
,
GLenum
access
)
{
return
glMapBuffer
(
target
,
access
);
}
void
*
WINAPI
glMapBufferRange
(
GLenum
target
,
GLintptr
offset
,
GLsizeiptr
length
,
GLbitfield
access
)
{
struct
glMapBufferRange_params
args
=
{
.
target
=
target
,
.
offset
=
offset
,
.
length
=
length
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"target %d, offset %Id, length %Id, access %d
\n
"
,
target
,
offset
,
length
,
access
);
if
(
!
(
status
=
UNIX_CALL
(
glMapBufferRange
,
&
args
)))
return
args
.
ret
;
WARN
(
"glMapBufferRange returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
void
*
WINAPI
glMapNamedBuffer
(
GLuint
buffer
,
GLenum
access
)
{
struct
glMapNamedBuffer_params
args
=
{
.
buffer
=
buffer
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"(%d, %d)
\n
"
,
buffer
,
access
);
if
(
!
(
status
=
UNIX_CALL
(
glMapNamedBuffer
,
&
args
)))
return
args
.
ret
;
WARN
(
"glMapNamedBuffer returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
void
*
WINAPI
glMapNamedBufferEXT
(
GLuint
buffer
,
GLenum
access
)
{
return
glMapNamedBuffer
(
buffer
,
access
);
}
void
*
WINAPI
glMapNamedBufferRange
(
GLuint
buffer
,
GLintptr
offset
,
GLsizeiptr
length
,
GLbitfield
access
)
{
struct
glMapNamedBufferRange_params
args
=
{
.
buffer
=
buffer
,
.
offset
=
offset
,
.
length
=
length
,
.
access
=
access
,
};
NTSTATUS
status
;
TRACE
(
"buffer %d, offset %Id, length %Id, access %d
\n
"
,
buffer
,
offset
,
length
,
access
);
if
(
!
(
status
=
UNIX_CALL
(
glMapNamedBufferRange
,
&
args
)))
return
args
.
ret
;
WARN
(
"glMapNamedBufferRange returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
void
*
WINAPI
glMapNamedBufferRangeEXT
(
GLuint
buffer
,
GLintptr
offset
,
GLsizeiptr
length
,
GLbitfield
access
)
{
return
glMapNamedBufferRange
(
buffer
,
offset
,
length
,
access
);
}
GLboolean
WINAPI
glUnmapBuffer
(
GLenum
target
)
{
struct
glUnmapBuffer_params
args
=
{
.
target
=
target
,
};
NTSTATUS
status
;
TRACE
(
"target %d
\n
"
,
target
);
if
(
!
(
status
=
UNIX_CALL
(
glUnmapBuffer
,
&
args
)))
return
args
.
ret
;
WARN
(
"glUnmapBuffer returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
GLboolean
WINAPI
glUnmapBufferARB
(
GLenum
target
)
{
return
glUnmapBuffer
(
target
);
}
GLboolean
WINAPI
glUnmapNamedBuffer
(
GLuint
buffer
)
{
struct
glUnmapNamedBuffer_params
args
=
{
.
buffer
=
buffer
,
};
NTSTATUS
status
;
TRACE
(
"buffer %d
\n
"
,
buffer
);
if
(
!
(
status
=
UNIX_CALL
(
glUnmapNamedBuffer
,
&
args
)))
return
args
.
ret
;
WARN
(
"glUnmapNamedBuffer returned %#lx
\n
"
,
status
);
return
args
.
ret
;
}
GLboolean
WINAPI
glUnmapNamedBufferEXT
(
GLuint
buffer
)
{
return
glUnmapNamedBuffer
(
buffer
);
}
static
BOOL
WINAPI
call_opengl_debug_message_callback
(
struct
wine_gl_debug_message_params
*
params
,
ULONG
size
)
{
params
->
user_callback
(
params
->
source
,
params
->
type
,
params
->
id
,
params
->
severity
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment