Commit graph

11756 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
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
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
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
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
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
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
Eric Anholt
3149119cad [965] Convert GS unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:46 -08:00
Eric Anholt
114b802e87 [965] Convert clip unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:46 -08:00
Eric Anholt
b35811e1b3 [965] Convert CC unit to use a cache key instead of brw_cache_data. 2008-01-02 15:51:45 -08:00
Eric Anholt
a95b48d55b [965] Convert surface state to use a cache key instead of brw_cache_data. 2008-01-02 15:51:44 -08:00
Eric Anholt
3e3644c6e8 [965] Convert sampler state to use a cache key instead of brw_cache_data. 2008-01-02 15:51:43 -08:00
Eric Anholt
a099461fa3 Revert "[intel] Use the memory type mask containing the caching flags."
This reverts commit 8bb9ae3693.

Validating our kernel buffers with the caching off in flags but on in mask
means that the kernel migrates the buffer to be uncached, which is undesired.
2008-01-02 15:51:27 -08:00
Eric Anholt
8bb9ae3693 [intel] Use the memory type mask containing the caching flags. 2008-01-02 09:47:07 -08:00
Keith Packard
a3c435b342 Set correct flags mask when validating buffers.
The 'mask' value used in the validation operation specifies which of the
'flags' bits are being modified. Buffer validation wants to pass the memory
type and access mode (rwx) to the kernel so that the buffer will be placed
correctly, and so that the right kind of fence will be created (read vs
write). That means we actually want a constant mask for these operations,
and not something computed from the bits coming in. The constant we want is
DRM_BO_MASK_MEM | DRM_BO_FLAG_READ | DRM_BO_FLAG_WRITE | DRM_BO_FLAG_EXE.
2008-01-02 09:47:06 -08:00
Eric Anholt
4cc02fb938 [965] Improve performance by including reloc target buffer pointers in keys.
Without this, the WM binding tables would all collide, for example.  Improves
openarena performance by around 2%.
2008-01-02 09:47:05 -08:00
Brian
de427742b8 additional stub functions 2008-01-02 07:24:07 -07:00
Brian
7d6d6652d5 additional GL_COLOR_ATTACHMENTx_EXT cases (bug 13767) 2008-01-02 07:19:31 -07:00
Xiang, Haihao
60d762aa62 i915: Needn't adjust pixel centers. fix #12944 2008-01-02 11:38:51 +08:00
Dave Airlie
524304c9b8 Revert "r300: fix bug with maniadrive rendering"
this is correct, there is another issue with sw fallbacks

This reverts commit cc50edbca2.
2008-01-02 06:19:47 +10:00
Brian
a5c84de3a7 remove unneeded conditional 2008-01-01 10:20:56 -07:00
Brian
f0676cc422 fix vbo display list memleak upon context destruction 2008-01-01 10:20:56 -07:00
Brian
6c0fc07d71 fix glUniform4f typo 2008-01-01 10:20:56 -07:00
Brian
9b3162b1d2 additional GL_COLOR_ATTACHMENTx_EXT cases (bug 13767) 2008-01-01 10:10:04 -07:00
Bruce Merry
2bf2a8cc6d Convert to 0/1 when setting boolean uniforms
Also add some extra tests to the shader_api regression tests
2008-01-01 09:58:15 -07:00
Bruce Merry
3f948025db Make use of count in _mesa_uniform_matrix 2008-01-01 09:58:15 -07:00
Bruce Merry
239be839be Add a test program to test for assorted bugs in shader_api.c 2008-01-01 09:58:15 -07:00
Bruce Merry
89b80327ae More fixes to shader_api
- return GL_INVALID_OPERATION instead of GL_INVALID_VALUE if location is bad
- correct the type-checking of uniforms from my previous commit
- accept location of -1 in _mesa_uniform_matrix
2008-01-01 09:58:15 -07:00
Bruce Merry
eeb03faadc Fix several bugs relating to uniforms and attributes in GLSL API
- fix sizes for GL_FLOAT_MAT2x3 and GL_FLOAT_MAT4x3 in sizeof_glsl_type
- fix size returns in _mesa_get_active_attrib
- fix out-of-bounds array access to vec_types in _mesa_get_active_attrib
- fix queries of matrix uniforms in _mesa_get_uniformfv
- fix _mesa_get_uniformfv to only return one base, even from an array
- allow location == -1 in _mesa_uniform
- validate types in _mesa_uniform
- allow array overruns in _mesa_uniform
2008-01-01 09:58:15 -07:00
Brian
8349073561 added 'get' info for framebuffer object tokens 2008-01-01 09:26:15 -07:00
Brian
76387dec76 add 'Get' info for MAX_3D_TEXTURE_SIZE (for bug 13811) 2008-01-01 09:05:05 -07:00
Hans de Goede
d3033cad7c t_vp_build: fix temporary register allocation to minimise the allocations 2008-01-02 01:32:01 +10:00
Hans de Goede
2290ea7fe6 rx00: fix off by one error in tempreg check 2008-01-02 01:29:51 +10:00
Dave Airlie
cc50edbca2 r300: fix bug with maniadrive rendering
I've no idea why I added this so I'll have to spend time tracking it down
2008-01-02 01:19:23 +10:00
Dan Nicholson
73f6f7ed91 autoconf: Remind developers to bump version numbers in configure.ac
Just like configs/default, the version number in configure.ac needs to
be bumped for releases. Maybe later we can figure out how to scrape the
version from configs/default into configure.ac.
2007-12-30 08:48:10 -08:00