Commit Graph

92185 Commits

Author SHA1 Message Date
Eric Anholt dc1608ae9d [965] Replace the always_update dirty flag with BRW_NEW_BATCH.
This allows us to avoid re-emitting some state when validate_state happens
multiple times per batchbuffer.  Even though we flush batch per primitive
currently, that may still happen already if the primitive changed (this should
probably be fixed as well).
2008-01-09 14:41:53 -08:00
Eric Anholt 5f86ae057a [intel] Rename lost_hardware vtbl entry to new_batch.
Both drivers have ended up relying on lost_hardware being called after each
batch buffer, so update the name.  This removes one of the calls on 965 whic
h was outside of the batchbuffer handling code and just duplicating what had
already happened through batchbuffer handling.
2008-01-09 14:41:42 -08:00
Eric Anholt d9edd8e905 [965] Remove drawing rect upload, which is handled (better) by the kernel. 2008-01-09 14:41:41 -08:00
Eric Anholt beddf653a9 [intel] Clean up cliprect handling in intel drivers.
In particular, batch buffers are no longer flushed when switching from
CLIPRECTS to NO_CLIPRECTS or vice versa, and 965 just uses DRM cliprect
handling for primitives instead of trying to sneak in its own to avoid the
DRM stuff. The disadvantage is that we will re-execute state updates per
cliprect, but the advantage is that we will be able to accumulate larger
batch buffers, which were proving to be a major overhead.
2008-01-09 14:41:40 -08:00
Eric Anholt 7ce12b0863 [intel] Remove the dead intel->need_flush member. 2008-01-09 14:41:39 -08:00
Eric Anholt 5a49e84fcd [965] Clarify a bit of index buffer upload code. 2008-01-09 14:41:38 -08:00
Brian 8c4806ccc4 fix bug 13978: glDrawBuffersARB() didn't set all necessary state 2008-01-09 14:20:51 -07:00
Eric Anholt c0fd6a0903 [intel] Add TTM bufmgr debug for type or offset migration of buffers. 2008-01-08 10:08:54 -08:00
Ben Skeggs 9de335f580 nouveau: object header update 2008-01-08 02:28:43 +11:00
Xiang, Haihao 3369cd9a6f i915: Keith Whitwell's swizzling TEX patch. fix #8283 2008-01-07 14:08:36 +08:00
Brian 601a6b872c Replace gl_framebuffer's _ColorDrawBufferMask with _ColorDrawBufferIndexes
Each array element is now a BUFFER_x token rather than a BUFFER_BIT_x bitmask.
The number of active color buffers is specified by _NumColorDrawBuffers.
This builds on the previous DrawBuffer changes and will help with drivers
implementing GL_ARB_draw_buffers.
2008-01-06 18:07:26 -07:00
Brian ff73c783cc Simplify ctx->_NumColorDrawBuffers, _ColorDrawBuffers and fix bug 13835.
These fields are no longer indexed by shader output.  Now, we just have
a simple array of renderbuffer pointers.

If the shader writes to gl_FragData[i], send those colors to the N
_ColorDrawBuffers.  Otherwise, replicate the single gl_FragColor (or
the fixed-function color) to the N _ColorDrawBuffers.

A few more changes and simplifications can follow from this...
2008-01-06 10:43:20 -07:00
Ben Skeggs a50f224f41 nv40: use a more "normal" 2x8bit format, the other is likely a HILO format. 2008-01-07 04:36:22 +11:00
Ben Skeggs 9bac4c7268 nouveau: share pushbuf interface code between pipe drivers 2008-01-07 01:02:30 +11:00
Ben Skeggs 37e9587178 nv40: do nothing for set_clip_state()
There's no way possible for us to support clip planes with the current
interfaces anyway.
2008-01-06 22:14:22 +11:00
Ben Skeggs df34b6b2bc nv40: bind textures based on fragprog usage. 2008-01-06 21:52:24 +11:00
Brian 9f6022d056 fix depth/1 typo in glTexImage3D proxy code 2008-01-05 15:45:55 -07:00
Brian 48aa35a8b2 check if span length > 0 before calling _swrast_write_rgba_span() 2008-01-05 15:45:55 -07:00
Michel Dänzer 1c5f27a18b gallium: Make texture target an enum for better debuggability.
Also make enum pipe_format used in a couple more places.
2008-01-04 18:21:45 +01:00
Zack Rusin 6f01290431 llvm: if llvm is enabled don't even try to use sse for vs 2008-01-04 10:01:32 -05:00
Zack Rusin 9789c301b4 llvm: we need custom rules so had to redo the build a little bit
also don't use sse when llvm is enabled
2008-01-04 09:27:42 -05:00
Zack Rusin 3385f3d250 llvm: update llvm sources the latest svn 2008-01-04 08:32:20 -05:00
Xiang, Haihao e7044d552c i915: don't validate PS program when falling back to software
rendering. fix #12786
2008-01-04 17:11:39 +08:00
Xiang, Haihao 15356376bd intel: some initialization for dri_bufmgr_ttm 2008-01-04 14:22:23 +08:00
Keith Whitwell b1e67c5d84 965: fix various refcount issues 2008-01-04 01:20:41 +00:00
Keith Whitwell f54012650e 965: use correct offset for constants vs immediates 2008-01-04 01:20:41 +00:00
Keith Whitwell 65426b144e 965: always perform SF parameter setup for position
Match behaviour of DRI driver.  Fix fragment shader to find the other
parameters one slot further on.  Will need more work to cope with FP's
that actually reference position.
2008-01-04 01:20:41 +00:00
Keith Whitwell 25c9728644 965: scan fs inputs to work out interpolation in setup program 2008-01-04 01:20:41 +00:00
Eric Anholt 62842e7145 [intel] Add a single-entry relocation buffer cache.
By avoiding the repeated relocation buffer creation/map/unmap/destroy for each
new batch buffer, this improves OpenArena framerates by 30%.  Caching batch
buffers themselves doesn't appear to be a significant performance win over
this change.
2008-01-03 16:53:23 -08:00
Eric Anholt 8abffada70 [intel] Convert relocations to not be cleared out on buffer submit.
We have two consumers of relocations.  One is static state buffers, which
want the same relocation every time.  The other is the batchbuffer, which gets
thrown out immediately after submit.  This lets us reduce repeated computation
for static state buffers, and clean up the code by moving relocations nearer
to where the state buffer is computed.
2008-01-03 15:46:16 -08:00
Eric Anholt 0ff3eb637b [965] Fix some missing initialization in WM keys. 2008-01-03 14:49:33 -08:00
Brian 4e62fbbfc5 clean-ups, silence warnings 2008-01-03 15:09:30 -07:00
Brian 2b40838972 rename vars, clean-up formatting 2008-01-03 15:05:51 -07:00
Brian aa7f233367 replace void * with struct draw_vertex_shader opaque type 2008-01-03 15:03:52 -07:00
Brian 1613c49c98 Cell: added -Wmissing-prototypes to SPU_CFLAGS 2008-01-03 09:57:12 -07:00
Brian 5e00ae3fea Cell: initial work for getting/putting Z tiles 2008-01-03 09:56:48 -07:00
Brian 3ffef8de82 disable bbox code until glitches are fixed 2008-01-03 09:40:32 -07:00
Brian 4ff6367295 Cell: improve surface state code to replace some temporary code. 2008-01-03 09:40:02 -07:00
Brian 9b598df95e asst changes in bbox code, dma tags, etc 2008-01-03 08:58:51 -07:00
Brian bb55835fc0 insert a temporary flush to fix missing triangles artifact 2008-01-03 08:58:01 -07:00
Brian 5cd96f7684 pass surface format in cell_command_framebuffer struct 2008-01-03 07:49:59 -07:00
Brian 7aee3eff18 better debug code 2008-01-03 07:49:13 -07:00
Zou Nan hai 15653b5d88 fix fd.o bug #13761
MRD computation is now changed in mesa core
2008-01-03 16:05:27 +08:00
Brian f6b7e2d3bf make use of prim bounds box info 2008-01-02 19:31:36 -07:00
Brian 54090bd841 only fetch as much vertex data as needed 2008-01-02 19:05:34 -07:00
Brian d55c4ec9d2 remove previous triangle test code 2008-01-02 18:58:44 -07:00
Brian de9f8e8b71 Cell: basic triangle rendering works.
The cell "render_stage" (last in the "draw" pipeline) emits vertices into
a buffer which is pulled by the SPUs in response to a "RENDER" command.
This is pretty much temporary/scaffold code for now.
2008-01-02 18:53:33 -07:00
Eric Anholt 9e9f6f105c [965] Convert WM unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:49 -08:00
Eric Anholt 03b59edbb5 [965] Convert VS unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:48 -08:00
Eric Anholt 77e6cf8c17 [965] Convert SF unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:47 -08:00