Felix Kuehling [Sat, 5 Feb 2005 21:21:02 +0000 (21:21 +0000)]
- Fixed scissor rectangle not moving with the window (Xorg bug #1731).
- Flush buffered primitives before changing scissors.
- Require Savage DRM version 2.1.0, so that the broken single-cliprect
code can finally rest in peace.
- Removed some more dead code.
Brian Paul [Sat, 5 Feb 2005 20:00:15 +0000 (20:00 +0000)]
added fbobject.c to sources
Brian Paul [Sat, 5 Feb 2005 19:56:45 +0000 (19:56 +0000)]
Some initial work on GL_EXT_framebuffer_object.
Jerome Glisse [Sat, 5 Feb 2005 19:52:26 +0000 (19:52 +0000)]
Added PCI id (0x4152).
Brian Paul [Sat, 5 Feb 2005 18:12:59 +0000 (18:12 +0000)]
Remove the Shared->TexObjectList pointer and Next field from gl_texture_object.
Was only used by two drivers to walk over all texture objects. Can do that
via the hash table instead.
Cleaned up some comments for struct gl_texture_object.
Brian Paul [Sat, 5 Feb 2005 18:11:05 +0000 (18:11 +0000)]
add a few comments
Jerome Glisse [Sat, 5 Feb 2005 18:01:21 +0000 (18:01 +0000)]
Modified hw state for big endian computers.
Brian Paul [Sat, 5 Feb 2005 17:43:33 +0000 (17:43 +0000)]
remove dependency on Shared->TexObjectList
Brian Paul [Sat, 5 Feb 2005 17:38:13 +0000 (17:38 +0000)]
remove unneeded code
Brian Paul [Sat, 5 Feb 2005 17:37:00 +0000 (17:37 +0000)]
removed need for Shared->TexObjectList, walk over texture hash table entries instead
Felix Kuehling [Sat, 5 Feb 2005 13:17:34 +0000 (13:17 +0000)]
Fixed a typo in an assertion. (Don't understand how this ever compiled.)
Found by Andreas Stenglein.
Vladimir Dergachev [Sat, 5 Feb 2005 03:13:34 +0000 (03:13 +0000)]
Warn of unknown texture formats.
Ian Romanick [Sat, 5 Feb 2005 00:59:57 +0000 (00:59 +0000)]
Fix some mixed spaces / tabs issues in generated code. Commit generated
files that have been trivially changed by other recent commits.
Ian Romanick [Fri, 4 Feb 2005 19:29:30 +0000 (19:29 +0000)]
Enable client-side GLX support for texture compression extensions.
Felix Kuehling [Fri, 4 Feb 2005 00:25:41 +0000 (00:25 +0000)]
Added an option texture_heaps that allows selecting which texture heaps
will be used. Implemented this option in the Savage driver. On my
ProSavageDDR uploads to AGP memory are about 1.5 times as fast as
uploads to card memory. On non-IGP hardware the difference may be even
bigger. Now mplayer -gl is getting really usable.
Felix Kuehling [Fri, 4 Feb 2005 00:17:21 +0000 (00:17 +0000)]
Made subtile upload a template. This speeds up tiled texture uploads by
about a factor 1.3.
Felix Kuehling [Thu, 3 Feb 2005 21:40:21 +0000 (21:40 +0000)]
Use all texture heaps in a fair way when textures need to be kicked in
order to make room for new textures. In particular this fixes texture
trashing on the first heap when the second heap is occupied by
currently unused textures (observed with Torcs and the Savage driver).
Heaps are weighted by their sizes by default but drivers can override
these and apply their own weights based on relative texture upload
speeds to the respective heaps.
Aapo Tahkola [Thu, 3 Feb 2005 19:51:57 +0000 (19:51 +0000)]
Removing some trash and disabling fog fallback as it seem its causing more harm than good. Tuxracer should now work at least with vbs. Fix for vb colorbuffer clear bug is underway...
Aapo Tahkola [Thu, 3 Feb 2005 19:43:27 +0000 (19:43 +0000)]
Changing vb code to handle inputs correctly.
Vladimir Dergachev [Thu, 3 Feb 2005 17:48:32 +0000 (17:48 +0000)]
Start beginning of pixel shader generator..
Vladimir Dergachev [Thu, 3 Feb 2005 16:05:21 +0000 (16:05 +0000)]
Forgot to increase the length.
Vladimir Dergachev [Thu, 3 Feb 2005 16:01:46 +0000 (16:01 +0000)]
Looks like we need at least one instruction for pixel shader.
Vladimir Dergachev [Thu, 3 Feb 2005 15:44:06 +0000 (15:44 +0000)]
Get vertex programs supplied by the user work properly with immediate mode - vertex buffer mode worked by accident.
Fix alu_offset in SINGLE_TEXTURE_PIPELINE.
Vladimir Dergachev [Thu, 3 Feb 2005 06:33:44 +0000 (06:33 +0000)]
Since high bits can be used for flags, mask them out.
This stops arbvpwarpmesh from segfaulting and it actually works - with immediate mode rendering.
Vladimir Dergachev [Thu, 3 Feb 2005 04:16:59 +0000 (04:16 +0000)]
Remove redundant instructions from fixed pipelines, looks like they do not do anything, at least on my hardware.
Vladimir Dergachev [Thu, 3 Feb 2005 03:48:22 +0000 (03:48 +0000)]
Mark ZBIAS definitions.
Vladimir Dergachev [Thu, 3 Feb 2005 03:47:12 +0000 (03:47 +0000)]
This was too optimistic sorry - all that register does is something weird with polygon culling.
Vladimir Dergachev [Thu, 3 Feb 2005 03:43:01 +0000 (03:43 +0000)]
Get Polygon offset fill to work.
Make WARN_ONCE message more informative.
Ian Romanick [Thu, 3 Feb 2005 00:38:40 +0000 (00:38 +0000)]
Added a bunch of extensions that were previously supported but weren't
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.
Felix Kuehling [Wed, 2 Feb 2005 15:57:25 +0000 (15:57 +0000)]
Check for heap == NULL before driSetTextureSwapCounterLocation.
Felix Kuehling [Wed, 2 Feb 2005 15:52:29 +0000 (15:52 +0000)]
Don't try to kick textures from a NULL tex heap.
Felix Kuehling [Wed, 2 Feb 2005 14:43:03 +0000 (14:43 +0000)]
Fixed flushing of client-side vertex buffers.
Felix Kuehling [Wed, 2 Feb 2005 14:42:00 +0000 (14:42 +0000)]
Fixed some debug output that was unconditionally enabled.
Brian Paul [Wed, 2 Feb 2005 14:12:59 +0000 (14:12 +0000)]
clamp viewport against ctx->Const.MaxViewportWidth/Height instead of MAX_WIDTH/HEIGHT
Aapo Tahkola [Wed, 2 Feb 2005 13:29:11 +0000 (13:29 +0000)]
Changed parts of r300_setup_routing to use WARN_ONCE.
Ian Romanick [Wed, 2 Feb 2005 00:54:45 +0000 (00:54 +0000)]
Small refactor. Add glXFunctionIterator, which derrives from
glFunctionIterator and is used by GlxProto. The difference between the two
iterator classes is that glXFunctionIterator skips functions that the GLX
protocol code does not care about.
Replace all the remaining occurances of glParameter::p_count_parameters and
glFunction::count_parameters with the count_parameter_list.
Add GlxProto::size_call to generate the C code to calculate 'compsize'.
These trivially modify the generated code.
Aapo Tahkola [Tue, 1 Feb 2005 23:12:36 +0000 (23:12 +0000)]
Add a missing break and a reminder.
Aapo Tahkola [Tue, 1 Feb 2005 22:45:11 +0000 (22:45 +0000)]
Implement appropriate src checks for attribs/params.
Aapo Tahkola [Tue, 1 Feb 2005 19:56:52 +0000 (19:56 +0000)]
Implemented bunch of ops.
Aapo Tahkola [Tue, 1 Feb 2005 16:56:52 +0000 (16:56 +0000)]
Vertex programs work now with some restrictions. I expect arbvptorus to work
correctly when normals are delivered. Please note that some programs only
start in vb mode as there is something wrong in immediate mode vb code.
Vladimir Dergachev [Tue, 1 Feb 2005 15:51:54 +0000 (15:51 +0000)]
Make WARN_ONCE messages more informative.
Vladimir Dergachev [Tue, 1 Feb 2005 15:46:23 +0000 (15:46 +0000)]
Reduce noiseness of the driver.
Vladimir Dergachev [Tue, 1 Feb 2005 15:27:36 +0000 (15:27 +0000)]
Get alpha in textures to work properly.
Vladimir Dergachev [Tue, 1 Feb 2005 06:55:58 +0000 (06:55 +0000)]
Properly set ABLEND and CBLEND registers. The older code worked, but by accident.
Vladimir Dergachev [Tue, 1 Feb 2005 05:59:00 +0000 (05:59 +0000)]
Looks like we can define FIRE_VERTICES correctly.
Vladimir Dergachev [Tue, 1 Feb 2005 05:58:27 +0000 (05:58 +0000)]
It helps to print actual values instead of random ones.
Ian Romanick [Tue, 1 Feb 2005 00:28:47 +0000 (00:28 +0000)]
Small refactor. Move several utility functions from glX_XML.py to
FilterGLAPISpecBase (in gl_XML.py). When these functions are used to emit
common #define lines, the will automatically be undefined in
FilterGLAPISpecBase::printFooter if header_tag is set (i.e., the file is a
header file).
These changes do not modify the generated code.
Ian Romanick [Tue, 1 Feb 2005 00:13:04 +0000 (00:13 +0000)]
Add GlxProto::createEnumFunction and add a 'context' parameter to the
glXEnumFunction constructor. The allows sub-classes of GlxProto to
over-ride the concrete class used for glXEnumFunction.
In addition to tracking p_count_parameters in glParameter, break the comma
separated list of parameter names into a Python list called
count_parameter_list. It is now possible to query if a name is the name of
one of the count parameters just by comparing
param.count_parameter_list.count(n) to zero. Eventually the remaining uses
of p_count_parameters will be replaced with uses of count_parameter_list.
Make sure that 'void *' parameters are handled correctly in
glParameter::size_string.
Add PrintGlxReqSize_h and PrintGlxReqSize_c. These classes emit prototypes
and functions used on the server-side to determine the expected size of an
incoming GL command.
Adam Jackson [Mon, 31 Jan 2005 23:40:05 +0000 (23:40 +0000)]
Bug #2428: #ifdef GLX_DIRECT_RENDERING in DRI drivers is pointless.
Daniel Borca [Mon, 31 Jan 2005 13:23:55 +0000 (13:23 +0000)]
makefile update (readtex, showbuffer)
Vladimir Dergachev [Mon, 31 Jan 2005 06:41:55 +0000 (06:41 +0000)]
Add magic sequence to prevent ClearBuffer from locking up.
Change Polygon.OffsetFill from fallback to warn once.
Quake demo now works, modulo texture rendering issues due to absent pixel shader pipeline.
Vladimir Dergachev [Mon, 31 Jan 2005 02:52:59 +0000 (02:52 +0000)]
Use SecondaryColorPtr, not ColorPtr[1] (the latter is NULL).
This fixes segfault in tuxracer-demo. It locks up after this though.
Vladimir Dergachev [Sun, 30 Jan 2005 22:16:28 +0000 (22:16 +0000)]
My bad, the old code works fine if updated to newer Mesa tree.
Vladimir Dergachev [Sun, 30 Jan 2005 22:04:40 +0000 (22:04 +0000)]
struct ati_fragment_shader was not defined anywhere, define it to get r300_vertexprog.c to compile.
Brian Paul [Sun, 30 Jan 2005 17:18:08 +0000 (17:18 +0000)]
fix max viewport query
Aapo Tahkola [Sun, 30 Jan 2005 11:12:59 +0000 (11:12 +0000)]
Fix for compiler warnings.
Dave Airlie [Sun, 30 Jan 2005 06:24:30 +0000 (06:24 +0000)]
add number of passes count to ati_fragment_shader
Felix Kuehling [Sat, 29 Jan 2005 23:26:23 +0000 (23:26 +0000)]
* Fixed uploading of textures of certain sizes.
* When glTexSubImageND is used, track the set of changed tiles in a
bit vector and upload only dirty tiles later. This should improve
the performance of dynamic light maps and gl movie player plugins.
* Renamed debug item "lru" to "tex". Indicate which levels are
uploaded completely or partially.
hmarson [Sat, 29 Jan 2005 20:41:31 +0000 (20:41 +0000)]
Added 0x4e54 (Thinkpad r50p) as PCI_CHIP_RV350_NP
Aapo Tahkola [Sat, 29 Jan 2005 17:57:07 +0000 (17:57 +0000)]
Beginings of program generation. This code havent been tested nor hooked up.
Brian Paul [Sat, 29 Jan 2005 17:28:45 +0000 (17:28 +0000)]
remove stray span.y++
Brian Paul [Sat, 29 Jan 2005 13:48:43 +0000 (13:48 +0000)]
added osmesa16 stuff
Brian Paul [Sat, 29 Jan 2005 13:48:27 +0000 (13:48 +0000)]
assorted fixes
Brian Paul [Sat, 29 Jan 2005 13:36:15 +0000 (13:36 +0000)]
fix initial viewport size bug
Brian Paul [Sat, 29 Jan 2005 12:57:36 +0000 (12:57 +0000)]
added missing glFinish()
Aapo Tahkola [Sat, 29 Jan 2005 07:17:27 +0000 (07:17 +0000)]
Cleaning up.
Ian Romanick [Fri, 28 Jan 2005 19:00:54 +0000 (19:00 +0000)]
Refactor the code to emit multiple-inclusion protection to
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.
Michal Krol [Fri, 28 Jan 2005 18:39:26 +0000 (18:39 +0000)]
move file
Ian Romanick [Fri, 28 Jan 2005 18:20:43 +0000 (18:20 +0000)]
Properly annotate variable-length output parameters. Make sure that the
client-side code doesn't try to calculate the size of the output
parameters. The server will tell the client how big it is.
Ian Romanick [Fri, 28 Jan 2005 17:58:58 +0000 (17:58 +0000)]
Fix some get / set errors with COLOR_TABLE_*. SCALE and BIAS can be
parameters to GetColorTableParameter[if]v. FORMAT, WIDTH, and the SIZE
enums cannot be parameters to ColorTableParameter[if]v.
Ian Romanick [Fri, 28 Jan 2005 17:30:25 +0000 (17:30 +0000)]
Slightly modify the meaning of the 'handcode' attribute in a 'glx' element.
The attribute can now take one of 4 states. "false" (the default value)
means that no handcoding is required for the function. "client" means that
the function must be handcoded on the client-side only. "server" means that
the function must be handcoded on the server-side only. "true" menas that
the function must be handcoded on both the client-side and the server-side.
Version 1.14 of glX_proto_send.py accidentally contained a line of this
change.
Ian Romanick [Fri, 28 Jan 2005 16:51:01 +0000 (16:51 +0000)]
Add an option to emit extra debug code in the generated protocol functions.
The debug version of indirect.c has proven very helpful during the
development of new client-side and server-side GLX protocol code. This is
put here instead of in the DISPATCH and DISPATCH_RETURN macros in dispatch.c
for two reasons.
1. I only want the debug information when indirect-rendering is used.
2. Functions that require a reply from the server, some of which do not have
a return value (e.g., glFlush, glFinish, glGetLightfv, etc.), do not need
the extra glFinish call.
Aapo Tahkola [Fri, 28 Jan 2005 11:59:37 +0000 (11:59 +0000)]
Fix wrong comment.
Aapo Tahkola [Fri, 28 Jan 2005 10:08:00 +0000 (10:08 +0000)]
Forgot one comment...
Aapo Tahkola [Fri, 28 Jan 2005 09:57:06 +0000 (09:57 +0000)]
Add basic sceleton for vertex programs + some other fixes
Ian Romanick [Thu, 27 Jan 2005 19:50:59 +0000 (19:50 +0000)]
Mark a couple more function parameters as counters.
Ian Romanick [Thu, 27 Jan 2005 19:39:16 +0000 (19:39 +0000)]
Add numerous 'get'-type functions to most of the enums supported by the
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.
Aapo Tahkola [Thu, 27 Jan 2005 04:42:52 +0000 (04:42 +0000)]
Add vector distance operator for vertex programs.
Ian Romanick [Thu, 27 Jan 2005 01:08:48 +0000 (01:08 +0000)]
The 'mode' setting of a function within an 'enum' element is now used.
Parameters to glX_proto_size.py are now used to determine whether to emit
either get-type function, set-type functions, or both. When only get-type
functions are emitted, they can optionally alias set-type functions. This
would be useful if, for example, the two types were in different source
files.
The real work to implement this is in SizeStubFunctionIterator class. All
of the logic for which functions to iterate and in which order is
implemented there.
Ian Romanick [Wed, 26 Jan 2005 19:19:06 +0000 (19:19 +0000)]
remove a bunch of temporary #defines, now that glext.h was updated
Roland Scheidegger [Wed, 26 Jan 2005 18:05:03 +0000 (18:05 +0000)]
(Stephane Marchesin, me) Add support for color (framebuffer) tiling to the radeon and r200 driver
Roland Scheidegger [Wed, 26 Jan 2005 18:02:19 +0000 (18:02 +0000)]
new version check to allow to test for a range of ddx major versions, instead of just one major version
Brian Paul [Wed, 26 Jan 2005 14:45:38 +0000 (14:45 +0000)]
remove a bunch of temporary #defines, now that glext.h was updated
Roland Scheidegger [Wed, 26 Jan 2005 14:20:14 +0000 (14:20 +0000)]
replace magic number with macro constant RADEON_ZBLOCK16
Brian Paul [Wed, 26 Jan 2005 14:02:50 +0000 (14:02 +0000)]
just comments/clean-up
Brian Paul [Wed, 26 Jan 2005 14:01:53 +0000 (14:01 +0000)]
added mutex to-do comment
Brian Paul [Wed, 26 Jan 2005 14:01:28 +0000 (14:01 +0000)]
just fix a comment and update date
Daniel Borca [Wed, 26 Jan 2005 09:47:32 +0000 (09:47 +0000)]
RGB/LUMINANCE texelfetchers (float version) returned 255.0F for alpha channel, instead of 1.0F
Ian Romanick [Tue, 25 Jan 2005 23:53:13 +0000 (23:53 +0000)]
Add a glFunctionIterator class to iterate over the functions stored in a
higher-level API object. Use this type of object to implement the
printFunctions method. Modify other functions that iterate over the list of
functions to use this type of object.
Aapo Tahkola [Tue, 25 Jan 2005 19:09:23 +0000 (19:09 +0000)]
Fixes for clamp modes.
Brian Paul [Tue, 25 Jan 2005 15:16:02 +0000 (15:16 +0000)]
Use the _mesa_HashNextEntry() function to walk over all textures in the
hash table.
Moving toward removing the gl_texture_object's Next pointer (only used by
glide and tdfx drivers).
Ian Romanick [Tue, 25 Jan 2005 01:36:32 +0000 (01:36 +0000)]
Stupid text editor...convert wayward tabs to spaces.
Ian Romanick [Tue, 25 Jan 2005 01:20:11 +0000 (01:20 +0000)]
Add a "count" attribute to "enums" elements to set the default count
used for "size" sub-elements. In the future the "count" attribute may
be removed completely from "size" sub-elements, so gl_API.xml was also
updated.
Support was added for a (currently unused) "mode" attribute for "size"
elements. Basically, functions are marked as either "get" or "set". This
will be used in generating size functions for the server-side (where the
"get" functions have to know how much data to return). It could also be
used to help generate code for src/mesa/main/get.c.
Ian Romanick [Mon, 24 Jan 2005 22:07:00 +0000 (22:07 +0000)]
Correctly set the name of the generating script.
Ian Romanick [Mon, 24 Jan 2005 21:56:05 +0000 (21:56 +0000)]
Move all the code for generating "size" related functions to its own
source file.
Ian Romanick [Mon, 24 Jan 2005 21:43:29 +0000 (21:43 +0000)]
Correct some of the dependencies and clean things up a bit.
Ian Romanick [Mon, 24 Jan 2005 21:29:13 +0000 (21:29 +0000)]
Remove glEnum::startElement, but refactor out some of the common code from
there and glXEnum::startElement to glEnum::process_attributes.
Ian Romanick [Mon, 24 Jan 2005 20:59:32 +0000 (20:59 +0000)]
Since only one of the places that used glXFunction::command_payload_length
actually used both values, it was refactored into command_fixed_length and
command_variable_length. glXFunction::offset_of_first_parameter was also
added.
Ian Romanick [Mon, 24 Jan 2005 20:08:28 +0000 (20:08 +0000)]
Make sure that functions added to gl_API.xml that do not have any GLX
section are marked as ignored. Also ignore any functions that don't have
assigned dispatch offsets.
Fold Adam Jackson's changes to indirect_size.c into the generator scripts so
that they don't get lost. "DO NOT EDIT" really means "DO NOT EDIT". ;)
Aapo Tahkola [Mon, 24 Jan 2005 19:26:20 +0000 (19:26 +0000)]
border_color causes lockups with vertex buffers. Disabling for now.