Commit graph

12529 commits

Author SHA1 Message Date
Xiang, Haihao
5982d39799 i965: use RGB565 to render a bitmap if Depth is 16 2008-03-07 09:48:11 +08:00
Xiang, Haihao
d76545de57 i965: Fix double free issue to pass glean/maskedClear test 2008-03-06 13:23:27 +08:00
Xiang, Haihao
771ba66629 i965:fix segfault issue when clearing the window which
is created with mode GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH.
This issue is introduced by 20b8bff49c
2008-03-06 09:45:51 +08:00
Eric Anholt
fe91c05b54 [intel] Add a driconf option to cache freed buffer objects for reuse.
This is defaulted off as it has potentially large memory costs for a modest
performance gain.  Ideally we will improve DRM performance to the point where
this optimization is not worth the memory cost in any case, or find some
middle ground in caching only limited numbers of certain buffers.  For now,
this provides a modest 4% improvement in openarena on GM965 and 10% in openarena
on GM945.
2008-03-05 16:29:14 -08:00
Christoph Brill
fc21e9cdd0 r300: replace some hard coded mask by define in stencil area 2008-03-04 21:52:49 +01:00
Christoph Brill
701ccf6f29 r300: Fix some issues with masks in stencil buffer area 2008-03-04 21:37:56 +01:00
Kristian Høgsberg
3d608c7a2d [dri2] Add tail pointer to reemitDrawableInfo callback.
When the DRI doesn't parse the event buffer for a while, the X server
may overwrite data that the driver didn't get a chance to look at.  The
reemitDrawableInfo callback requests that the X server reemit all info
for the specified drawable.  To make use of this, the drive needs to know
the new tail pointer so it know where to start reading from.
2008-03-03 19:16:20 -05:00
Kristian Høgsberg
4f7a75cc8a [dri2] Optimize event parsing to skip obsolete events.
This also fixes the problem where the X server does multiple resizes before
the DRI driver gets the events.  The obsolete buffer attach events then
reference already destroyed buffer objects.
2008-03-03 19:16:20 -05:00
Kristian Høgsberg
36c26d321b [intel] Silence unused variable warning when compiling for i965. 2008-03-03 19:15:52 -05:00
Patrice Mandin
f59d59a95f nouveau: compilation fixes 2008-03-02 12:16:23 +01:00
Oliver McFadden
47f08a9fb5 r300: Corrected a bug with the SUB instruction. 2008-03-02 09:34:43 +00:00
Oliver McFadden
e239871d5b r300: Corrected a bug with the MAD instruction.
The PVS_VECTOR_OPCODE macro should be modified to support macro instructions,
too.
2008-03-02 06:35:44 +00:00
Oliver McFadden
c30cc5904d r300: Added the PVS_SRC_OPERAND documentation from AMD. 2008-03-01 06:33:07 +00:00
Oliver McFadden
3129d8b512 r300: Added the PVS_OP_DST_OPERAND documentation from AMD. 2008-03-01 06:33:07 +00:00
Oliver McFadden
9a3d4b14e9 r300: Added a TODO comment for registers missing from AMD's documentation. 2008-03-01 06:33:07 +00:00
Oliver McFadden
916a53088e r300: Moved the vertex program shift/mask defines into the appropriate file. 2008-03-01 06:33:07 +00:00
Oliver McFadden
038e13b1ee r300: Indented the vertex program code with longer lines. 2008-03-01 06:33:07 +00:00
Oliver McFadden
5dcbdc09f3 r300: Moved the PREFER_DP4 define near the position invariant function. 2008-03-01 06:33:07 +00:00
Oliver McFadden
bbab0f97b8 r300: Added a TODO comment for the MAD opcodes. 2008-03-01 06:33:07 +00:00
Oliver McFadden
2a8b6c62a7 r300: Use the VE_ADD hardware opcode for the SUB opcode. 2008-03-01 06:33:07 +00:00
Oliver McFadden
a6d772ed16 r300: Use the VE_MULTIPLY hardware opcode for the MUL opcode. 2008-03-01 06:33:07 +00:00
Oliver McFadden
f80223d9ff r300: Cleaned up the XPD opcode temporary register usage. 2008-03-01 06:33:06 +00:00
Oliver McFadden
b795e8db5f r300: Cleaned up extra white space. 2008-03-01 06:33:06 +00:00
Oliver McFadden
dda906fcdb r300: Prefer to use the VE_ADD for simple MOV style opcodes.
The VE_MULTIPLY_ADD has further restrictions on reading temporary memory which
may complicate things. See AMD's documentation.
2008-03-01 06:33:06 +00:00
Oliver McFadden
7504981074 r300: Removed the (undocumented) MAD_2 opcode.
This opcode is likely a mistake from reverse engineering. MAD_2 isn't included
in AMD's documentation, and my testing reviles there is no problem using the
documented MAD opcode.
2008-03-01 06:33:06 +00:00
Oliver McFadden
7e1878cdad r300: Cleaned up the MAD/MAD_2 opcode selection. 2008-03-01 06:33:06 +00:00
Oliver McFadden
bb4188b85b r300: Renamed some misleading macro arguments. 2008-03-01 06:33:06 +00:00
Oliver McFadden
fb0947ed33 r300: Cleaned up the vertex program macros. 2008-03-01 06:33:06 +00:00
Oliver McFadden
e3a0a8dc7d r300: Removed duplicate component selection defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
2fdd6d87f4 r300: Removed duplicate source register class defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
95604e88e7 r300: Renamed the vertex program source register macro. 2008-03-01 06:33:06 +00:00
Oliver McFadden
9c74291197 r300: Removed the (obsolete) special source register macros. 2008-03-01 06:33:06 +00:00
Oliver McFadden
440a6fbf6e r300: Cleaned up the special vertex program source register macros. 2008-03-01 06:33:06 +00:00
Oliver McFadden
8c4d811295 r300: Added the vertex program swizzle (aka selection) defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
b2c02a4a7c r300: Converted to the new src/dest register defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
b0e81fd19e r300: Removed an obsolete comment from the vertex program header file. 2008-03-01 06:33:06 +00:00
Oliver McFadden
41c3ae5778 r300: Converted to the new Math Engine defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
0ced26099d r300: Added the Math Engine opcode macro. 2008-03-01 06:33:06 +00:00
Oliver McFadden
7c4add02f8 r300: Renamed the Vector Engine opcode macro. 2008-03-01 06:33:06 +00:00
Oliver McFadden
bd46a482c4 r300: Converted to the new Vector Engine defines. 2008-03-01 06:33:06 +00:00
Oliver McFadden
66952fa5ae r300: Removed the duplicate dest register defines. 2008-03-01 06:33:05 +00:00
Oliver McFadden
8a646b80ef r300: Removed the duplicate "easy" vertex program macros. 2008-03-01 06:33:05 +00:00
Oliver McFadden
ea8299040f r300: Added the vertex program src/dest register defines. 2008-03-01 06:33:05 +00:00
Oliver McFadden
bccb56d5f3 r300: Added the Vector Engine and Math Engine defines from AMD's documentation. 2008-03-01 06:33:05 +00:00
Oliver McFadden
e0a5194a54 r300: Moved the vertex and fragment program macros into the appropriate files. 2008-03-01 06:33:05 +00:00
Roland Scheidegger
642d5ee8c5 state.depth.range alpha value should be 1, not 0 (bug #14733) 2008-03-01 02:56:08 +01:00
Kristian Høgsberg
3c5a1e4c2d Update libGL DRI loader to latest DRI interface changes. 2008-02-29 16:42:29 -05:00
Kristian Høgsberg
51cd168da4 glxgears: oops, remove accidental commit of glFinish() hack. 2008-02-29 15:33:40 -05:00
Kristian Høgsberg
6cb3f5c4d8 Use __DRIextension mechanism providing loader functionality to the driver.
Instead of passing in a fixed struct, the loader now passes in a list
of __DRIextension structs, to advertise the functionality it can provide
to the driver.  Each extension is individually versioned and can be
extended or phased out as the interface develops.
2008-02-29 15:05:39 -05:00
Kristian Høgsberg
16242a8007 Reduce the versioning madness required to create a DRI2 screen.
Right now the DRI2 screen constructor takes 3 different versions:
DRI, DDX and DRM.  This is mostly useless, though:

  DRI: The DRI driver doesn't actually care about the DRI protocol,
  it only talks to the loader, which in turn speaks DRI protocol.  Thus,
  the DRI protocol version is of not interest to the DRI driver, but it
  needs to know what functionality the loader provides.  At this point
  that's reflected in the __DRIinterfaceMethods struct and the
  internal_version integer.

  DDX: The DDX version number is essentially used to track extensions
  to the SAREA.  With DRI2 the SAREA consists of a number of versioned,
  self-describing blocks, so the DDX version is no longer interesting.

  DRM: We have the fd, lets just ask the kernel ourselves.
2008-02-29 15:05:39 -05:00