| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This works better and preserves the
data != 0 if and only if capacity != 0 invariant.
|
|
|
|
| |
Also describe invariants explicitly and use char* for arithmetic.
|
|
|
|
| |
Stuff's starting to show up in arbnpot.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fixed function vertex program shouldn't need to deal or touch tex coords
if stuffing is enabled.
Though I'm not 100% this won't break assumption made elsewhere it seems like
the correct thing to do, and makes r300g point sprites a lot easier to implement.
draw: fix point-sprite when vertex program is used.
This commit regressed draw, so fix it as well to help bisection.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
[airlied -
Convert sprite coord index to a per-coord enable bit
set the rasteriser block up correctly for point sprites.
The inputs to the RS hw block change for sprite coords, so fix them up
properly - this fixes piglit point-sprite test.
]
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
Two reasons:
- progs will eventually have its own repository
- it is just to easy to forget updating the
code for interface changes when it is outside of src
|
| |
|
|
|
|
| |
glsl generates these.
|
| |
|
|
|
|
| |
Trivially adds SEQ, SGT, SLE, SNE, SFL, STR and SSG which were missing.
|
|
|
|
|
| |
This patch allocates a bigger chunk of memory to store queries in,
increasing the (hidden) outstanding query limit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently on nv30/nv40 an assert will be triggered once 32 queries are
outstanding.
This violates the OpenGL/Gallium interface, which requires support for
an unlimited number of fences.
This patch fixes the problem by putting queries in a linked list and
waiting on the oldest one if allocation fails.
nVidia seems to use a similar strategy, but with 1024 instead of 32 fences.
The next patch will improve this.
|
|
|
|
| |
Fixes SCons build.
|
|
|
|
| |
Was broken during unification
|
|
|
|
|
|
|
| |
This patch adds support for two-sided vertex color to nv30/nv40.
When set, the COLOR0/1 fs inputs on back faces will be wired to vs outputs BCOLOR0/1.
This makes OpenGL two sided lighting work, which can be tested with progs/demos/projtex.
|
| |
|
|
|
|
|
|
|
| |
They only apparently work on nv40 grclass cards, and this was the
previous behavior of the driver.
This really needs to be investigated more.
|
|
|
|
|
|
|
|
| |
This is implemented in nvfx_state_fb and fragtex but was missing
in nvfx_screen.
This allows to avoid glCopyTexSubImage CPU fallbacks and makes Doom 3
much faster as a result.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was proposed by Marek Olšák and no one objected, so just
pushing it.
The extension is currently not exposed, because the mechanism to
discover if the driver actually supports this is missing.
We probably should change is_format_supported to handle this too.
This will allow to test Gallium drivers anyway in the meantime.
Based on work by Dave Airlie.
Changes by me:
1. Fix assertion in st
2. Change to use unpadded Gallium formats
|
|
|
|
| |
Should improve performance and fix serious regressions on AGP cards.
|
| |
|
|
|
|
| |
No longer used, finally!
|
|
|
|
|
| |
This makes the code faster due to the lack of indirect calls and also
makes it much easier to understand what is actually going on.
|
| |
|
|
|
|
|
| |
We could use an sb here instead, but there is no obvious performance
advantage, and perhaps there could be a disadvantage.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Rather than emitting relocations on flush notifications, emit them
in nvfx_state_start.
|
|
|
|
|
|
|
| |
Just a dumb buffer, allowed by the RING_3D/fixed subchannel binding and
no support for relocations.
This is *much* faster than state objects.
|
|
|
|
|
|
|
|
|
|
| |
Autobinding creates additional pushbuffer usage which may not be
accounted in callers, and is also slow.
The next relocations patch depends on this for correctness.
Assert instead if the objects are not bound, which should happen at
screen creation time.
|
|
|
|
|
|
|
|
|
|
|
|
| |
RING_3D creates a method start for subchannel 7.
Bind the 3D engine to a fixed subchannel to make it work
This is much faster than the old BEGIN_RING, since we don't need
to waste cycles trying to "autobind" stuff, when a fast static binding
is perfectly good.
Subchannel 7 is chosen because the kernel takes up the lowest ones.
|
|
|
|
|
|
|
|
|
|
| |
Currently we miscalculate the space needed to push vertices, causing
flushes where they should not happen.
Use a much more conservative estimate to fix it.
It will be done better in the future (e.g. using the nv50 primitive
splitter).
|
| |
|
| |
|
| |
|
| |
|
| |
|