summaryrefslogtreecommitdiffstats
path: root/src/glx
Commit message (Collapse)AuthorAgeFilesLines
* Add support for pthreads and TLS to libGL for __glXLock / __glXUnlock andIan Romanick2005-04-182-9/+104
| | | | | | for tracking the current GLX context. This fixes bug #3024.
* Send GL_PACK_INVERT_MESA state to the server. This fixes bug #2538.Ian Romanick2005-04-181-10/+47
|
* Add missing includes of indirect.h.Ian Romanick2005-04-146-0/+6
|
* Add TLS support to libGL and, by virtue of using glthread.h and GL_CALL, allIan Romanick2005-04-131-0/+9
| | | | | | | DRI drivers. A TLS enabled libGL can load a TLS or a non-TLS DRI driver, but a TLS DRI driver requires a TLS enabled libGL. This fixes bug #1822.
* Use the same dispatch.c source file for "normal" Mesa builds and DRIIan Romanick2005-04-072-74/+3
| | | | libGL builds.
* Follow the GLX_SGIX_fbconfig spec and return the complete list ofIan Romanick2005-04-071-1/+1
| | | | available fbconfigs if attrList is NULL. This fixes bug #2917.
* Minor vertex array support tweaks. These are in preparation for theIan Romanick2005-03-172-21/+22
| | | | | | (eventual) addition of support for ARB_vertex_buffer_object. Elminitate the need for array_state_vector::large_header. Make some very minor tweaks to the handling of the indices pointer in emit_DrawElements_old.
* Minor vertex array support tweaks. Most of these are in preparation for theIan Romanick2005-03-173-303/+349
| | | | | | | | | | | | | | | | (eventual) addition of support for ARB_vertex_buffer_object. Move all the private vertex array data structures out of indirect_vertex_array.c and into indirect_va_private.h. Rename array_state_vector::enabled_array_count to array_state_vector::enabled_client_array_count. Make sure that both the GL extension string and the server GL version are available when __glXInitVertexState is called. Make sure that array_state::normalized is set correctly in the array's gl*Pointer function.
* Fix the handling of zero-sized output parameters (i.e., those with typeIan Romanick2005-03-173-1/+16
| | | | | | | | 'GLvoid *'). This fixes the GLX protocol for glGetProgramStringARB. This fixes bugzilla #2747. Remove the 'ignore="true"' from glVertexAttrib4bvARB. This fixes bugzilla #2746.
* Hard-code the client-side maximum GL version. It turns out that there areIan Romanick2005-03-171-24/+2
| | | | | | | some flaws in the calculation code when the highest version listed in known_gl_extensions is supported. This code would also have some problems with some of the new features (that don't have an associated extension) on GL 2.0.
* Add support for ARB_draw_buffers and ARB_occlusion_query. The GLX protocolIan Romanick2005-03-115-1/+183
| | | | | | | | | | | for these extensions (as well as ARB_vertex_program and ARB_matrix_palette) was just approved by the ARB on 8-Mar-2005. Now the only extension missing for 1.5 support is ARB_vertex_buffer_object. The opcodes for ARB_matrix_palette were also added to gl_API.xml. Since this extension isn't supported by Mesa, no code is generated for it. Some tabs were also converted to spaces in the comment for GetCompressedTexImageARB.
* Actually *use* the count_scale value associated with a parameter.Ian Romanick2005-03-061-24/+24
|
* fix for solo to set the mode, and make solo gcc2 friendly...Dave Airlie2005-03-051-2/+2
| | | | From: Stephane Marchesin
* Import fixes from X.org tree (Søren Sandmann <[email protected]>).Ian Romanick2005-03-041-10/+16
|
* Fix some errors in the parameter descriptions in serveral vertex / fragmentIan Romanick2005-03-031-67/+89
| | | | program related functions.
* Clean-up some warnings caused by the addition of vertex / fragment programIan Romanick2005-02-282-15/+41
| | | | | protocol support (reported by Adam Jackson). Added code to validate the 'type' parameter to the draw element functions.
* Accidentally committed wrong version with the previous commit set.Ian Romanick2005-02-251-31/+31
|
* Add GLX protocol support for ARB_fragement_program,Ian Romanick2005-02-259-8/+2480
| | | | | | | ARB_fragment_program_shadow, ARB_vertex_program, NV_fragment_program, NV_fragment_program_option, NV_fragment_program2, NV_vertex_program, NV_vertex_program1_1, NV_vertex_program2, NV_vertex_program2_option, NV_vertex_program3, and ATI_text_fragment_shader.
* Convert the static functions read_pixel_reply, read_reply,Ian Romanick2005-02-252-98/+127
| | | | | | | setup_single_request, and setup_vendor_request to the global functions __glXReadPixelReply, __glXReadReply, __glXSetupSingleRequest, and __glXSetupVendorRequest. This will make it easier to add handcoded Single / VendorPrivate / VendorPrivteWithReply functions.
* Missed the commit of glxext.c yesterday.Ian Romanick2005-02-232-275/+108
| | | | | | | Fixed a flow control problem in glGet*v that could result in the display not being unlocked. This also resulted in refactoring a lot more code out of the glGet*v routines into get_array_data, which was renamed to get_client_data.
* Corrected the value for X_GLrop_SecondaryColor3svEXT.Ian Romanick2005-02-231-2/+2
|
* Missed the Makefile with the previous commit.Ian Romanick2005-02-231-0/+1
|
* Added __glExtensionBiIsEnabled and __GLXcontext::gl_extension_bits. ThisIan Romanick2005-02-229-1354/+2183
| | | | | | | | | | | | | | | enables libGL to query which extension are exported to applications. Refactored array-query functionality (from glGet*v) in src/glx/x11/single2.c. Massive re-write of indirect vertex array support. The most noticable effect is that glDrawElements now generates DrawArrays protocol. The side-effects (and the main reasons for the re-work) are that it is much easier to add support for new arrays (e.g., GL_VERTEX_ATTRIB_ARRAY, GL_WEIGHT_ARRAY_ARB, etc.) and it is much easier to add support for the new DrawArrays protocol (required to support ARB_vertex_buffer_object). These changes were primarilly tested with progs/demos/isosurf.
* add more functionality to miniglx for glitzDave Airlie2005-02-201-34/+98
|
* add EnableExtension so r200 enables all its extensions, add mesa memoryDave Airlie2005-02-151-0/+32
| | | | extension entry points
* Generate GLX protocol for pixel single commands.Ian Romanick2005-02-092-311/+191
|
* Fix some mixed spaces / tabs issues in generated code. Commit generatedIan Romanick2005-02-054-14/+16
| | | | files that have been trivially changed by other recent commits.
* Enable client-side GLX support for texture compression extensions.Ian Romanick2005-02-042-6/+8
|
* Added a bunch of extensions that were previously supported but weren'tIan Romanick2005-02-032-0/+4
| | | | | | in the gl_API.xml database. Add "official" support for SGI_color_matrix and SGI_texture_color_table. These were previously supported only by way of ARB_imaging.
* Refactor the code to emit multiple-inclusion protection toIan Romanick2005-01-282-9/+7
| | | | | | | | | FilterGLAPISpecBase. Since the size_h mode of glX_proto_size.py will be used to generate multiple header files, add an option to specify the define that is used for multiple-inclusion protection. The changes to the header files in this commit are just a side-effect of the changes to the Python scripts.
* Fix some get / set errors with COLOR_TABLE_*. SCALE and BIAS can beIan Romanick2005-01-281-9/+0
| | | | | parameters to GetColorTableParameter[if]v. FORMAT, WIDTH, and the SIZE enums cannot be parameters to ColorTableParameter[if]v.
* Mark a couple more function parameters as counters.Ian Romanick2005-01-271-3/+3
|
* Add numerous 'get'-type functions to most of the enums supported by theIan Romanick2005-01-272-24/+30
| | | | | | | | | | | | | | | server-side GLX implementation. Correct the protocol for EXT_convolution. Several functions were incorrectly listed as 'sop' that should have been 'vendorpriv'. Remove TexParameter[if]v from the list of functions associated with TEXTURE_RESIDENT. The state associated with this enum is read-only. Sort the enums by value for each particular size. This ensures that the signature is the same no matter what the ordering is of the enums in the XML file. The side effect is that there are some extra changes in indirect_size.c.
* HAVE_ALIAS was never defined anywhere, add some logic to turn it onAdam Jackson2005-01-231-0/+4
| | | | automagically.
* Depend tweaksKeith Whitwell2005-01-191-3/+2
|
* Added a couple missing proxy types.Ian Romanick2005-01-111-0/+3
|
* Put quotes around the CC and CXX variables passed to mklib. This makeIan Romanick2005-01-112-2/+2
| | | | them work with multi-work compiler names (e.g., "ccache gcc").
* Enable libGL to be built with DRI_NEW_INTERFACE_ONLY (but don't do it yet).Adam Jackson2005-01-083-5/+11
|
* Refactor the code that converts a transpose-matrix enum to aIan Romanick2005-01-071-48/+25
| | | | regular-matrix enum.
* Pixel oriented render functions are now generated by theIan Romanick2005-01-078-861/+629
| | | | | | glX_proto_send.py script. This eliminates ~600 lines of non-generated code. With proper compiler optimization settings, it also decreases the size of libGL.so by about 3KB.
* The generic_*_byte functions did not rount the command size to aIan Romanick2005-01-071-4/+4
| | | | multiple of 4 correctly in some cases.
* support 720x480 and 960x540 modesAlan Hourihane2005-01-051-1/+29
|
* The opcode and command length fields of RenderLarge commands wereIan Romanick2005-01-031-8/+8
| | | | mistakenly emitted in the wrong order.
* Fixed two problems with the handling of GLX protocol replies. The logicIan Romanick2004-12-271-2/+2
| | | | | | for determining when extra data needed to be read after a reply (to ensure 4-byte alignment) and the logic to determine whether or not to read reply data after the SingleReply packet were both slightly wrong.
* Used GCC's __builtin_expect when available. Change the way code isIan Romanick2004-12-212-1062/+499
| | | | | generated for commands that can use RenderLarge packets. Tweak the code for __glXFlushRenderBuffer slightly.
* Use GLX protocol code generated by glX_proto_send.py.Ian Romanick2004-12-2011-2548/+6215
|
* Mark the XF86DRI client-side extension API as PUBLIC.Adam Jackson2004-12-151-16/+18
|
* Fix up glx/x11 to work when built with -fvisibility=hidden.Adam Jackson2004-12-154-116/+168
|
* Improve the behaviour of the build system wrt depend files.Keith Whitwell2004-12-082-6/+5
| | | | | | | | - Remove the -Y option for makedepend, so that the standard directories are searched - No longer pipe the multiple errors that the -Y option caused into /dev/null -- we want to know about these failures. - Fix up a few other misc makedepend failures.
* From: Stephane Marchesin <[email protected]>Dave Airlie2004-12-083-1/+9
| | | | | | | Attached is a patch that adds pci init code for mesa solo on radeon. It's been tested on an itanium 2 with a radeon 7000 and it works here. The patch adds a new field in the miniglx.conf config file, to choose between pci and agp.