aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/sparc
Commit message (Collapse)AuthorAgeFilesLines
* glapi: Move assembly dispatchers back into glapi/.Chia-I Wu2010-05-071-1402/+0
|
* glapi: regenerated files for GL_ARB_draw_instancedBrian Paul2010-04-041-54/+60
|
* glapi: regenerated files for EXT_transform_feedbackBrian Paul2010-04-021-14/+27
|
* APPLE_object_purgeable: autogenerated filesChris Wilson2010-03-041-8/+11
|
* glapi: GL_OES_EGL_image autogenerated filesKristian Høgsberg2010-02-241-0/+2
|
* mesa: added dispatch for GL_NV_conditional_render extensionBrian Paul2009-12-311-9/+11
|
* mesa: regenerate API files related to GL_EXT_draw_buffers2Brian Paul2009-12-291-13/+19
|
* Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul2009-12-111-1/+1
|\
| * sparc: additional preprocessor test for SPARC 64-bitAurelien Jarno2009-12-111-1/+1
| |
* | ARB_fbo: Regenerate files from previous commits.Ian Romanick2009-11-171-0/+1
| |
* | glapi: regenerated filesBrian Paul2009-09-191-0/+1
| |
* | glapi: Add ARB_draw_elements_base_vertexEric Anholt2009-09-081-57/+60
| |
* | mesa: Add support for ARB_depth_clamp.Eric Anholt2009-09-082-3/+6
|/ | | | | This currently doesn't include fixing up the cliptests in the assembly paths to support ARB_depth_clamp, so enabling depth_clamp forces the C path.
* ARB sync: Regenerate files from previous commitIan Romanick2009-09-031-70/+77
|
* Regenerate files for GL_APPLE_flush_buffer_rangeIan Romanick2009-08-141-7/+15
|
* mesa: regenerated files related to GL_ARB_vertex_array_objectBrian Paul2009-06-191-47/+49
|
* Merge branch 'ext-provoking-vertex'Brian Paul2009-06-191-6/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: docs/relnotes-7.6.html progs/tests/Makefile src/gallium/drivers/softpipe/sp_prim_vbuf.c src/glx/x11/indirect.c src/mesa/glapi/Makefile src/mesa/glapi/dispatch.h src/mesa/glapi/glapioffsets.h src/mesa/glapi/glapitable.h src/mesa/glapi/glapitemp.h src/mesa/glapi/glprocs.h src/mesa/main/dlist.c src/mesa/main/enums.c src/mesa/sparc/glapi_sparc.S src/mesa/x86-64/glapi_x86-64.S src/mesa/x86/glapi_x86.S
| * mesa: regenerated API files for GL_EXT_provoking_vertexBrian Paul2009-05-281-6/+7
| |
* | mesa: regenerated files for GL_ARB_map_buffer_rangeBrian Paul2009-06-081-47/+49
| |
* | glapi: regenerated files for GL_ARB_copy_bufferBrian Paul2009-06-021-41/+42
|/
* regenerate glapiRoland Scheidegger2009-03-121-24/+28
|
* mesa: Fix and re-enable sparc normal asm.David Miller2009-02-272-17/+11
| | | | | | | | | | Fix a bug reported in 2003 :-) The output vector has 4 entries, not 3. Unconditionally emit .register directives. Signed-off-by: David S. Miller <[email protected]>
* mesa: Fix Sparc cliptest asm code and re-enable.David Miller2009-02-272-22/+11
| | | | | | | | | | | | | | Stop using register %g7 since that is used by the "system" (ie. the pthread implementation makes use of it). Also, the projection vector can be NULL and we shouldn't try to access it at all in _mesa_sparc_cliptest_points4_np(). ioquake3 would crash due to this bug. Finally, unconditionally emit the register directives and re-enable in _mesa_init_all_sparc_transform_asm(). Signed-off-by: David S. Miller <[email protected]>
* mesa: Resurrect SPARC asm code.David S. Miller2009-02-263-1134/+550
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This rewrites the sparc GLAPI code so that it's PIC friendly and works with all of the TLS/PTHREADS/64-bit/32-bit combinations properly. As a result we can turn SPARC asm back on. Currently it's only enabled on Linux, as that's the only place where I can test this stuff out. For the moment the cliptest SPARC asm routines are disabled as they are non-working. The problem is that they use register %g7 as a temporary which is where the threading libraries store the thread pointer on SPARC. I will fix that code up in a future change as it's a pretty important routine to optimize. Like x86 we do the runtime patch as a pthread once-invoked initializer in init_glapi_relocs(). Unlike x86, however, our GLAPI stubs on SPARC are just two instruction sequences that branch to a trampoline and put the GLAPI offset into a register. The trampoline is what we run-time patch. The stubs thus all look like: glFoo: ba __glapi_sparc_foo_stub sethi GLAPI_OFFSET(glFOO) * PTR_SIZE, %g3 This actually makes generate_entrypoint() a lot simpler on SPARC. For this case in generate_entrypoint() we generate stubs using a 'call' instead of the 'ba' above to make sure it can reach. In order to get a proper tail call going here, in the unpatched case, we do several tricks. To get the current PC, for example, we save the return address register into a temporary, do a call, save the return address register written by the call to another temporary, then restore the original return address register value. This is to avoid having to allocate a stack frame. This is necessary for PIC address formation. This new GLAPI scheme lets us get rid of the ugly SPARC GLAPI hacks in __glXInitialize() and one_time_init(). Signed-off-by: David S. Miller <[email protected]>
* mesa: regenerated GL API filesBrian Paul2009-01-221-16/+37
|
* Remove CVS keywords.Keith Whitwell2008-09-213-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cherry-picked from gallium-0.1 Conflicts: src/glu/sgi/libnurbs/interface/bezierEval.h src/glu/sgi/libnurbs/interface/bezierPatch.h src/glu/sgi/libnurbs/interface/bezierPatchMesh.h src/glu/sgi/libnurbs/internals/dataTransform.h src/glu/sgi/libnurbs/internals/displaymode.h src/glu/sgi/libnurbs/internals/sorter.h src/glu/sgi/libnurbs/nurbtess/definitions.h src/glu/sgi/libnurbs/nurbtess/directedLine.h src/glu/sgi/libnurbs/nurbtess/gridWrap.h src/glu/sgi/libnurbs/nurbtess/monoChain.h src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h src/glu/sgi/libnurbs/nurbtess/partitionX.h src/glu/sgi/libnurbs/nurbtess/partitionY.h src/glu/sgi/libnurbs/nurbtess/polyDBG.h src/glu/sgi/libnurbs/nurbtess/polyUtil.h src/glu/sgi/libnurbs/nurbtess/primitiveStream.h src/glu/sgi/libnurbs/nurbtess/quicksort.h src/glu/sgi/libnurbs/nurbtess/rectBlock.h src/glu/sgi/libnurbs/nurbtess/sampleComp.h src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h src/glu/sgi/libnurbs/nurbtess/sampledLine.h src/glu/sgi/libnurbs/nurbtess/searchTree.h src/glu/sgi/libnurbs/nurbtess/zlassert.h src/glu/sgi/libutil/error.c src/glu/sgi/libutil/glue.c src/glu/sgi/libutil/gluint.h src/glu/sgi/libutil/project.c src/glu/sgi/libutil/registry.c src/glx/x11/glxclient.h src/glx/x11/glxext.c src/mesa/drivers/dri/ffb/ffb_dd.h src/mesa/drivers/dri/ffb/ffb_points.h src/mesa/drivers/dri/gamma/gamma_context.h src/mesa/drivers/dri/gamma/gamma_macros.h src/mesa/drivers/dri/i810/i810context.h src/mesa/drivers/dri/r128/r128_dd.h src/mesa/drivers/dri/tdfx/tdfx_dd.h
* mesa: Prefix main includes with dir to avoid conflicts.José Fonseca2008-09-211-1/+1
| | | | Eliminate a couple of differences with gallium-0.2
* recreate from changed gl_API.xmlRoland Scheidegger2007-11-091-30/+26
|
* Alias glStencilOpSeparateATI with glStencilOpSeparate.Brian2007-10-301-2/+0
|
* Finish up ATI_separate_stencilBrian2007-10-301-0/+4
| | | | | | Add entrypoints to glapi XML file and regenerate files. Implement glStencilOpSeparateATI(). Consolidate some code in stencil.c
* Add a few missing GL 2.0 entrypoints, regenerate related files.Brian2007-06-281-0/+5
| | | | | | | | | Specifically: glVertexAttrib4bv glVertexAttrib4iv glVertexAttrib4ubv glVertexAttrib4uiv glVertexAttrib4usv
* Initial implementation of MESA_texture_arrayIan Romanick2007-05-161-2/+4
| | | | | Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
* Bug 9628: no entry for GetVertexAttribPointervGeorge Sapountzis2007-01-271-0/+1
| | | | | | | | This is because (in glX_API.xml) GetVertexAttribPointerv is aliased to GetVertexAttribPointervARB which is then aliased to GetVertexAttribPointervNV. Make GetVertexAttribPointerv alias GetVertexAttribPointervNV directly. Patch by Ian Romanick <[email protected]> and regenerate.
* Added OpenGL 2.1 entrypoints.Brian Paul2006-11-031-54/+66
|
* Update gl_API.xml with OpenGL 2.0 functions, regenerate derived files.Brian Paul2006-11-021-64/+159
|
* Fix build when DEBUG is defined but DEBUG_MATH is not.Ian Romanick2006-10-161-1/+1
| | | | | | A couple places attempted to call _math_test_all_*_functions when DEBUG was defined. These routines only exist when DEBUG_MATH is defined.
* Fix bug #4681.Ian Romanick2006-10-111-83/+68
| | | | | | | | | | | | | | | | | glDeleteTextures and glDeleteTexturesEXT were erroneously listed as aliases of each other. For anything /except/ GLX protocol they are aliases. This set of changes allows functions that are functionally identical but have different GLX protocol to be listed as aliases. When building with GLX_INDIRECT_RENDERING set, different static functions are used. These functions determine whether the current context is direct rendering or not. If the context is direct rendering, the aliased function (e.g., glDeleteTextures in the case of glDeleteTexturesEXT) is called. If the context is not direct rendering, the correct GLX protocol is sent. For a deeper explanation of what is changed, please see: http://dri.freedesktop.org/wiki/PartiallyAliasedFunctions
* Changes to generated code caused by the previous commits.Ian Romanick2006-10-041-4/+4
|
* Deprecate GL_EXT_vertex_weighting.Ian Romanick2006-08-291-32/+26
| | | | | | Nvidia no longer supports this extension, and they no longer export its entry points from their libGL. There's no reason for us to keep dragging it around either.
* More static dispatch function removal.Ian Romanick2006-08-291-103/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make functions for the following extensions available only via glXGetProcAddress. In cases where there are other aliases to the same functions (e.g., between GL_EXT_histogram and GL_ARB_imaging), the alias functions may still be statically exported. - GL_ATI_blend_equation_separate - GL_EXT_blend_equation_separate - GL_EXT_convolution - GL_EXT_color_sub_table - GL_EXT_cull_vertex - GL_EXT_depth_bounds_test - GL_EXT_framebuffer_blit - GL_EXT_histogram - GL_EXT_multisample - GL_EXT_stencil_two_side - GL_EXT_timer_query - GL_IBM_multimode_draw_arrays - GL_INGR_blend_func_separate - GL_NV_fence - GL_SGI_color_table - GL_SGIS_multisample - GL_SGIS_pixel_texture - GL_SGIS_point_parameters - GL_SGIX_pixel_texture
* Add a couple of the missing GL 2.0 functions. Enable GLX protocol forIan Romanick2006-08-251-0/+2
| | | | | glBlendEquationSeparateEXT. Add missing enum "get" information for GL_EXT_texture_filter_anisotropic.
* GL_EXT_paletted_texture functions should alias GL_SGI_color_table functions.Ian Romanick2006-08-241-16/+13
| | | | | | | | | | The functions for GL_EXT_paletted_texture that do not share GLX protocol with GL_ARB_imaging are supposed to alias the similar functions from GL_SGI_color_table. They didn't. This patch corrects this problem and enables GLX protocol for both extensions. Since this removes 3 entries from the dispatch table, this change creates a lot of changes in the generated files.
* Add a new offset mode to the GL API XML. This mode, called "assign,"Ian Romanick2006-08-241-626/+526
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tells the scripts to assign an available offset to the function. The important changes are in src/mesa/glapi/gl_XML.py and src/mesa/glapi/*.xml. Since the DRI drivers only depend on functions required by the ABI (e.g., GL 1.2 + ARB_multitexture) having fixed offsets, all functions not in the ABI use "assign" mode. This has caused the offset of basically every function outside the ABI to change. I have verified that a libGL with this patch works with a DRI driver without the patch. Futher, several function were removed from the dispatch tables altogether. These are the functions for the following extensions: GL_SGIS_texture_filter4 GL_SGIS_texture4D GL_SGIS_detail_texture GL_SGIS_sharpen_texture GL_SGIX_sprite GL_SGIX_instruments GL_SGIX_framezoom GL_SGIX_tag_sample_buffer GL_SGIX_reference_plane GL_SGIX_flush_raster GL_SGIX_list_priority GL_SGIX_fragment_lighting GL_PGI_misc_hints GL_EXT_index_material GL_EXT_index_func GL_3DFX_tbuffer This removes 50 functions from the dispatch table.
* Add new attribute called static_dispatch to the <function> element. ThisIan Romanick2006-08-221-12/+12
| | | | | | | | | | | | | | | | | | | boolean attribute, which defaults to true, determines whether or not a static dispatch function is available in libGL for applications to link against. Ideally, any new functions that are not part of the ABI should not have directly accessable dispatch functions. This forces applications to use glXGetProcAddress to access these functions. By doing this we can gracefully remove functions from libGL without breaking the linkage of applications. Note that the static dispatch functions are still generated. However, they are given names like gl_dispatch_stub_820 and are marked with the "hidden" linker attribute. All extension functions added since the previous Mesa release (6.5) have been marked as 'static_dispatch="false"'.
* Add support for GL_EXT_gpu_program_parameters. Any driver that enablesIan Romanick2006-08-151-0/+4
| | | | | either GL_ARB_vertex_program or GL_ARB_fragment_program should enable this extension as well.
* Add support for GL_APPLE_vertex_array_object. Several test programsIan Romanick2006-06-121-0/+8
| | | | | | | and demos are also added. Adding basic support to drivers should be as easy as just enabling the extension, though thorough test would also be required.
* regenerate SPARC assembly dispatch (bug 6484)Brian Paul2006-04-071-6/+12
|
* Fix SPARC assembly for 64-bitIan Romanick2005-07-286-19281/+1876
| | | | | | | | | | | | | | - The test for whether or not we're building for 64-bit is '#ifdef __arch64__'. This appears to be correct on both Linux and Solaris. - The test for Solaris is now '#if defined(SVR4) || defined(__SVR4) || defined(__svr4__)'. GCC 3.4.0 has all three defined on Solaris 9. - Enables assembly language clip routines. - Fixes to make GLSL code build on Solaris. - Update gl_SPARC_asm.py.
* silence warning, minor clean-upBrian Paul2004-11-221-7/+4
|
* applied SPARC patch (freedesktop bug 1898)Brian Paul2004-11-225-922/+922
|