summaryrefslogtreecommitdiff
path: root/src/gallium
AgeCommit message (Collapse)Author
2010-06-18graw: add two examples using new register filesZack Rusin
2010-06-18gallium: add a temporary array register fileZack Rusin
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]]
2010-06-18gallium: add a new register file - immediate arrayZack Rusin
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.
2010-06-18llvmpipe: Fix pointer dereference after free.José Fonseca
2010-06-18llvmpipe: limit the number of fragment shader variants kept aroundRoland Scheidegger
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.
2010-06-18r300g: fix hardlocks in occlusion queriesMarek Olšák
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.
2010-06-18r300g: debug option for fake occlusion queriesMarek Olšák
2010-06-17draw: implement triangle strips with adjacency in geometry shaderZack Rusin
2010-06-17draw: implement triangle lists with adjacency support in gsZack Rusin
2010-06-17draw: fix a silly errorZack Rusin
2010-06-17draw: implement line strip adjacencyZack Rusin
2010-06-17draw: implement lines with adjacency in geometry shadersZack Rusin
2010-06-17draw: validate stream output buffersZack Rusin
fixes a crash.
2010-06-17draw: fix some unsigned issueZack Rusin
spotted by Vinson
2010-06-17egl: s/EGL_DISPLAY/EGL_PLATFORM/.Chia-I Wu
A platform is already used to mean a window system in EGL. No need to use a different term.
2010-06-17r300g: more reasonable MSPOS defaults in error pathMarek Olšák
2010-06-17r300g: fix surface leaksMarek Olšák
2010-06-16gallium/docs: GLSL glossary entry.Corbin Simpson
2010-06-16gallium/docs: Explain DFRACEXP/DLDEXP.Corbin Simpson
2010-06-16gallium/docs: Remove unneeded "doubles", add double blurb.Corbin Simpson
2010-06-16gallium/docs: Label opcodes by capability bits.Corbin Simpson
2010-06-16gallium/docs: R and RG texture swizzles.Corbin Simpson
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...
2010-06-16gallium/docs: Flesh out the distro information.Corbin Simpson
I'm not sure I picked the best voice here. I might come back to this later.
2010-06-16gallium/docs: Fix RST error.Corbin Simpson
2010-06-16r300g: Fix uninitialized variable warnings in error path.Vinson Lee
2010-06-16draw: make sure we correctly iterate over output buffers on stream outZack Rusin
we kept overwriting the first attribute of a vertex in a single-stream- out-buffer case
2010-06-16graw: remove wrong testZack Rusin
2010-06-16draw: add stream output decomposition fileZack Rusin
2010-06-16draw: rewrite stream output to handle all the dark cornersZack Rusin
register masks, multiple output buffers, multiple primitives, non-linear vertices (elts) and stride semantics.
2010-06-16translate: don't crash on elts paths with instancesZack Rusin
2010-06-16r300g: Fix up resolve.Corbin Simpson
Yay for old code.
2010-06-16r300g: Fix MSAA state size.Corbin Simpson
2010-06-16r300g: Don't multisample non-32-bpp render targets.Corbin Simpson
2010-06-16r300g: Finish resolve function.Corbin Simpson
2010-06-16r300g: Add resource resolve function.Corbin Simpson
2010-06-16r300g: Moar MSAA setup.Corbin Simpson
Need to just add the resolve, then go switch to new DRM and test.
2010-06-16r300g: Fix indentation.Corbin Simpson
I could *not* let this slide since I'm on a 78-char-wide terminal.
2010-06-16r300g: Old MSAA code from before gallium-msaa.Corbin Simpson
2010-06-16util: add alloc checkAlan Hourihane
2010-06-16draw: add alloc checkAlan Hourihane
2010-06-16draw: handle some out of memory conditionsAlan Hourihane
2010-06-16graw: add a gs test for non-sequential inputsZack Rusin
2010-06-15draw: Remove unnecessary headers.Vinson Lee
2010-06-15gs: make sure we end primitives when finishing executing shadersZack Rusin
2010-06-15draw/gs: make sure gs works with elts and doesn't overrun the bufferZack Rusin
2010-06-15graw: test multiple cb's in geometry shadersZack Rusin
2010-06-15graw: fix setup for multiple constant buffersZack Rusin
2010-06-15draw: run the pipeline with the correct number of vertsZack Rusin
verts per primitive, not total count
2010-06-15draw: fix primitive indexing in the pipelineZack Rusin
spotted by Keith
2010-06-15draw: finish the new pipeline setupZack Rusin
Keith came up with a new way of running the pipeline which involves passing a few info structs around (for fetch, vertices and prims) and allows us to correctly handle cases where we endup with multiple primitives generated by the pipeline itself.