From: Jacek Caban jacek@codeweavers.com
--- dlls/opengl32/make_opengl | 3 +-- dlls/opengl32/unix_thunks.c | 22 +++++++++++++++++++++- dlls/opengl32/unix_thunks.h | 2 -- dlls/opengl32/unix_wgl.c | 29 ----------------------------- 4 files changed, 22 insertions(+), 34 deletions(-)
diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index 01ca0c60b4c..c6a75c2ff57 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -214,7 +214,6 @@ my %manual_unix_thunks = ); my %manual_wow64_thunks = ( - "glPathGlyphIndexRangeNV" => 1, "wglCreatePbufferARB" => 1, "wglGetPbufferDCARB" => 1, "wglGetProcAddress" => 1, @@ -434,7 +433,7 @@ sub generate_unix_thunk($$$$) else { $call_args .= " ULongToPtr(params->$pname),"; - $need_manual_thunk = 1 if $arg->textContent() =~ /(*.**|[|(sizei|int)ptr.**)/; + $need_manual_thunk = 1 if $arg->textContent() =~ /(*.**|(sizei|int)ptr.**)/; $need_lock = 1 if $arg->textContent() =~ /GLsync/; } } diff --git a/dlls/opengl32/unix_thunks.c b/dlls/opengl32/unix_thunks.c index 8c99d8745c4..afdcddd4117 100644 --- a/dlls/opengl32/unix_thunks.c +++ b/dlls/opengl32/unix_thunks.c @@ -16183,7 +16183,7 @@ static NTSTATUS ext_glPathGlyphIndexArrayNV( void *args ) return STATUS_SUCCESS; }
-NTSTATUS ext_glPathGlyphIndexRangeNV( void *args ) +static NTSTATUS ext_glPathGlyphIndexRangeNV( void *args ) { struct glPathGlyphIndexRangeNV_params *params = args; const struct opengl_funcs *funcs = params->teb->glTable; @@ -59511,6 +59511,26 @@ static NTSTATUS wow64_ext_glPathGlyphIndexArrayNV( void *args ) return STATUS_SUCCESS; }
+static NTSTATUS wow64_ext_glPathGlyphIndexRangeNV( void *args ) +{ + struct + { + PTR32 teb; + GLenum fontTarget; + PTR32 fontName; + GLbitfield fontStyle; + GLuint pathParameterTemplate; + GLfloat emScale; + PTR32 baseAndCount; + GLenum ret; + } *params = args; + TEB *teb = get_teb64( params->teb ); + const struct opengl_funcs *funcs = teb->glTable; + params->ret = funcs->p_glPathGlyphIndexRangeNV( params->fontTarget, ULongToPtr(params->fontName), params->fontStyle, params->pathParameterTemplate, params->emScale, ULongToPtr(params->baseAndCount) ); + set_context_attribute( teb, -1 /* unsupported */, NULL, 0 ); + return STATUS_SUCCESS; +} + static NTSTATUS wow64_ext_glPathGlyphRangeNV( void *args ) { struct diff --git a/dlls/opengl32/unix_thunks.h b/dlls/opengl32/unix_thunks.h index 4b9a610ca99..feaf5d34b7d 100644 --- a/dlls/opengl32/unix_thunks.h +++ b/dlls/opengl32/unix_thunks.h @@ -57,8 +57,6 @@ extern void wow64_glWaitSync( TEB *teb, GLsync sync, GLbitfield flags, GLuint64
extern NTSTATUS wgl_wglGetProcAddress( void *args ); extern NTSTATUS wow64_wgl_wglGetProcAddress( void *args ); -extern NTSTATUS ext_glPathGlyphIndexRangeNV( void *args ); -extern NTSTATUS wow64_ext_glPathGlyphIndexRangeNV( void *args ); extern NTSTATUS ext_wglCreatePbufferARB( void *args ); extern NTSTATUS wow64_ext_wglCreatePbufferARB( void *args ); extern NTSTATUS ext_wglGetPbufferDCARB( void *args ); diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 0d4b244c9d7..1aea9765b8a 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -1511,35 +1511,6 @@ NTSTATUS wow64_wgl_wglGetProcAddress( void *args ) return STATUS_SUCCESS; }
-NTSTATUS wow64_ext_glPathGlyphIndexRangeNV( void *args ) -{ - struct - { - PTR32 teb; - GLenum fontTarget; - PTR32 fontName; - GLbitfield fontStyle; - GLuint pathParameterTemplate; - GLfloat emScale; - GLuint baseAndCount[2]; - GLenum ret; - } *params32 = args; - struct glPathGlyphIndexRangeNV_params params = - { - .teb = get_teb64(params32->teb), - .fontTarget = params32->fontTarget, - .fontName = ULongToPtr(params32->fontName), - .fontStyle = params32->fontStyle, - .pathParameterTemplate = params32->pathParameterTemplate, - .emScale = params32->emScale, - .baseAndCount = {params32->baseAndCount[0], params32->baseAndCount[1]}, - }; - NTSTATUS status; - if ((status = ext_glPathGlyphIndexRangeNV( ¶ms ))) return status; - params32->ret = params.ret; - return status; -} - GLenum wow64_glClientWaitSync( TEB *teb, GLsync sync, GLbitfield flags, GLuint64 timeout ) { const struct opengl_funcs *funcs = teb->glTable;