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