| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
On some systems, putting vertex and index buffers in VRAM instead of GART
memory eliminates massive graphics corruption which is otherwise present,
due to unclear causes.
This patch adds an environment variable that does that, along with helpful
messages.
It turns it on by default on G7x, as it is what I am seeing corruption
on and some other reports also seemed to pinpoint these cards.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we allocate buffers in GART or VRAM at creation time.
However, when using swtnl, this results in reads from uncached
memory, which drastically impair performance.
So, for now, cause nouveau_screen.c to not pass any placement flags
to buffer creation, so that the buffers are moved later.
Previously libdrm itself did this, but was changed to not to do it.
This may introduce an extra copy in normal usage, but this currently
does not seem to introduce significant performance degradation.
This will be revisited when pipebuffer is integrated.
Note that for AGP systems, properly solving this may be complex
since currently there is no fast way of reading from GART/VRAM.
We will probably need to try mapping AGP as writethrough and, in
addition, make buffer creation more aware of future buffer usage.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Makefile
src/gallium/state_trackers/glx/xlib/xm_api.c
src/mesa/drivers/dri/intel/intel_blit.c
src/mesa/drivers/dri/intel/intel_pixel_copy.c
src/mesa/main/version.h
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
We had fast paths for PIPE_FUNC_LESS and LEQUAL before. To satisfy
OpenGL invariance rules, all depth compare modes should produce the
same fragment Z values.
Fixes progs/demos/singlebuffer.c
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently we are continuously spewing messages about these variables
since we call debug_get_bool_option everytime we want to check their value.
This is annoying, slows things down due to terminal rerendering
and obscures useful messages.
This patch only calls debug_get_bool_option once and caches the result in a
static variable.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch re-emits the viewport state on framebuffer or rasterizer
change.
This seems to be necessary on nv3x, but the reason is not fully
understood.
It is quite likely that this isn't really the correct fix, but seems
to work, and makes nv3x much better.
|
| | |
|
| |
| |
| |
| |
| | |
Those paths aren't important anymore, and a debugging warning won't stop
a hardlock anyway.
|
| |
| |
| |
| | |
The code was half converted, resulting in texturing being totally broken.
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/gallium/drivers/cell/ppu/cell_screen.c
src/mesa/state_tracker/st_cb_drawpixels.c
|
| |
| |
| |
| | |
Fixing RGBA 4ub vertex colors.
|
| |
| |
| |
| |
| | |
With this feature, we get OpenGL version 2.0 and the progs/glsl/
demos run as-is.
|
| |
| |
| |
| |
| | |
This fixes a regression from commit a84575cdc0c8193b2c7858734e2ec6b1ec4511b2
which changed the depth/stencil format we were trying to use.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
It requires DRM 2.1.0 (e.g. kernel 2.6.34) and is disabled on older ones.
Finally, the texture tiling implementation is now complete. Uff.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
There's still no hint of optimization in the shaders, but
we support conditionals, loops and even integer opcodes so
it isn't that big a lie.
|
| |
| |
| |
| | |
The vertex elements and buffers might not be valid anymore.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Relocations of per-screen buffers are now emitted directly,
and include the necessary method to get changes in constbuf
addresses committed to the hw.
It should also be a bit cheaper than the way stateobjs emit
relocation markers, use a little less pushbuf space.
|
| |
| |
| |
| | |
Not sure, but judging by softpipe, this hook was forgotten.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Okay need to revist the whole OQ stuff anyways, glean test asserts
which is never good.
I'm liking the cached bufmgr restrictions less and less, I think I'll
probably play with the fence and/or busy stuff ASAP and try and clean it up.
Signed-off-by: Dave Airlie <[email protected]>
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Seems like a decent idea, especially since the big barrier now is
getting the VBOs back from the VRAM boundary.
|
| |
| |
| |
| | |
Still not happy with this, but at least things seem to work.
|
| |
| |
| |
| |
| |
| |
| | |
I've no idea about the comments that were in there, just pass
this down to the winsys.
Signed-off-by: Dave Airlie <[email protected]>
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
I can't find the register bits for SRGB-aware blending and it's not even
exposed by fglrx so it's most probably not supported by hw.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The triangle rasterizer sets this field to indicate front/back-facing.
It gets passed into the generated fragment code as another parameter.
Used now for stencil front/back selection but will also be used for
fragment shaders in general (see TGSI_SEMANTIC_FACE).
With this commit two-sided stenciling mostly works but there's
still a bug or two...
|
| | |
|
| |
| |
| |
| | |
Instead of passing an array, just pass two scalar values.
|
| |
| |
| |
| | |
Fixes occasional bad tiles seen in some demos like progs/demos/reflect.c
|
| | |
|
| |
| |
| |
| |
| |
| | |
Most stencil demos look OK (modulo some unrelated rendering glitches).
Only single-sided stencil test works at this point.
There are probably some bugs to be found...
|
| | |
|
| | |
|
| | |
|
| | |
|