summaryrefslogtreecommitdiff
path: root/src/gallium
AgeCommit message (Collapse)Author
2010-10-06gallivm: Fast implementation of iround(log2(x))José Fonseca
Not tested yet, but should be correct.
2010-10-06gallivm: Use a faster (and less accurate) log2 in lod computation.José Fonseca
2010-10-06gallivm: Take the type signedness in consideration in round/ceil/floor.José Fonseca
2010-10-06r600g: fix dirty state handlingJerome Glisse
Avoid having object ending up in dead list of dirty object. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-06r600g: avoid segfault due to unintialized list pointerJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-06llvmpipe: Fix sprite coord perspective interpolation of Q.José Fonseca
Q coordinate's coefficients also need to be multiplied by w, otherwise it will have 1/w, causing problems with TXP.
2010-10-06llvmpipe: Fix perspective interpolation for point sprites.José Fonseca
Once a fragment is generated with LP_INTERP_PERSPECTIVE set for an input, it will do a divide by w for that input. Therefore it's not OK to treat LP_INTERP_PERSPECTIVE as LP_INTERP_LINEAR or vice-versa, even if the attribute is known to not vary. A better strategy would be to take the primitive in consideration when generating the fragment shader key, and therefore avoid the per-fragment perspective divide.
2010-10-06llvmpipe: Dump a few missing shader key flags.José Fonseca
2010-10-06llvmpipe: make debug_fs_variant respect variant->nr_samplersKeith Whitwell
2010-10-06retrace: Handle clear_render_target and clear_depth_stencil.José Fonseca
2010-10-06r600g: add evergreen stencil support.Dave Airlie
this sets the stencil up for evergreen properly.
2010-10-05r600g: userspace fence to avoid kernel call for testing bo busy statusJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-05r600g: simplify block relocationJerome Glisse
Since flush rework there could be only one relocation per register in a block. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-05r600g: use dirty list to track dirty blocksBas Nieuwenhuizen
Got a speed up by tracking the dirty blocks in a seperate list instead of looping through all blocks. This version should work with block that get their dirty state disabled again and I added a dirty check during the flush as some blocks were already dirty.
2010-10-05nv50: fix always true conditional in shader optimizationNicolas Kaiser
2010-10-05r600g: improve bo flushingJerome Glisse
Flush read cache before writting register. Track flushing inside of a same cs and avoid reflushing same bo if not necessary. Allmost properly force flush if bo rendered too and then use as a texture in same cs (missing pipeline flush dunno if it's needed or not). Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-05r600g: store reloc information in bo structureJerome Glisse
Allow fast lookup of relocation information & id which was a CPU time consumming operation. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-05pb: fix numDelayed accountingDave Airlie
we weren't decreasing when removing from the list.
2010-10-05r600g: avoid unneeded bo waitDave Airlie
if we know the bo has gone not busy, no need to add another bo wait thanks to Andre (taiu) on irc for pointing this out.
2010-10-05r600g: drop use_mem_constant.Dave Airlie
since we plan on using dx10 constant buffers everywhere.
2010-10-05r600g: drop mman allocatorDave Airlie
we don't use this since constant buffers are now being used on all gpus.
2010-10-05r600g: add bo busy backoff.Dave Airlie
When we go to do a lot of bos in one draw like constant bufs we need to avoid bouncing off the busy ioctl, this mitigates by backing off on busy bos for a short amount of times.
2010-10-05pb: don't keep checking buffers after first busyDave Airlie
If we assume busy buffers are added to the list in order its unlikely we'd fine one after the first busy one that isn't busy.
2010-10-05r600g: add bo fenced list.Dave Airlie
this just keeps a list of bos submitted together, and uses them to decide bo busy state for the whole group.
2010-10-05r300g: fix microtiling for 16-bits-per-channel formatsMarek Olšák
These texture formats (like R16G16B16A16_UNORM) were untested until now because st/mesa doesn't use them. I am testing this with a hacked st/mesa here.
2010-10-04r600g: Fix SCons build.Vinson Lee
2010-10-04r600g: remove dead label & fix indentationJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-04r600g: rename radeon_ws_bo to r600_boJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-04r600g: use r600_bo for relocation argument, simplify codeJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-04r600g: allow r600_bo to be a sub allocation of a big boJerome Glisse
Add bo offset everywhere needed if r600_bo is ever a sub bo of a bigger bo. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-04r600g: rename radeon_ws_bo to r600_boJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-04nvfx: Pair os_malloc_aligned() with os_free_aligned().Krzysztof Smiechowicz
From AROS.
2010-10-04r600g: TODO domain managementDave Airlie
no wonder it was slow, the code is deliberately forcing stuff into GTT, we used to have domain management but it seems to have disappeared.
2010-10-04r600g: fix wwarning in bo_map functionDave Airlie
2010-10-04r600g: the code to check whether a new vertex shader is needed was wrongDave Airlie
this code was memcmp'ing two structs, but refcounting one of them afterwards, so any subsequent memcmp was never going to work. again this stops unnecessary uploads of vertex program,
2010-10-04r600g: break out of search for reloc bo after finding it.Dave Airlie
this function was taking quite a lot of pointless CPU.
2010-10-02r300g: add support for L8A8 colorbuffersMarek Olšák
Blending with DST_ALPHA is undefined. SRC_ALPHA works, though. I bet some other formats have similar limitations too.
2010-10-02r300g: add support for R8G8 colorbuffersMarek Olšák
The hw swizzles have been obtained by a brute force approach, and only C0 and C2 are stored in UV88, the other channels are ignored. R16G16 is going to be a lot trickier.
2010-10-01r600g: Remove unnecessary headers.Vinson Lee
2010-10-01r600g: Remove unused variable.Vinson Lee
Fixes this GCC warning. r600_shader.c: In function 'tgsi_split_literal_constant': r600_shader.c:818: warning: unused variable 'index'
2010-10-01i965g: use Elements macro instead of manual sizeofsNicolas Kaiser
Signed-off-by: Nicolas Kaiser <nikai@nikai.net> Signed-off-by: Brian Paul <brianp@vmware.com>
2010-10-01r600g: indentation fixesJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-10-01r600g: setup basic loop consts on r600 + evergreen.Dave Airlie
this sets up a single loop constant like r600c does.
2010-10-01r600g: only set the Z export if shader exports it.Dave Airlie
2010-10-01r600g: flush SH cache on constant change on evergreenDave Airlie
2010-10-01r600g: fix evergreen draw-buffersDave Airlie
just a typo in the register headers.
2010-10-01r600g: add cb flushing for extra buffers + depth buffer on r600/evergreenDave Airlie
2010-10-01r600g: sync vertex/texture cache on resources on evergreenDave Airlie
this gets rid of lots of the instability on evergreen, which isn't surprising since it really broken not to flush caches.
2010-10-01r600g: fixup vertex format picking.Dave Airlie
there are some vertex formats defined in r600c not in the docs.
2010-10-01r600g: add assembler support for other vtx fetch fields.Dave Airlie
this shouldn't change behaviour, just push the choice of what to do out to the shader.