Age | Commit message (Collapse) | Author |
|
To avoid masking synchronization issues in debug builds.
|
|
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 <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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
With pipe_screen::update_buffer being called in st_validate_state, it is
likely that softpipe will flush tile caches to a detached SHM segment.
Disable SHM for now until a better solution is found.
|
|
Some kernels have vrefresh = (refresh rate * 1000) while others don't.
Use some heuristics here.
|
|
Configs are validated before added. The validation depends on the
extensions available. If configs are added before enabling extensions,
configs with EGL_SCREEN_SURFACE_MESA bit set will never pass the
validation for example.
|
|
st/mesa was changed to call pipe_screen::update_buffer in
st_validate_state. In most cases there is no need to validate.
|
|
Mainly to move the call to DRI2GetBuffers from dri2_surface_validate to
the new dri2_surface_update_buffers.
|
|
Mainly to move buffer allocation code from ximage_surface_validate to
the new ximage_surface_update_buffers.
|
|
|
|
|
|
RB3D_COLORPITCH.COLORFORMAT.I8 stores the C2 component.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This may break the SUNOS4 build, but it's no longer relevant.
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
|
|
We probably don't want to propagate this condition to the pipe driver,
this reverts commit f455ca6490fcb65781b21f81c7117bd923e250d1 and the
dri_update_buffer flush altogether until an agreement is reached.
|
|
|
|
|
|
The idea is to directly parse the format description in
r300_translate_texformat and return ~0 if the format is unsupported.
|