summaryrefslogtreecommitdiff
path: root/src/i965_render.c
AgeCommit message (Collapse)Author
2008-08-14Map/unmap render state only when bo is availableJesse Barnes
Otherwise just use the GTT address.
2008-08-12Map gen4 render state buffer before initializingJesse Barnes
2008-08-06Revert "Switch to using a buffer object for the vertex buffer"Jesse Barnes
This reverts commit 1abf4d3a7a203ff5d6e5ceda29573e7fd69ddf8e. Conflicts: src/i965_render.c - flushing was removed, keep it that way
2008-08-05Merge branch 'drm-gem' of ↵Jesse Barnes
ssh://git.freedesktop.org/git/xorg/driver/xf86-video-intel into drm-gem
2008-07-31Eliminate unnecessary flush from i965_compositeCarl Worth
This improves 'x11perf -aa10text' performance from ~144k to ~169k
2008-07-31Switch to using a buffer object for the vertex bufferCarl Worth
2008-07-23shut up gcc warningZhenyu Wang
2008-07-12Use up to 256 separate vertex buffersCarl Worth
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).
2008-07-12Allow for multiple vertex buffers (though only use one for now)Carl Worth
Using more than one (in the future) will allow for doing less frequent calls to i830WaitSync.
2008-07-12Move VERTEX_BUFFERS setup from prepare_composite to compositeCarl Worth
This is in preparation for having larger (or multiple) vertex buffers in the future.
2008-07-03Fix official name for GM45 chipsetZhenyu Wang
2008-06-17Add support for Intel 4 series chipsets.Zhenyu Wang
2008-05-08Fix i965 render getting dest format errorZhenyu Wang
Depend on value returned by function within assert is wrong. Fixed weird render corrupt on i965.
2008-04-17Make the binding table and surface state be arrays to reduce syncing.Eric Anholt
2008-04-14Abstract surface setup into a separate function.Eric Anholt
2008-04-14Move the vertex buffer to the state structure as well.Eric Anholt
2008-04-14Move the binding table for 965 to the state structure.Eric Anholt
2008-04-14Move the 965 static variables local to the function they're used in.Eric Anholt
2008-04-14Make the VS unit state static for 965 render.Eric Anholt
2008-04-14Rename some variables in i965_render.c for clarity.Eric Anholt
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).
2008-04-14Associate one sf_state object with each sf_kernelCarl Worth
(cherry picked from a2b5c23184d19b386fdfd04f578a55566df60132 commit)
2008-04-13Move wm_scratch first to meet alignment requirementsKeith Packard
2008-04-11Fix the offset to sampler default color, and a compiler warning.Eric Anholt
2008-04-11Enumerate all possible wm_state objectsCarl Worth
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.
2008-04-11Enumerate all possible src,mask sampler state pairsCarl Worth
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)
2008-04-10Enumerate all possible cc_state objectsCarl Worth
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%.
2008-04-10Revert "Compute pixel values directly into data port"Keith Packard
This reverts commit 346cf57deabb4c336612df4c13650a87b5ef6775. Mixing randr transforms and video caused screen corruption for Render operations. No, I don't understand why.
2008-04-10Compute pixel values directly into data portKeith Packard
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).
2008-04-10Statically allocate the sampler default color, which we never change.Eric Anholt
Performance change is in the noise. Also from Carl Worth.
2008-04-10Add copyright information for recent editors of this file.Eric Anholt
2008-04-10Keep static copies of the 965 render programs in video memory.Eric Anholt
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.
2008-04-01Remove extra flushingKeith Packard
2008-04-01Add projective versions of the PS kernelsKeith Packard
2008-04-01Shrink WM thread to 32 registers and 1024 scratch space.Keith Packard
Saving registers means we can run more in parallel.
2008-03-31Fix composite with mask using new compositing thread codeKeith Packard
Clean up register allocation to never overlap Always write 4 values for each texture vertex.
2008-03-31Back to new shaders, fix urb read lengthKeith Packard
2008-03-31Use m4 to clean up gen4 asm progs. Start adding projective transform support.Keith Packard
Use macros for register names, modularize functions into separate files.
2008-03-30Reimplement wm program for nomask case to handle affine transformsKeith Packard
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).
2008-03-21Transformed coord computed using floats. Don't move bilinear composite dst.Keith Packard
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.
2008-03-188xx/9xx can handle textures to 2kx2k. 965 can do 8kx8kKeith Packard
2008-03-14Change OUT_RING and similar calls to OUT_BATCH for batchbuffer mergeEric Anholt
2008-03-11Remove i830+ driver's use of CARD*/INT* types for great justice.Eric Anholt
Several uses are actually left, which are determined by the X Server interfaces we're implementing.
2008-03-11Silence warnings about possible uninitialize use of dst_format.Kristian Høgsberg
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.
2008-01-09Update PIPELINE_SELECT instruction and surface state format for new chipsetZhenyu Wang
2007-08-10Tiling fixes for 965Jesse Barnes
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.
2007-08-09i965: increase composite vertex buffer size and alignment to be safeDave Airlie
2007-08-09i965: fix memcpy of the sf_kernel when a mask is neededDave Airlie
2007-08-08Allow 965 composite acceleration to A8 destinations.Carl Worth
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.
2007-06-27EXA: fallback mask transform on i965Wang Zhenyu
It needs to fix shader programs which hasn't been done yet.
2007-06-25Use local structures for vs_state, sf_state, and wm_stateCarl Worth