summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
2010-10-08gallivm: Avoid control flow for two-sided stencil test.José Fonseca
2010-10-08llvmpipe: fix off-by-one in tri_16Keith Whitwell
2010-10-08llvmpipe: add rast_tri_4_16 for small lines and pointsKeith Whitwell
2010-10-08llvmpipe: clean up setup_tri a littleKeith Whitwell
2010-10-08llvmpipe: avoid overflow in triangle cullingKeith Whitwell
Avoid multiplying fixed-point values. Calculate triangle area in floating point use that for culling. Lift area calculations up a level as we are already doing this in the triangle_both() case. Would like to share the calculated area with attribute interpolation, but the way the code is structured makes this difficult.
2010-10-08llvmpipe: fail gracefully on oom in scene creationKeith Whitwell
2010-10-08r600g: drop width/height per level storage.Dave Airlie
these aren't used anywhere, so just waste memory.
2010-10-08r600g: add some RG texture format support.Dave Airlie
2010-10-07r600g: fix Z export enable bits.Dave Airlie
we should be checking output array not input to decide. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-07r600g: use format from the sampler view not from the texture.Dave Airlie
we want to use the format from the sampler view which isn't always the same as the texture format when creating sampler views.
2010-10-07r600g: fix evergreen interpolation setupAndre Maasikas
interp data is stored in gpr0 so first interp overwrote it and subsequent ones got wrong values reserve register 0 so it's not used for attribs. alternative is to interpolate attrib0 last (reverse, as r600c does)
2010-10-06llvmpipe: Cleanup depth-stencil clears.José Fonseca
Only cosmetic changes. No actual practical difference.
2010-10-06gallivm: Only apply min/max_lod when necessary.José Fonseca
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-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: drop use_mem_constant.Dave Airlie
since we plan on using dx10 constant buffers everywhere.
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: 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: 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-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: 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: 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.
2010-10-01r600g: realign evergreen code with r600 code.Dave Airlie
fixes segfault in depth-tex-modes-glsl and OA startup.
2010-10-01r600g: add reloc for evergreen color attribDave Airlie
we'll need this for color tiling on evergreen.
2010-10-01r600g: drop depth quirk on evergreenDave Airlie
none of the EG cards need the quirk.
2010-10-01r600g: add winsys support for CTL constants.Dave Airlie
These need to be emitted, we also need them to do proper vtx start, instead of abusing index offset.
2010-10-01r600g: fix evergreen depth flushing.Dave Airlie
although evergreen can apparantly sample direct from 24-bit, just make it work with the current method for now.
2010-09-30r600g: fix constant & literal src splitting, also fix mplayer gl2 shaderJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-09-30r600g: use constant buffer instead of register for constantJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-09-30gallium/softpipe: remove duplicated includeNicolas Kaiser
Remove duplicated include. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-09-30gallium/llvmpipe: remove duplicated includeNicolas Kaiser
Remove duplicated include. Signed-off-by: Brian Paul <brianp@vmware.com>