summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* i965: Refactor gl_FrontFacing setup out of general variable setup.Eric Anholt2010-10-061-22/+31
|
* i965: Gen6's sampler messages are the same as Ironlake.Eric Anholt2010-10-061-1/+1
| | | | This should fix texturing in the new FS backend.
* i965: Don't do 1/w multiplication in new FS for gen6Eric Anholt2010-10-061-6/+8
| | | | Not needed now that we're doing barycentric.
* i965: Add some clarification of the WECtrl field.Eric Anholt2010-10-062-4/+21
|
* i965: Fix botch in the header_present case in the new FS.Eric Anholt2010-10-061-0/+1
| | | | | I only set it on the color_regions == 0 case, missing the important case, causing GPU hangs on pre-gen6.
* llvmpipe: Cleanup depth-stencil clears.José Fonseca2010-10-063-15/+34
| | | | Only cosmetic changes. No actual practical difference.
* util: Cleanup util_pack_z_stencil and friends.José Fonseca2010-10-061-22/+28
| | | | | | | | | | | - Handle PIPE_FORMAT_Z32_FLOAT packing correctly. - In the integer version z shouldn't be passed as as double. - Make it clear that the integer versions should only be used for masks. - Make integer type sizes explicit (uint32_t for now, although uint64_t will be necessary later to encode f32_s8_x24).
* gallivm: Compute lod as integer whenever possible.José Fonseca2010-10-064-95/+158
| | | | | More accurate/faster results for PIPE_TEX_MIPFILTER_NEAREST. Less FP <-> SI conversion overall.
* gallivm: Only apply min/max_lod when necessary.José Fonseca2010-10-063-15/+42
|
* gallivm: don't apply zero lod_biasKeith Whitwell2010-10-062-1/+7
|
* gallivm: Combined ifloor & fract helper.José Fonseca2010-10-064-28/+65
| | | | The only way to ensure we don't do redundant FP <-> SI conversions.
* gallivm: Fast implementation of iround(log2(x))José Fonseca2010-10-062-0/+39
| | | | Not tested yet, but should be correct.
* gallivm: Use a faster (and less accurate) log2 in lod computation.José Fonseca2010-10-063-0/+53
|
* gallivm: Take the type signedness in consideration in round/ceil/floor.José Fonseca2010-10-061-48/+59
|
* i965: Fix up IF/ELSE/ENDIF for gen6.Eric Anholt2010-10-063-24/+79
| | | | | | The jump delta is now in the part of the instruction where the destination fields used to be, and the src args are ignored (or not, for the new non-predicated IF that we don't use yet).
* i965: Gen6 no longer has the IFF instruction; always use IF.Eric Anholt2010-10-061-3/+5
|
* i965: Add back gen6 headerless FB writes to the new FS backend.Eric Anholt2010-10-061-11/+32
| | | | It's not that hard to detect when we need the header.
* r600g: fix dirty state handlingJerome Glisse2010-10-063-7/+7
| | | | | | Avoid having object ending up in dead list of dirty object. Signed-off-by: Jerome Glisse <[email protected]>
* i965: Also do constant propagation for the second operand of CMP.Eric Anholt2010-10-061-0/+5
| | | | | We could do the first operand as well by flipping the comparison, but this covered several CMPs in code I was looking at.
* i965: Enable the constant propagation code.Eric Anholt2010-10-061-2/+0
| | | | A debug disable had slipped in.
* r600g: avoid segfault due to unintialized list pointerJerome Glisse2010-10-062-7/+9
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* llvmpipe: Fix sprite coord perspective interpolation of Q.José Fonseca2010-10-061-9/+3
| | | | | Q coordinate's coefficients also need to be multiplied by w, otherwise it will have 1/w, causing problems with TXP.
* llvmpipe: Fix perspective interpolation for point sprites.José Fonseca2010-10-061-17/+54
| | | | | | | | | | | 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.
* llvmpipe: Dump a few missing shader key flags.José Fonseca2010-10-061-0/+7
|
* llvmpipe: make debug_fs_variant respect variant->nr_samplersKeith Whitwell2010-10-061-25/+23
|
* retrace: Handle clear_render_target and clear_depth_stencil.José Fonseca2010-10-061-0/+9
|
* r600g: add evergreen stencil support.Dave Airlie2010-10-062-2/+24
| | | | this sets the stencil up for evergreen properly.
* r600g: userspace fence to avoid kernel call for testing bo busy statusJerome Glisse2010-10-056-47/+103
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* st/mesa: replace assertion w/ conditional in framebuffer invalidationBrian Paul2010-10-051-2/+11
| | | | | | https://bugs.freedesktop.org/show_bug.cgi?id=30632 NOTE: this is a candidate for the 7.9 branch.
* r600g: simplify block relocationJerome Glisse2010-10-053-12/+9
| | | | | | | Since flush rework there could be only one relocation per register in a block. Signed-off-by: Jerome Glisse <[email protected]>
* r600g: use dirty list to track dirty blocksBas Nieuwenhuizen2010-10-054-8/+33
| | | | 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.
* nv50: fix always true conditional in shader optimizationNicolas Kaiser2010-10-051-1/+1
|
* r600g: improve bo flushingJerome Glisse2010-10-054-822/+825
| | | | | | | | | 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 <[email protected]>
* r600g: store reloc information in bo structureJerome Glisse2010-10-052-23/+16
| | | | | | | Allow fast lookup of relocation information & id which was a CPU time consumming operation. Signed-off-by: Jerome Glisse <[email protected]>
* pb: fix numDelayed accountingDave Airlie2010-10-051-0/+1
| | | | we weren't decreasing when removing from the list.
* r600g: avoid unneeded bo waitDave Airlie2010-10-051-1/+5
| | | | | | 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.
* r600g: drop use_mem_constant.Dave Airlie2010-10-059-14/+3
| | | | since we plan on using dx10 constant buffers everywhere.
* r600g: drop mman allocatorDave Airlie2010-10-053-8/+1
| | | | we don't use this since constant buffers are now being used on all gpus.
* r600g: add bo busy backoff.Dave Airlie2010-10-052-0/+15
| | | | | | 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.
* pb: don't keep checking buffers after first busyDave Airlie2010-10-051-13/+19
| | | | | 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.
* r600g: add bo fenced list.Dave Airlie2010-10-053-0/+43
| | | | | this just keeps a list of bos submitted together, and uses them to decide bo busy state for the whole group.
* swrast: fix choose_depth_texture_level() to respect mipmap filtering stateBrian Paul2010-10-041-5/+10
| | | | NOTE: this is a candidate for the 7.9 branch.
* r300g: fix microtiling for 16-bits-per-channel formatsMarek Olšák2010-10-051-3/+3
| | | | | | 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.
* i965: Add support for gen6 FB writes to the new FS.Eric Anholt2010-10-042-3/+22
| | | | | This uses message headers for now, since we'll need it for MRT. We can cut out the header later.
* i965: In disasm, gen6 fb writes don't put msg reg # in destreg_conditionalmod.Eric Anholt2010-10-041-1/+1
| | | | It instead sensibly appears in the src0 slot.
* i965: Add initial folding of constants into operand immediate slots.Eric Anholt2010-10-041-0/+90
| | | | | | We could try to detect this in expression handling and do it proactively there, but it seems like less logic to do it in one optional pass at the end.
* i965: Add trivial dead code elimination in the new FS backend.Eric Anholt2010-10-041-2/+50
| | | | | | | The glsl core should be handling most dead code issues for us, but we generate some things in codegen that may not get used, like the 1/w value or pixel deltas. It seems a lot easier this way than trying to work out up front whether we're going to use those values or not.
* i965: Be more conservative on live interval calculation.Eric Anholt2010-10-041-3/+11
| | | | This also means that our intervals now highlight dead code.
* r600g: Fix SCons build.Vinson Lee2010-10-041-1/+1
|
* r600g: remove dead label & fix indentationJerome Glisse2010-10-041-11/+9
| | | | Signed-off-by: Jerome Glisse <[email protected]>