mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 19:40:10 +01:00
apple: Use the correct (OpenGL.framework) glViewport and glScissor during init
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
This commit is contained in:
parent
098ecfad83
commit
9f2abbee62
5 changed files with 15 additions and 10 deletions
|
|
@ -49,11 +49,9 @@
|
|||
struct _glapi_table * __ogl_framework_api = NULL;
|
||||
struct _glapi_table * __applegl_api = NULL;
|
||||
|
||||
void apple_glapi_set_dispatch(void) {
|
||||
if(__applegl_api) {
|
||||
_glapi_set_dispatch(__applegl_api);
|
||||
static void _apple_glapi_create_table(void) {
|
||||
if (__applegl_api)
|
||||
return;
|
||||
}
|
||||
|
||||
__ogl_framework_api = _glapi_create_table_from_handle(apple_cgl_get_dl_handle(), "gl");
|
||||
assert(__ogl_framework_api);
|
||||
|
|
@ -68,6 +66,15 @@ void apple_glapi_set_dispatch(void) {
|
|||
SET_DrawBuffer(__applegl_api, __applegl_glDrawBuffer);
|
||||
SET_DrawBuffersARB(__applegl_api, __applegl_glDrawBuffersARB);
|
||||
SET_Viewport(__applegl_api, __applegl_glViewport);
|
||||
}
|
||||
|
||||
void apple_glapi_set_dispatch(void) {
|
||||
_apple_glapi_create_table();
|
||||
_glapi_set_dispatch(__applegl_api);
|
||||
}
|
||||
|
||||
void apple_glapi_oglfw_viewport_scissor(GLint x, GLint y, GLsizei width, GLsizei height) {
|
||||
_apple_glapi_create_table();
|
||||
__ogl_framework_api->Viewport(x, y, width, height);
|
||||
__ogl_framework_api->Scissor(x, y, width, height);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,5 +46,6 @@ void apple_glx_waitx(Display * dpy, void *ptr);
|
|||
int apple_get_dri_event_base(void);
|
||||
|
||||
void apple_glapi_set_dispatch(void);
|
||||
void apple_glapi_oglfw_viewport_scissor(GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -84,8 +84,7 @@ pbuffer_make_current(struct apple_glx_context *ac,
|
|||
}
|
||||
|
||||
if (!ac->made_current) {
|
||||
glViewport(0, 0, pbuf->width, pbuf->height);
|
||||
glScissor(0, 0, pbuf->width, pbuf->height);
|
||||
apple_glapi_oglfw_viewport_scissor(0, 0, pbuf->width, pbuf->height);
|
||||
ac->made_current = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -80,8 +80,7 @@ pixmap_make_current(struct apple_glx_context *ac,
|
|||
}
|
||||
|
||||
if (!ac->made_current) {
|
||||
glViewport(0, 0, p->width, p->height);
|
||||
glScissor(0, 0, p->width, p->height);
|
||||
apple_glapi_oglfw_viewport_scissor(0, 0, p->width, p->height);
|
||||
ac->made_current = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -53,8 +53,7 @@ update_viewport_and_scissor(Display * dpy, GLXDrawable drawable)
|
|||
|
||||
XGetGeometry(dpy, drawable, &root, &x, &y, &width, &height, &bd, &depth);
|
||||
|
||||
glViewport(0, 0, width, height);
|
||||
glScissor(0, 0, width, height);
|
||||
apple_glapi_oglfw_viewport_scissor(0, 0, width, height);
|
||||
}
|
||||
|
||||
static bool
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue