summaryrefslogtreecommitdiff
path: root/src/mesa/sparc
AgeCommit message (Collapse)AuthorFilesLines
2012-07-13Rename sparc/clip.S -> sparc/sparc_clip.SJon TURNEY1-0/+0
Automake can't handle having both clip.S and clip.c, even though they have different paths "src/mesa/Makefile.am: object `clip.lo' created by `$(SRCDIR)/sparc/clip.S' and `$(SRCDIR)/main/clip.c'" Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net> Tested-by: Matt Turner <mattst88@gmail.com>
2010-05-07glapi: Move assembly dispatchers back into glapi/.Chia-I Wu1-1402/+0
2010-04-04glapi: regenerated files for GL_ARB_draw_instancedBrian Paul1-54/+60
2010-04-02glapi: regenerated files for EXT_transform_feedbackBrian Paul1-14/+27
2010-03-04APPLE_object_purgeable: autogenerated filesChris Wilson1-8/+11
2010-02-24glapi: GL_OES_EGL_image autogenerated filesKristian Høgsberg1-0/+2
2009-12-31mesa: added dispatch for GL_NV_conditional_render extensionBrian Paul1-9/+11
2009-12-29mesa: regenerate API files related to GL_EXT_draw_buffers2Brian Paul1-13/+19
2009-12-11Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul1-1/+1
2009-12-11sparc: additional preprocessor test for SPARC 64-bitAurelien Jarno1-1/+1
2009-11-17ARB_fbo: Regenerate files from previous commits.Ian Romanick1-0/+1
2009-09-19glapi: regenerated filesBrian Paul1-0/+1
2009-09-08glapi: Add ARB_draw_elements_base_vertexEric Anholt1-57/+60
2009-09-08mesa: Add support for ARB_depth_clamp.Eric Anholt2-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.
2009-09-03ARB sync: Regenerate files from previous commitIan Romanick1-70/+77
2009-08-14Regenerate files for GL_APPLE_flush_buffer_rangeIan Romanick1-7/+15
2009-06-19mesa: regenerated files related to GL_ARB_vertex_array_objectBrian Paul1-47/+49
2009-06-19Merge branch 'ext-provoking-vertex'Brian Paul1-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
2009-06-08mesa: regenerated files for GL_ARB_map_buffer_rangeBrian Paul1-47/+49
2009-06-02glapi: regenerated files for GL_ARB_copy_bufferBrian Paul1-41/+42
2009-05-28mesa: regenerated API files for GL_EXT_provoking_vertexBrian Paul1-6/+7
2009-03-12regenerate glapiRoland Scheidegger1-24/+28
2009-02-27mesa: Fix and re-enable sparc normal asm.David Miller2-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 <davem@davemloft.net>
2009-02-27mesa: Fix Sparc cliptest asm code and re-enable.David Miller2-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 <davem@davemloft.net>
2009-02-26mesa: Resurrect SPARC asm code.David S. Miller3-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 <davem@davemloft.net>
2009-01-22mesa: regenerated GL API filesBrian Paul1-16/+37
2008-09-21Remove CVS keywords.Keith Whitwell3-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
2008-09-21mesa: Prefix main includes with dir to avoid conflicts.José Fonseca1-1/+1
Eliminate a couple of differences with gallium-0.2
2007-11-09recreate from changed gl_API.xmlRoland Scheidegger1-30/+26
2007-10-30Alias glStencilOpSeparateATI with glStencilOpSeparate.Brian1-2/+0
2007-10-30Finish up ATI_separate_stencilBrian1-0/+4
Add entrypoints to glapi XML file and regenerate files. Implement glStencilOpSeparateATI(). Consolidate some code in stencil.c
2007-06-28Add a few missing GL 2.0 entrypoints, regenerate related files.Brian1-0/+5
Specifically: glVertexAttrib4bv glVertexAttrib4iv glVertexAttrib4ubv glVertexAttrib4uiv glVertexAttrib4usv
2007-05-16Initial implementation of MESA_texture_arrayIan Romanick1-2/+4
Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
2007-01-27Bug 9628: no entry for GetVertexAttribPointervGeorge Sapountzis1-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 <idr@us.ibm.com> and regenerate.
2006-11-03Added OpenGL 2.1 entrypoints.Brian Paul1-54/+66
2006-11-02Update gl_API.xml with OpenGL 2.0 functions, regenerate derived files.Brian Paul1-64/+159
2006-10-16Fix build when DEBUG is defined but DEBUG_MATH is not.Ian Romanick1-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.
2006-10-11Fix bug #4681.Ian Romanick1-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
2006-10-04Changes to generated code caused by the previous commits.Ian Romanick1-4/+4
2006-08-29Deprecate GL_EXT_vertex_weighting.Ian Romanick1-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.
2006-08-29More static dispatch function removal.Ian Romanick1-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
2006-08-25Add a couple of the missing GL 2.0 functions. Enable GLX protocol forIan Romanick1-0/+2
glBlendEquationSeparateEXT. Add missing enum "get" information for GL_EXT_texture_filter_anisotropic.
2006-08-24GL_EXT_paletted_texture functions should alias GL_SGI_color_table functions.Ian Romanick1-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.
2006-08-24Add a new offset mode to the GL API XML. This mode, called "assign,"Ian Romanick1-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.
2006-08-22Add new attribute called static_dispatch to the <function> element. ThisIan Romanick1-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"'.
2006-08-15Add support for GL_EXT_gpu_program_parameters. Any driver that enablesIan Romanick1-0/+4
either GL_ARB_vertex_program or GL_ARB_fragment_program should enable this extension as well.
2006-06-12Add support for GL_APPLE_vertex_array_object. Several test programsIan Romanick1-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.
2006-04-07regenerate SPARC assembly dispatch (bug 6484)Brian Paul1-6/+12
2005-07-28Fix SPARC assembly for 64-bitIan Romanick6-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.
2004-11-22silence warning, minor clean-upBrian Paul1-7/+4