Age | Commit message (Collapse) | Author |
|
Conflicts:
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_emit.c
src/gallium/drivers/r300/r300_state_derived.c
|
|
|
|
|
|
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.
|
|
|
|
|
|
The first non-state atom. It's better and cleaner to have it.
|
|
The only practical limits are the ones derived from the currently-set
framebuffer state.
|
|
It wasn't such a good idea to remove it. :/
|
|
|
|
Fixing bizarre reports that a vertex buffer is not large enough.
|
|
|
|
Needs testing.
|
|
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>
|
|
4 more piglit tests pass, sweet.
|
|
MACRO_SWITCH is applied to samplers but not renderbuffers. This commit
fixes incorrect rendering to large and small mipmaps where the large ones
are macrotiled and the small ones are not and both are emitted
in the same CS.
Note that this is still disabled by default (rework of texture transfers
is next).
|
|
Some emits are not needed anymore.
|
|
|
|
saves us a dword in sampler state, hw can't do non-integer aniso degree anyway.
To allow aniso 1x (which seems of dubious value but some hardware (radeons)
have such a mode, and even d3d allows specifiying it) redefine anisotropic
filtering as disabled only if max_anistropy is 0.
|
|
|
|
Thanks to Uros Bizjak for catching it.
|
|
Also clarify changes from pointminmax.
|
|
Conflicts:
src/gallium/drivers/nv10/nv10_state.c
src/gallium/drivers/nv20/nv20_state.c
src/gallium/drivers/nv50/nv50_program.c
|
|
|
|
The previous more direct approach was simply incorrect.
piglit/levelclamp passes again.
|
|
glean/maskedClear passes again.
|
|
|
|
progs/tests/drawbuffers should work, except I can't test it. GG new
shader parser. GG.
|
|
Conflicts:
src/gallium/drivers/softpipe/sp_screen.c
src/gallium/include/pipe/p_defines.h
|
|
There might be some optimizations possible here...
|
|
|
|
At least one extraneous dirty was eliminated, as well as the chance for
avoiding dirty on shader change.
|
|
Some delicious hax here.
|
|
Based on Marek's immd-mode patch.
|
|
This reverts commit 112239e9a66a155d36fe2ad0ab130e6f26eff298.
|
|
|
|
Nearly 100% performance increase in glxgears.
|
|
As per classic r300.
Not sure why glean/polygonOffset still fails, but we do emit the same register
values as in classic.
|
|
|
|
Conflicts:
src/gallium/drivers/softpipe/sp_draw_arrays.c
src/mesa/state_tracker/st_draw_feedback.c
|
|
Oh yeah, those atoms are startin' to pay off. The main obstacle now
for OA playability is the absurdly low default mouse sensitivity, IMO.
Not totally smooth yet, but getting there.
|
|
Reverting some bits from ce1c493ff8fad4b62e2b66f06636ac6560a6e0ad.
Given the latest fixes, it's not needed to always emit scissor, really.
|
|
The state tracker is responsible for clamping to any graphics API enforced
size min/max limits for both the static point_size setting as well as per
vertex point size (in the vertex shader).
Note that mesa state tracker didn't actually use these values.
|
|
Save some code, improve FPS, and fix piglit tests. Everybody wins.
|
|
|
|
|
|
If somebody goes through that much effort, they probably intended it.
So humor them. :3
|
|
Argfl. Some of this code is so questionable.
|
|
|