Age | Commit message (Collapse) | Author |
|
Or, put another way, save 10% on rendering calls.
|
|
|
|
Conflicts:
src/gallium/auxiliary/cso_cache/cso_context.c
src/gallium/auxiliary/util/u_blit.c
src/gallium/auxiliary/util/u_gen_mipmap.c
src/gallium/drivers/i915/i915_context.h
src/gallium/drivers/i965/brw_draw_upload.c
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_context.h
src/gallium/drivers/r300/r300_render.c
src/gallium/drivers/r300/r300_state_derived.c
src/mesa/state_tracker/st_cb_bitmap.c
src/mesa/state_tracker/st_cb_clear.c
|
|
|
|
|
|
Wine tends to pessimistically use ~0 for its max index, but r300s
only can go up to 2^24-1, causing the kernel checker to freak out.
Civ4 is marginally improved now. Still crashes, but not as bad.
|
|
|
|
Formerly known as vertex_format_state. These two are completely
unrelated when using HWTCL and decoupling them makes the design
less SWTCL-centric.
When bypass_vs_clip_and_viewport gets removed, the PSC setup will
no longer be a derived state.
This change shouldn't make unbreaking SWTCL harder.
|
|
Also cleaning up the nasty validation process.
|
|
Fixing bizarre reports that a vertex buffer is not large enough.
|
|
|
|
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
|
|
Reported-by: Andre Maasikas <amaasikas@gmail.com>
|
|
This reverts commit fff5be8e7b4557c221f2425dcafc2e7cbbba76ba.
Probably went too soon with this, dileX reported OA not working for him
it works here fine, but the optimisations I wanted aren't working properly
yet so I'll fix that now.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
This creates a cleaner winsys and drop the simple screen stuff.
It makes r300g use pb_bufmgr structs and adds usage of the cached
bufmgr for vertex/index buffers.
It also avoids mapping too often.
I'm not 100% sure this is perfect but it won't find its own bugs.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
The path for VAP_ALT_NUM_VERTICES is also in place (and tested)
but not enabled by default due to the missing support of this reg
in the upstream kernel.
Also, a non-zero BUFFER_BASE in the INDX_BUFFER packet3 hangs the machine.
Am I missing something? Because of this, only draw_arrays can render
more than 65535 vertices without the use of VAP_ALT_NUM_VERTICES.
|
|
|
|
|
|
|
|
|
|
Some delicious hax here.
|
|
Based on Marek's immd-mode patch.
|
|
This reverts commit 112239e9a66a155d36fe2ad0ab130e6f26eff298.
|
|
Nearly 100% performance increase in glxgears.
|
|
I swear ipers runs here after this commit.
After we flush we need to redo the space check
|
|
|
|
This fixes the code space checking VBOs, then resetting the space list
and space checking other buffers. it fixes demos/ipers
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Sorry, it was a good game, but it just doesn't work.
|
|
|
|
Strangely enough, the code solidified pretty quickly.
|
|
Note that indexSize is changed by r300_translate_elts(). Also make sure
it's destroyed on errors.
|
|
progs/redbook/aapoly, among others, works fine now.
|
|
Will re-enable when the bugs are ironed out.
|
|
|
|
Useful for e.g. blitter.
|
|
If somebody goes through that much effort, they probably intended it.
So humor them. :3
|
|
Argfl. Some of this code is so questionable.
|
|
I want to stab things now.
|
|
Conflicts:
src/gallium/drivers/identity/id_context.c
|
|
|
|
draw_set_mapped_constant_buffer changed API
|
|
|
|
Read the comments. In short, we can't possibly pass piglit's
glean/clipFlat without some help from Gallium and an API/spec change.
|
|
Fixes part of piglit's clipFlat test; next up is to get quads right.
|
|
|
|
|
|
|
|
Otherwise a CS is refused by kernel 2.6.31 (and maybe all later
versions, not sure).
|
|
This patch removes draw_context entirely from the HW TCL path and cleans up
a few other things along the way. Hopefully, nothing got broken.
Thanks to Marek Olšák for testing, review, and pointing out my bugs. :3
|
|
They don't work, but at least they're clean now.
|