Age | Commit message (Collapse) | Author |
|
Otherwise just use the GTT address.
|
|
|
|
This reverts commit 1abf4d3a7a203ff5d6e5ceda29573e7fd69ddf8e.
Conflicts:
src/i965_render.c - flushing was removed, keep it that way
|
|
ssh://git.freedesktop.org/git/xorg/driver/xf86-video-intel into drm-gem
|
|
This improves 'x11perf -aa10text' performance from ~144k to ~169k
|
|
|
|
|
|
This allows us to only call i830WaitSync once every 128 calls to composite
rather than on every call. However, we do need to also call MI_FLUSH to
avoid the vertex cache getting in our way, (since our "separate" buffers
are all allocated as one contiguous chunk).
|
|
Using more than one (in the future) will allow for doing less frequent calls
to i830WaitSync.
|
|
This is in preparation for having larger (or multiple) vertex buffers
in the future.
|
|
|
|
|
|
Depend on value returned by function within assert is wrong.
Fixed weird render corrupt on i965.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The gen4_render_state is now always called "render_state" (i965_render.c
bookkeeping) and gen4_state_t is now always called "card_state" (the buffer
for state used by the chip).
|
|
(cherry picked from a2b5c23184d19b386fdfd04f578a55566df60132 commit)
|
|
|
|
|
|
We have a collection of wm_state objects for each ps kernel,
(one for each combination of src and mask extend and repeat
values).
Thanks to Dave Airlie for noticing an errant write through a
wild wm_state pointer in an early version of this commit.
(cherry picked from 7763706a93d3021907273f9b330750ba110e2fc3 commit)
This cherry-pick required more reformatting than most, due to the
projective texturing merge.
|
|
This will eventually allow for the elimination of sampler state
updates while compositing---and initializing everything in the
initialization function.
(cherry picked from commit d0874697be8086cd64740c24698df8cd4d31c76f)
|
|
We need one for each possible combination of src and dst
blend_factors. Again, as with recent changes, this eliminates
state updates from prepare_composite and allows that function
to instead simply reference an existing object initialized
within gen4_state_init.
Thanks to Dave Airlie (and git-bisect) for pointing out that with
gnome-terminal all text was appearing as solid black with an early
version of this commit. As expected the bug was an alignment issue.
(cherry picked from 0c0ab52c2d100c47f38c7ef826ef585c8b9815e9 commit)
Performance is approximately equivalent on text tests, but may be
around +2%.
|
|
This reverts commit 346cf57deabb4c336612df4c13650a87b5ef6775.
Mixing randr transforms and video caused screen corruption for Render
operations. No, I don't understand why.
|
|
Instead of leaving pixel values in src_sample registers, compute the pixel
values directl to the data port to save 8 moves. This cannot work when no
computation is done as there is both no way to wait for the sampler to
finish and because the sampler returns data in a different order from that
required by the data port (sigh).
|
|
Performance change is in the noise. Also from Carl Worth.
|
|
|
|
This reduces the CPU overhead of memcpying them in every time, for a speedup
in aa24text of around 30%. This is based on work by Carl Worth which is
in the intel-batchbuffer branch.
|
|
|
|
|
|
Saving registers means we can run more in parallel.
|
|
Clean up register allocation to never overlap
Always write 4 values for each texture vertex.
|
|
|
|
Use macros for register names, modularize functions into separate files.
|
|
This involves correctly computing u/v locations based on x/y vectors and
line constants computed in new sf program.
Also, use fewer instructions to make this go a bit faster (2X for 500x500
composite).
|
|
The homogeneous coordinate computation in the core server cannot be used for
many legal matrices as it overflows. Just use floats in the driver; faster
and avoids troubles.
When compositing with bilinear filter, don't push the dst coordinates around
as that makes the output blurry when pixels are aligned.
|
|
|
|
|
|
Several uses are actually left, which are determined by the X Server
interfaces we're implementing.
|
|
Whoa, gcc got a lot smarter about warnings. If iXXX_get_dest_format()
doesn't support the picture format passed in it won't initialize the
uint32_t pointed to by dst_format and return FALSE.
What gcc now can detect is if dst_format is used without checking the
return value, it might be used uninitialized. This patch makes sure
we always check the return value before using dst_format.
|
|
|
|
This should be close to the last set of tiling fixes for 965 chipsets.
Prior to this commit, the 965 composite hook didn't take tiling into
account, nor did 965 textured video, which caused display corruption.
However, there seems to be at least one last bug to squash--on occasion,
a configuration with tiling enabled won't properly display text. This
is likely another tiling related problem with the composite hook.
|
|
|
|
|
|
Note that this is a slowdown in text rendering due to the high overhead of our
compositing setup, but appears to be correct according to rendercheck.
|
|
It needs to fix shader programs which hasn't been done yet.
|
|
|