From 216eb81c53908c9ac774a378425691aa66205a88 Mon Sep 17 00:00:00 2001 From: Brian Date: Sat, 14 Apr 2007 08:09:12 -0600 Subject: set osmesa renderbuffer refcount=1 upon creation, free renderbuffer in OSMesaDestroyContext() --- src/mesa/drivers/osmesa/osmesa.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/mesa/drivers/osmesa') diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c index 3d7c8509ba..ad8b20283c 100644 --- a/src/mesa/drivers/osmesa/osmesa.c +++ b/src/mesa/drivers/osmesa/osmesa.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 6.5.3 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -1041,6 +1041,7 @@ new_osmesa_renderbuffer(GLcontext *ctx, GLenum format, GLenum type) const GLuint name = 0; struct gl_renderbuffer *rb = _mesa_new_renderbuffer(ctx, name); if (rb) { + rb->RefCount = 1; rb->Delete = osmesa_delete_renderbuffer; rb->AllocStorage = osmesa_renderbuffer_storage; @@ -1237,6 +1238,7 @@ OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits, /* create front color buffer in user-provided memory (no back buffer) */ osmesa->rb = new_osmesa_renderbuffer(&osmesa->mesa, format, type); _mesa_add_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT, osmesa->rb); + assert(osmesa->rb->RefCount == 2); _mesa_add_soft_renderbuffers(osmesa->gl_buffer, GL_FALSE, /* color */ @@ -1297,6 +1299,9 @@ GLAPI void GLAPIENTRY OSMesaDestroyContext( OSMesaContext osmesa ) { if (osmesa) { + if (osmesa->rb) + _mesa_reference_renderbuffer(&osmesa->rb, NULL); + _swsetup_DestroyContext( &osmesa->mesa ); _tnl_DestroyContext( &osmesa->mesa ); _vbo_DestroyContext( &osmesa->mesa ); -- cgit v1.2.3 From 286faac68e7f8c51fd1afa801c75db33a427f8b6 Mon Sep 17 00:00:00 2001 From: Karl Schultz Date: Tue, 24 Apr 2007 08:53:28 -0600 Subject: assorted fixes for Windows/VC8 --- src/glu/sgi/glu.def | 2 +- src/glut/glx/glut_win.c | 6 ++++++ src/mesa/drivers/osmesa/osmesa.def | 2 +- src/mesa/drivers/windows/gdi/mesa.def | 37 +++++++++++++++++++++++++++++++--- src/mesa/drivers/windows/gdi/wmesa.c | 22 ++++++++++++++++++++ src/mesa/main/imports.c | 4 ++-- src/mesa/shader/slang/slang_vartable.c | 2 +- 7 files changed, 67 insertions(+), 8 deletions(-) (limited to 'src/mesa/drivers/osmesa') diff --git a/src/glu/sgi/glu.def b/src/glu/sgi/glu.def index ffec651a0a..0c8b021767 100644 --- a/src/glu/sgi/glu.def +++ b/src/glu/sgi/glu.def @@ -1,4 +1,4 @@ -DESCRIPTION 'Mesa GLU (OpenGL work-alike) for Win32' +;DESCRIPTION 'Mesa GLU (OpenGL work-alike) for Win32' VERSION 5.1 ; ; Module definition file for GLU (GLU32.DLL) diff --git a/src/glut/glx/glut_win.c b/src/glut/glx/glut_win.c index 0f48e0ba33..18554b3e97 100644 --- a/src/glut/glx/glut_win.c +++ b/src/glut/glx/glut_win.c @@ -349,12 +349,18 @@ getVisualInfoRGB(unsigned int mode) __glutScreen, list); } +#ifndef VisualIDMask +#define VisualIDMask 0 +#endif + static XVisualInfo * getVisualInfoID(int id) { XVisualInfo temp; int count; +#if !defined(_WIN32) temp.visualid = id; +#endif return XGetVisualInfo(__glutDisplay, VisualIDMask, &temp, &count); } diff --git a/src/mesa/drivers/osmesa/osmesa.def b/src/mesa/drivers/osmesa/osmesa.def index a92a30f351..71e96873d8 100644 --- a/src/mesa/drivers/osmesa/osmesa.def +++ b/src/mesa/drivers/osmesa/osmesa.def @@ -1,4 +1,4 @@ -DESCRIPTION 'Mesa OSMesa lib for Win32' +;DESCRIPTION 'Mesa OSMesa lib for Win32' VERSION 4.1 EXPORTS diff --git a/src/mesa/drivers/windows/gdi/mesa.def b/src/mesa/drivers/windows/gdi/mesa.def index 8d65428121..c525945426 100644 --- a/src/mesa/drivers/windows/gdi/mesa.def +++ b/src/mesa/drivers/windows/gdi/mesa.def @@ -1,6 +1,6 @@ ; DO NOT EDIT - This file generated automatically by mesadef.py script -DESCRIPTION 'Mesa (OpenGL work-alike) for Win32' -VERSION 6.0 +;DESCRIPTION 'Mesa (OpenGL work-alike) for Win32' +VERSION 6.5 ; ; Module definition file for Mesa (OPENGL32.DLL) ; @@ -867,6 +867,8 @@ EXPORTS _glapi_get_proc_address _mesa_add_soft_renderbuffers _mesa_add_renderbuffer + _mesa_attach_shader + _mesa_bind_attrib_location _mesa_buffer_data _mesa_buffer_get_subdata _mesa_buffer_map @@ -875,15 +877,21 @@ EXPORTS _mesa_bzero _mesa_calloc _mesa_choose_tex_format + _mesa_compile_shader _mesa_compressed_texture_size _mesa_create_framebuffer + _mesa_create_program + _mesa_create_shader _mesa_create_visual _mesa_delete_array_object _mesa_delete_buffer_object _mesa_delete_program + _mesa_delete_program2 + _mesa_delete_shader _mesa_delete_texture_object _mesa_destroy_framebuffer _mesa_destroy_visual + _mesa_detach_shader _mesa_enable_1_3_extensions _mesa_enable_1_4_extensions _mesa_enable_1_5_extensions @@ -894,13 +902,28 @@ EXPORTS _mesa_free _mesa_free_context_data _mesa_free_texture_image_data + _mesa_get_active_attrib + _mesa_get_active_uniform + _mesa_get_attached_shaders + _mesa_get_attrib_location _mesa_get_compressed_teximage _mesa_get_current_context + _mesa_get_handle + _mesa_get_programiv + _mesa_get_program_info_log + _mesa_get_program_register + _mesa_get_shaderiv + _mesa_get_shader_info_log + _mesa_get_shader_source _mesa_get_teximage - _mesa_init_default_imports + _mesa_get_uniformfv + _mesa_get_uniform_location _mesa_init_driver_functions _mesa_init_renderbuffer _mesa_initialize_context + _mesa_is_program + _mesa_is_shader + _mesa_link_program _mesa_make_current _mesa_memcpy _mesa_memset @@ -914,10 +937,12 @@ EXPORTS _mesa_new_texture_image _mesa_new_texture_object _mesa_problem + _mesa_reference_renderbuffer _mesa_remove_renderbuffer _mesa_render_texture _mesa_ResizeBuffersMESA _mesa_resize_framebuffer + _mesa_shader_source _mesa_store_compressed_teximage1d _mesa_store_compressed_teximage2d _mesa_store_compressed_teximage3d @@ -932,7 +957,12 @@ EXPORTS _mesa_store_texsubimage3d _mesa_strcmp _mesa_test_proxy_teximage + _mesa_uniform + _mesa_uniform_matrix + _mesa_unreference_framebuffer _mesa_update_framebuffer_visual + _mesa_use_program + _mesa_validate_program _mesa_Viewport _swrast_Accum _swrast_Bitmap @@ -954,6 +984,7 @@ EXPORTS _swrast_copy_texsubimage3d _swrast_CreateContext _swrast_DestroyContext + _swrast_exec_fragment_program _swrast_InvalidateState _swrast_ReadPixels _swsetup_Wakeup diff --git a/src/mesa/drivers/windows/gdi/wmesa.c b/src/mesa/drivers/windows/gdi/wmesa.c index 078b590af8..00d9ee7783 100644 --- a/src/mesa/drivers/windows/gdi/wmesa.c +++ b/src/mesa/drivers/windows/gdi/wmesa.c @@ -1448,3 +1448,25 @@ void gl_dispatch_stub_761(void){}; void gl_dispatch_stub_766(void){}; void gl_dispatch_stub_767(void){}; void gl_dispatch_stub_768(void){}; + +void gl_dispatch_stub_562(void){}; +void gl_dispatch_stub_563(void){}; +void gl_dispatch_stub_564(void){}; +void gl_dispatch_stub_567(void){}; +void gl_dispatch_stub_568(void){}; +void gl_dispatch_stub_569(void){}; +void gl_dispatch_stub_580(void){}; +void gl_dispatch_stub_581(void){}; +void gl_dispatch_stub_606(void){}; +void gl_dispatch_stub_654(void){}; +void gl_dispatch_stub_655(void){}; +void gl_dispatch_stub_656(void){}; +void gl_dispatch_stub_739(void){}; +void gl_dispatch_stub_740(void){}; +void gl_dispatch_stub_741(void){}; +void gl_dispatch_stub_748(void){}; +void gl_dispatch_stub_749(void){}; +void gl_dispatch_stub_769(void){}; +void gl_dispatch_stub_770(void){}; +void gl_dispatch_stub_771(void){}; + diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c index 9de7a89c99..786f812fce 100644 --- a/src/mesa/main/imports.c +++ b/src/mesa/main/imports.c @@ -584,11 +584,11 @@ _mesa_ffsll(long long val) assert(sizeof(val) == 8); - bit = ffs(val); + bit = _mesa_ffs(val); if (bit != 0) return bit; - bit = ffs(val >> 32); + bit = _mesa_ffs(val >> 32); if (bit != 0) return 32 + bit; diff --git a/src/mesa/shader/slang/slang_vartable.c b/src/mesa/shader/slang/slang_vartable.c index 5814481ea7..8a3c299d19 100644 --- a/src/mesa/shader/slang/slang_vartable.c +++ b/src/mesa/shader/slang/slang_vartable.c @@ -319,9 +319,9 @@ GLboolean _slang_is_temp(const slang_var_table *vt, const slang_ir_storage *store) { struct table *t = vt->Top; + GLuint comp; assert(store->Index >= 0); assert(store->Index < vt->MaxRegisters); - GLuint comp; if (store->Swizzle == SWIZZLE_NOOP) comp = 0; else -- cgit v1.2.3