}
if (ctx->RenderMode != GL_RENDER ||
- ctx->Line.SmoothFlag ||
ctx->Texture._MaxEnabledTexImageUnit == -1 ||
ctx->Light.ShadeModel != GL_FLAT ||
ctx->Line.Width != 1.0F ||
struct gl_renderbuffer *rb,
GLuint x, GLuint y, GLuint w, GLuint h,
GLbitfield mode,
- GLubyte **mapOut, GLint *rowStrideOut)
+ GLubyte **mapOut, GLint *rowStrideOut,
+ bool flip_y)
{
const OSMesaContext osmesa = OSMESA_CONTEXT(ctx);
}
else {
_swrast_map_soft_renderbuffer(ctx, rb, x, y, w, h, mode,
- mapOut, rowStrideOut);
+ mapOut, rowStrideOut, flip_y);
}
}
/* Initialize device driver function table */
_mesa_init_driver_functions(&functions);
+ _tnl_init_driver_draw_function(&functions);
/* override with our functions */
functions.GetString = get_string;
functions.UpdateState = osmesa_update_state_wrapper;
swrast->choose_line = osmesa_choose_line;
swrast->choose_triangle = osmesa_choose_triangle;
+ _mesa_override_extensions(ctx);
_mesa_compute_version(ctx);
if (ctx->Version < version_major * 10 + version_minor) {
osmesa_update_state( &osmesa->mesa, 0 );
- /* Call this periodically to detect when the user has begun using
- * GL rendering from multiple threads.
- */
- _glapi_check_multithread();
-
-
/* Create a front/left color buffer which wraps the user-provided buffer.
* There is no back color buffer.
* If the user tries to use a 8, 16 or 32-bit/channel buffer that