summaryrefslogtreecommitdiff
path: root/src/mesa/main
AgeCommit message (Collapse)Author
2005-09-13Move _mesa_add_soft_renderbuffers() from framebuffer.c to renderbuffer.cBrian Paul
Update some comments, code, etc.
2005-09-13print version with debug infoBrian Paul
2005-09-13Replace ctx->Driver.StencilOp/Func/Mask() functions withBrian Paul
ctx->Driver.Stencil*Separate() functions.
2005-09-13OpenGL 2.0's two-sided stencil feature wasn't implemented correctly.Brian Paul
See comment near top of stencil.c for info about OpenGL 2.0 vs. GL_EXT_stencil_two_side.
2005-09-13Use GLuint/GLint intead of GLstencil for stencil state.Brian Paul
2005-09-13Move the ctx->FirstTimeCurrent initializationBrian Paul
2005-09-12make lookup_query_object() staticBrian Paul
2005-09-12remove rendundant r,g,b,a vars (bug 4331)Brian Paul
2005-09-10make some vars staticBrian Paul
2005-09-10fix GLubyte/GLchan inconsistencies (bug 4331)Brian Paul
2005-09-09don't generate selection hits for glBitmap, glDraw/CopyPixels. Misc clean-upsBrian Paul
2005-09-08Keep NumTemporaries uptodate.Keith Whitwell
Make sure oC alpha is populated when separate_specular enabled.
2005-09-08check for either GL_ARB_depth_texture or GL_SGIX_depth_texture in a few placesBrian Paul
2005-09-07new commentBrian Paul
2005-09-07minor tweaks to _mesa_ResizeBuffersMESA()Brian Paul
2005-09-06minor formatting fixBrian Paul
2005-09-06just changes/updates to commentsBrian Paul
2005-09-06remove DEFARRAY, CHECKARRAY stuffBrian Paul
2005-09-05Windows mesa.def file had been moved to the drivers dir tree some time ago. ↵Karl Schultz
This copy is not needed.
2005-09-03fudge set_component_sizes() a bit, see commentsBrian Paul
2005-09-03Remove last remnants of pre-renderbuffer code.Brian Paul
2005-09-02commentsBrian Paul
2005-09-02Prototype implementation of new GL_EXT_timer_query extension (not finalized ↵Brian Paul
yet). Extends the query mechanism to query elapsed time while rendering.
2005-09-02add error checking to the GL_ATI_FRAGMENT_SHADER entrypoints. Fix bug with ↵Roland Scheidegger
scope of ati fragment shader constants. Fix issues with specifying color/alpha instructions not pair-wise. Change internal representation of the shader (to better fit how the extension works, should make driver implementations simpler, and saves some memory). (still doesn't work correctly with doom3 and swrast, but not worse than before)
2005-08-31Just additional comments.Brian Paul
2005-08-31remove dead code, update commentsBrian Paul
2005-08-28fix a few proxy color table bugs (bug 4270)Brian Paul
2005-08-27check the Ready flag when getting GL_QUERY_RESULT_ARBBrian Paul
2005-08-27Rearrange the code related to GL_ARB_occlusion_object to generalize queryBrian Paul
objects for future types of queries.
2005-08-26/dri/msgAdam Jackson
2005-08-25don't compile debug code (bug 4242: rand undefined)Brian Paul
2005-08-25removed GL_HP_occlusion_test extensionBrian Paul
2005-08-23simplify, clean-up texel addressing macrosBrian Paul
2005-08-22bump version to 6.5Brian Paul
2005-08-18Replace mult/div operators with bitwise operators in texel fetch routinesBrian Paul
for better performance. (Roland Scheidegger)
2005-08-16Bump version to 6.3.2Brian Paul
2005-08-15In _mesa_TexEnvfv, do not accept values for GL_OPERAND2_ALPHA and ↵Roland Scheidegger
GL_OPERAND2_RGB which are only valid with ARB_texture_env_combine but not with EXT_texture_env_combine, when only EXT_texture_env_combine is supported.
2005-08-12added FREXPF() macro (bug 4060)Brian Paul
2005-08-10Remove _glapi_check_multithread from the interface exported by the loader toIan Romanick
the driver. The loader now takes care of this for the driver. Remove _glapi_DispatchTSD and give _glapi_Dispatch its semantic (i.e., having a NULL value means that the application is multithreaded and _glapi_get_dispatch must be called). Gut all of the dispatch override code. This removes _glapi_RealDispatch, _glapi_tls_RealDispatch, _glapi_begin_dispatch_override, _glapi_end_dispatch_override, and _glapi_get_override_dispatch. Remove _glapi_get_proc_address, _glapi_get_proc_name, _glapi_get_version, and _glapi_check_table from the loader / driver interface. Reviewed by: Brian Paul
2005-08-10the PIXEL_MAP_I_TO_I table should be GLfloat, not GLintBrian Paul
2005-08-06Follow suggestion by Aapo Tahkola to fix giant memory leak from forgetting ↵Vladimir Dergachev
to free the key when entry was already found (presumably a common case).
2005-08-05Fix recent problems with display lists and other parts of the code.Ian Romanick
CALL_by_offset, SET_by_offset, and GET_by_offset all had various problems. The core issue is that parts of the device-independent code in Mesa assumes that all functions have slots in the dispatch table. This is especially true in the display list code. It will merrilly try to set dispatch pointers for glVertexAttrib1fARB even if GL_ARB_vertex_program is not supported. When the GET/SET/CALL macros are invoked, they would read a 0 from the remap table. The problem is that 0 is the dispatch offset for glNewList! One change is that the remap table is now initialized to be full of -1 values. In addtion, all of the *_by_offset marcos misbehave in an obvious way if the specified offset is -1. SET_by_offset will do nothing, GET_by_offset will return NULL, and CALL_by_offset, since it uses GET_by_offset, will segfault. I also had to add GL_EXT_blend_func_separate to the list of default extensions in all_mesa_extensions (src/mesa/drivers/dri/common/utils.c). Even though many drivers do not export this extension, glBlendFunc is internally implemented by calling glBlendFuncSeparate. Without this addition, glBlendFunc stopped working on drivers (such as mga) that do not export GL_EXT_blend_func_separate. There are still a few assertions / crashes in GL_ARB_vertex_program tests, but I don't think that these are related to any of my changes.
2005-07-28Major rip-up of internal function insertion interface. The oldIan Romanick
_glapi_add_entrypoint has been replaced by a new routine called _glapi_add_dispatch. This new routine dynamically assignes dispatch offsets to functions added. This allows IHVs to add support for extension functions that do not have assigned dispatch offsets. It also means that a driver has no idea what offset will be assigned to a function. The vast majority of the changes in this commit account for that. An additional table, driDispatchRemapTable, is added. Functions not in the Linux OpenGL ABI (i.e., anything not in GL 1.2 + ARB_multitexture) has a fixed offset in this new table. The entry in this table specifies the offset in of the function in the real dispatch table. The internal interface was also bumped from version 20050725 to 20050727. This has been tested with various programs in progs/demos on: radeon (Radeon Mobility M6) r128 (Rage 128 Pro) mga (G400)
2005-07-22Make the vertex program source register Index field a signed int sinceBrian Paul
relative addressing can be negative. Change some GLuint indexes to GLint in the t_vp_build.c file. Added PROGRAM_UNDEFINED token for initializing the register File field to avoid a gcc 4.0 warning.
2005-07-21bump version to 6.3.1Brian Paul
2005-07-21check for FEATURE_EXT_framebuffer_object to enable EXT_framebuffer_objectBrian Paul
2005-07-21remove ^M chars, disable shading language extensionsBrian Paul
2005-07-19replace fprintf() calls with _mesa_problem()Brian Paul
2005-07-19remove fprintf()Brian Paul
2005-07-18Wrap every place that accesses a dispatch table with a macro. A new script-Ian Romanick
generated file, called src/mesa/glapi/dispatch.h, is added. This file contains three macros for each API function. It contains a GET, a SET, and a CALL. Each of the macros take a pointer to the context and a pointer to the dispatch table. In several threads on mesa3d-dev we discussed replacing _glapi_add_entrypoint with a new function called _glapi_add_dispatch. For this discussion, the important difference between the two is that the caller of _glapi_add_dispatch does *not* know what the dispatch offset will be at compile time. Because of this callers need to track the dispatch offset returned by _glapi_add_dispatch. http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2 The downside is that driver code then has to access the dispatch table two different ways. It accesses it using structure tags (e.g., exec->Begin) for functions with fixed offsets and via a remap table (e.g., exec[ remap->NewExtensionFunction ]) for functions without fixed offsets. Yuck! Using the macros allows both types of functions to be accessed identically. If a driver needs to set a pointer for Begin, it does 'SET_Begin(ctx, exec, my_begin_function)'. If it needs to set a pointer for NewExtensionFunction, it does 'SET_NewExtensionFunction(ctx, exec, my_NewExtensionFunction_function)'. Furthermore, if at some point in the future a static offset is assigned for NewExtensionFunction, only the macros need to change (instead of every single place that accesses a table for that function). This code differs slightly from the originally posted patches in that the CALL, GET, and SET marcos no longer take a context pointer as a parameter. Brian Paul had suggested that the remap table could be stored as a global since it would be set at CreateScreen time and would be constant for all contexts. This change reflects that feedback. http://marc.theaimsgroup.com/?t=112087194700001&r=1&w=2