summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* r300g: fix up the CS size of the rasterizer stateMarek Olšák2010-06-191-2/+2
|
* graw: add two examples using new register filesZack Rusin2010-06-182-0/+24
|
* gallium: add a temporary array register fileZack Rusin2010-06-1810-131/+325
| | | | | | | | | | | | | | like normal temporaries, but allows to define a number of distinct arrays, all of which make it explicit that they contain /indexable/ registers. as a side-effect we're adding support for multi-dimensional destination registers. The whole thing looks like this: DCL TEMPX[0][0..128] # 0 array with 128 registers ADD TEMPX[0][0], IN[0], IMM[0] ADD TEMPX[0][1], IN[0], IMM[0] ABS OUT[0], TEMPX[0][TEMP[0]]
* gallium: add a new register file - immediate arrayZack Rusin2010-06-189-71/+240
| | | | | | allows one to specify a safe (bound checked) array filled with immediates. it works just like a const array and declares much like our current immediates.
* llvmpipe: Fix pointer dereference after free.José Fonseca2010-06-181-1/+2
|
* llvmpipe: limit the number of fragment shader variants kept aroundRoland Scheidegger2010-06-185-35/+107
| | | | | | | | | | | | | | | | | | llvmpipe can create a large number of shader variants for a single shader (which are quite big), and they were only ever deleted if the shader itself was deleted. This is especially apparent in things like glean blendFunc where a new variant is created for every different subtest, chewing up all memory. This change limits the numbers of fragment shader variants (for all shaders) which are kept around to a fixed number. If that would be exceeded a fixed portion of the cached variants is deleted (since without tracking the used variants this involves flushing we don't want to delete only one). Always the least recently used variants (from all shaders together) are deleted. For now this is all per-context. Both the number of how many variants are cached (1024) as well as how many will be deleted at once (1/4 of the cache size) are just rough guesses and subject to further optimization.
* r300g: fix hardlocks in occlusion queriesMarek Olšák2010-06-181-1/+1
| | | | | | | | Early Z test (=ZTOP) must be disabled before a query is started, otherwise the GPU is dead. The order of emitted registers matters more than you might think. This fixes hardlocks in sauerbraten.
* r300g: debug option for fake occlusion queriesMarek Olšák2010-06-183-6/+58
|
* draw: implement triangle strips with adjacency in geometry shaderZack Rusin2010-06-171-1/+12
|
* draw: implement triangle lists with adjacency support in gsZack Rusin2010-06-172-1/+31
|
* draw: fix a silly errorZack Rusin2010-06-171-1/+1
|
* draw: implement line strip adjacencyZack Rusin2010-06-171-0/+5
|
* draw: implement lines with adjacency in geometry shadersZack Rusin2010-06-172-18/+48
|
* draw: validate stream output buffersZack Rusin2010-06-171-1/+16
| | | | fixes a crash.
* draw: fix some unsigned issueZack Rusin2010-06-171-4/+4
| | | | spotted by Vinson
* egl: s/EGL_DISPLAY/EGL_PLATFORM/.Chia-I Wu2010-06-172-12/+12
| | | | | A platform is already used to mean a window system in EGL. No need to use a different term.
* r300g: more reasonable MSPOS defaults in error pathMarek Olšák2010-06-171-2/+2
|
* r300g: fix surface leaksMarek Olšák2010-06-171-0/+3
|
* gallium/docs: GLSL glossary entry.Corbin Simpson2010-06-161-0/+4
|
* gallium/docs: Explain DFRACEXP/DLDEXP.Corbin Simpson2010-06-161-5/+15
|
* gallium/docs: Remove unneeded "doubles", add double blurb.Corbin Simpson2010-06-161-13/+18
|
* gallium/docs: Label opcodes by capability bits.Corbin Simpson2010-06-161-9/+20
|
* gallium/docs: R and RG texture swizzles.Corbin Simpson2010-06-161-2/+2
| | | | | We *did* reach an agreement on this a few months ago, and now the docs reflect it. However, we never got around to UV and Z...
* gallium/docs: Flesh out the distro information.Corbin Simpson2010-06-162-10/+46
| | | | | I'm not sure I picked the best voice here. I might come back to this later.
* gallium/docs: Fix RST error.Corbin Simpson2010-06-161-1/+1
|
* r300g: Fix uninitialized variable warnings in error path.Vinson Lee2010-06-161-0/+2
|
* draw: make sure we correctly iterate over output buffers on stream outZack Rusin2010-06-161-5/+11
| | | | | we kept overwriting the first attribute of a vertex in a single-stream- out-buffer case
* graw: remove wrong testZack Rusin2010-06-161-23/+0
|
* draw: add stream output decomposition fileZack Rusin2010-06-161-0/+123
|
* draw: rewrite stream output to handle all the dark cornersZack Rusin2010-06-167-128/+196
| | | | | register masks, multiple output buffers, multiple primitives, non-linear vertices (elts) and stride semantics.
* translate: don't crash on elts paths with instancesZack Rusin2010-06-161-10/+13
|
* r300g: Fix up resolve.Corbin Simpson2010-06-161-12/+8
| | | | Yay for old code.
* r300g: Fix MSAA state size.Corbin Simpson2010-06-161-1/+1
|
* r300g: Don't multisample non-32-bpp render targets.Corbin Simpson2010-06-161-0/+6
|
* r300g: Finish resolve function.Corbin Simpson2010-06-161-6/+14
|
* r300g: Add resource resolve function.Corbin Simpson2010-06-161-0/+35
|
* r300g: Moar MSAA setup.Corbin Simpson2010-06-164-11/+63
| | | | Need to just add the resolve, then go switch to new DRM and test.
* r300g: Fix indentation.Corbin Simpson2010-06-161-4/+7
| | | | I could *not* let this slide since I'm on a 78-char-wide terminal.
* r300g: Old MSAA code from before gallium-msaa.Corbin Simpson2010-06-164-9/+15
|
* util: add alloc checkAlan Hourihane2010-06-161-0/+2
|
* draw: add alloc checkAlan Hourihane2010-06-161-0/+2
|
* draw: handle some out of memory conditionsAlan Hourihane2010-06-1612-35/+69
|
* graw: add a gs test for non-sequential inputsZack Rusin2010-06-162-10/+52
|
* draw: Remove unnecessary headers.Vinson Lee2010-06-152-2/+0
|
* gs: make sure we end primitives when finishing executing shadersZack Rusin2010-06-153-26/+23
|
* draw/gs: make sure gs works with elts and doesn't overrun the bufferZack Rusin2010-06-152-11/+43
|
* graw: test multiple cb's in geometry shadersZack Rusin2010-06-152-18/+82
|
* graw: fix setup for multiple constant buffersZack Rusin2010-06-152-21/+64
|
* draw: run the pipeline with the correct number of vertsZack Rusin2010-06-151-1/+1
| | | | verts per primitive, not total count
* draw: fix primitive indexing in the pipelineZack Rusin2010-06-151-2/+4
| | | | spotted by Keith