| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
code generate big chunks of the vertex pipeline in order to speed up
software vertex processing.
|
|
|
|
| |
Reported-by: Andre Maasikas <[email protected]>
|
| |
|
|
|
|
|
| |
It was being erroneously set equal to the host offset, but it should be
zero.
|
|
|
|
| |
Small improvement in Lightsmark 2008.
|
|
|
|
|
|
|
|
| |
This fixes a regression with Lightsmark, where more compact TGSI from Mesa
was causing a zero mask MOV to be emitted for shadow map compare, causing
problems in some backends.
Add a few more assertions to catch cases like this.
|
| |
|
|
|
|
|
|
| |
Fixes crash in Homeworld2 which tries to create a 14MB buffer, because we
now avoid creating GMR buffers larger than 8MB to ensure progress given
we have only a 16MB pool.
|
|
|
|
|
| |
Not having a hardware buffer around doesn't change the fact that the
range is dirty and needs to be uploaded eventually.
|
|
|
|
| |
Just cosmetic changes -- no behavior change.
|
|
|
|
|
| |
Many apps don't check the return of map buffer so it is better not to
fail.
|
|
|
|
| |
Unnecessary now that we never destroy buffer storage.
|
|
|
|
|
|
|
| |
Do this by extending the nearest range to cover the new range.
This fixes an access fault in Call of Duty which was doing many disjoint
glBufferSubData calls.
|
|
|
|
|
|
| |
Actually the current XOR implementation is an INVERT.
This fixes rectangle selection in Maya.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Unlikely to increase performance from inlining.
And partially expose it through r300_is_sampler_format_supported.
|
|
|
|
| |
Ouch.
|
| |
|
|
|
|
|
|
|
|
|
| |
The surface_format field is 9 bits wide which has a maximum value
of 511. BRW_SURFACEFORMAT_INVALID has a value of 4095 which exceeds
the width of the surface_format field.
This patch asserts that the format is not BRW_SURFACEFORMAT_INVALID
before assignment to the surface_format field.
|
| |
|
|
|
|
| |
RB3D_COLORPITCH.COLORFORMAT.I8 stores the C2 component.
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit fc427d23439a2702068209957f08990ea29fe21b.
At least xorg uses this, and just because something is not used in
OpenGL is *never* a valid reason to remove functionality from Gallium.
If something lacks a test, go add a test, don't remove features.
|
|
|
|
| |
Not renderable in OpenGL anyway.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The optimized Z-test functions assumed that the array of incoming quads
are adjacent, but that's not always true. The fragment shader can cull
intermediate quads, for example.
Now these Z-test functions can cope with non-adjacent quads. A little bit
of performance is probably lost, but it's probably not worth worring about.
This fixes broken glBitmap() Z testing, among other things.
(cherry picked from commit d437d905e6924ebc05ec9efe87e1e2c48d75bc13)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The idea is to directly parse the format description in
r300_translate_texformat and return ~0 if the format is unsupported.
|
|
|
|
|
|
|
|
| |
Need to compute two masks here for full and partial 16x16 blocks.
Gives a further good improvement for isosurf particularly:
isosurf 97 -> 108
gears 597 -> 611
|
|
|
|
|
|
|
|
| |
Some nice speedups:
gears: 547 -> 597
isosurf: 83 -> 98
Others like gloss unchanged. Could do further work in this direction.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
4 more piglit tests pass, sweet.
|
|
|
|
|
|
|
|
|
|
| |
Gallium interfaces are too fluid -- XML or not is just too much work
trying to accommodate for differences in traces.
SWIG generated bindings are also full of quirks, making unmarshalling
the XML from too hard.
Finally, this is the first step for faster tracing.
|
|
|
|
|
| |
Pointer unwrapping should happen before dump the pointer, so that
the real pipe driver pointers are shown, instead of the trace driver's.
|
| |
|
| |
|