summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-17linker: Add some function header commentsIan Romanick
2010-06-17TODO: Add note about initializers for constantsIan Romanick
2010-06-17Allow initializers for uniformsIan Romanick
2010-06-17Don't link shaders by defaultIan Romanick
Add a command line option to trigger linking. This "fixes" all the failing test cases. Oops.
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-17linker: Initial bits of the linkerIan Romanick
No linking is done yet, but some of the semantic checking is done.
2010-06-17Use glsl_program instead of an open-coded vector of shadersIan Romanick
2010-06-17Add glsl_program that is similar to Mesa's gl_shader_programIan Romanick
2010-06-17Change glsl_program to glsl_shaderIan Romanick
2010-06-17Compile multiple shaders listed on the command lineIan Romanick
2010-06-17Extract compilation to a separate routineIan Romanick
Pull all of the code that actually compiles shaders into a separate function. Use a glsl_program to track data about the compiled shader.
2010-06-17Add glsl_program that is similar to Mesa's gl_programIan Romanick
This will be used as the header for individual compilation units.
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-17egl: s/_EGL_PLATFORM/_EGL_OS/ and s/POSIX/UNIX/.Chia-I Wu
A platform means a native window system in EGL. Use OS that follows Gallium instead.
2010-06-17st/egl: Build sw/fbdev winsys for fbdev backend.Chia-I Wu
Target egl_fbdev_swrast.so needs sw/fbdev/libfbdev.a.
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-16intel: Remove unnecessary headers.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