Age | Commit message (Collapse) | Author |
|
This is preparation for merging of brw_wm_glsl.c and
brw_wm_emit.c, and glsl.c doesn't swizzle channel results around.
|
|
This doesn't fix the glean testcase, but I guess it provides hope.
|
|
|
|
No performance difference proven at 95% confidence with my GLSL demo (n=10).
|
|
|
|
|
|
|
|
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
|
|
This saves mapping the index buffer to get a bounds on the indices that
drivers just drop on the floor in the VBO case (cache win), saves a bonus
walk of the indices in the CheckArrayBounds case, and other miscellaneous
validation. On intel it's a particularly a large win (50-100% in my app)
because even though we let the indices stay in both CPU and GPU caches, we
still end up waiting for the GPU to be done with the buffer before reading
from it.
Drivers that want the min/max_index fields must now check index_bounds_valid
and use vbo_get_minmax_index before using them.
|
|
|
|
|
|
Reference counting protects DRM lock call from recursive locking that would
cause hang. Code also adds optional debugging output for recursive call that
is compiled only if NDEBUG is not defined.
This code is not 100% thread safe because mesa doesn't include increment and
test atomic operation. There is built-in gcc functions but they are only
available from gcc 4.2.
|
|
|
|
|
|
|
|
|
|
NOTE: THIS REQUIRES AN UPDATED DRM!
|
|
|
|
|
|
glCopyPixels() no longer hits a software fallback when zooming, blending, etc.
|
|
Also, save/restore viewport and texture state in _mesa_meta_copy_pixels()
|
|
possible
|
|
|
|
|
|
|
|
The previous version of framebuffer blit was a quick hack. The new meta
version works pretty well.
|
|
Implement glClear() in terms of quad rendering, implement glBlitFramebuffer()
in terms of glCopyTexImage2D + textured quad, etc.
There have been several places in the drivers where we've implemented
meta rendering similar to this. This is an effort to do it in a more
portable and more efficient form.
The _mesa_meta_begin/end() functions act like glPush/PopAttrib() but are
lighter-weight. Plus, _mesa_meta_begin() resets GL state back to default
values (texturing off, identity vertex transform, etc) so the meta drawing
functions don't have to worry about it.
For now only _mesa_mesa_blit_framebuffer() and _mesa_meta_clear() are
implemented. glDrawPixels() and glCopyPixels() would be the next candidates.
|
|
|
|
|
|
|
|
This patch can fix /progs/fp/tri-depth, tri-depth2, tri-depthwrite,
tri-depthwrite2 and point-position.
|
|
This reverts commit b8e638d4895d2d342306bb6443a455f73903ce20.
Now that the known hangs and misrendering issues are fixed, I'm ready to
start encouraging it by default again.
|
|
Otherwise, we would address beyond the end of our buffers. Fixes reliable
GPU segfault with texture_tiling=true and oglconform shadow.c.
Bug #22406.
|
|
|
|
|
|
This showed a 1.9% (+/-.3%, n=3) improvement in OA performance with high
geometry settings.
|
|
|
|
I have no idea why this fixes things, but being more efficient sounds good
anyway. Fixes regression in 99d07d0f91ddd37926d08f4e7f10d55cac28d9a7
where most of the lit half of the world was not drawn.
|
|
|
|
This fixes crash in r200 KMS driver when pSAREA was set to 1 randomly because of memory wasn't cleared.
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
|
|
|
|
|
|
|
|
|
|
Only really got good testing on r500 so far, need to enable in
DDX and play some more.
|
|
this should only really affect DRI2 since we mostly have a surface in DRI1.
I don't think this is perfect yet, but it is a better start than nothing.
|
|
|
|
Got tired of seeing these files in git status all the time
|
|
For some IZ setups, we'd forget to account for the source depth register
being present, so we'd both read the wrong reg, and write output depth to
the wrong reg.
Bug #22603.
|
|
Conflicts:
src/mesa/main/state.c
|