Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-06-18 | llvmpipe: Fix pointer dereference after free. | José Fonseca | |
2010-06-18 | llvmpipe: limit the number of fragment shader variants kept around | Roland 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-18 | r300g: fix hardlocks in occlusion queries | Marek 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-18 | r300g: debug option for fake occlusion queries | Marek Olšák | |
2010-06-17 | r300g: more reasonable MSPOS defaults in error path | Marek Olšák | |
2010-06-17 | r300g: fix surface leaks | Marek Olšák | |
2010-06-16 | r300g: Fix uninitialized variable warnings in error path. | Vinson Lee | |
2010-06-16 | draw: rewrite stream output to handle all the dark corners | Zack Rusin | |
register masks, multiple output buffers, multiple primitives, non-linear vertices (elts) and stride semantics. | |||
2010-06-16 | r300g: Fix up resolve. | Corbin Simpson | |
Yay for old code. | |||
2010-06-16 | r300g: Fix MSAA state size. | Corbin Simpson | |
2010-06-16 | r300g: Don't multisample non-32-bpp render targets. | Corbin Simpson | |
2010-06-16 | r300g: Finish resolve function. | Corbin Simpson | |
2010-06-16 | r300g: Add resource resolve function. | Corbin Simpson | |
2010-06-16 | r300g: Moar MSAA setup. | Corbin Simpson | |
Need to just add the resolve, then go switch to new DRM and test. | |||
2010-06-16 | r300g: Fix indentation. | Corbin Simpson | |
I could *not* let this slide since I'm on a 78-char-wide terminal. | |||
2010-06-16 | r300g: Old MSAA code from before gallium-msaa. | Corbin Simpson | |
2010-06-15 | softpipe/gs: fix a crash when a gs isn't present | Zack Rusin | |
2010-06-14 | r300g: initialize US_CODE_BANK on r4xx | Marek Olšák | |
2010-06-14 | r300g: fix uploading RC state shader constants on r3xx | Marek Olšák | |
I've messed this up in one of my previous commits. Reported-by: Igor Murzov | |||
2010-06-14 | r300g: drop begin_cs/end_cs | Marek Olšák | |
I have had a look at the libdrm sources and they just contain more or less the same checking we do in macros, and begin_cs may realloc the CS buffer if we overflow it, which never happens with r300g. So these are pretty much useless. There is a small but measurable performance increase by dropping the two functions. | |||
2010-06-14 | r300g: rewrite occlusion queries | Marek Olšák | |
The previous implementation had issues with queries spanning over several command streams as well as using a very large number of queries. This fixes flickering in Enemy Territory: Quake Wars. The driver now renders everything correctly in this game and the graphics is awesome. | |||
2010-06-14 | r300g: emit viewport state as a dword table | Marek Olšák | |
2010-06-14 | r300g: subclass pipe_surface | Marek Olšák | |
2010-06-14 | r300g: simplify reloc macros | Marek Olšák | |
2010-06-14 | r300g: count CS dwords on debug builds only | Marek Olšák | |
2010-06-13 | r300g: optimize emission of fragment shader constants | Marek Olšák | |
2010-06-13 | r300g: turn fragment shader into a CB | Marek Olšák | |
2010-06-13 | r300g: turn depth stencil state into a CB | Marek Olšák | |
2010-06-13 | r300g: turn clip state into a CB | Marek Olšák | |
2010-06-13 | r300g: turn blend color into a CB | Marek Olšák | |
2010-06-13 | r300g: turn blend state into a CB | Marek Olšák | |
2010-06-13 | r300g: add API for building command buffers | Marek Olšák | |
The idea is to build a hardware command buffer for every CSO and memcpy the buffer to a command stream at bind time (or dirty-state-emission time, to be precise). | |||
2010-06-13 | r300g: inline FLUSH_CS | Marek Olšák | |
The fewer macros, the better. | |||
2010-06-13 | r300g: reorder CS macros and document them a little | Marek Olšák | |
2010-06-13 | r300g: drop DBG_CS | Marek Olšák | |
I'd like the CS macros to be as lightweight as possible for performance reasons. | |||
2010-06-13 | r300g: inline CHECK_CS | Marek Olšák | |
2010-06-13 | r300g: replace r300_cs_info with simplier get_cs_free_dwords | Marek Olšák | |
2010-06-13 | r300g: fix multiple render targets | Marek Olšák | |
This fixes tests/drawbuffers. | |||
2010-06-13 | r300g: remove r300_state.h | Marek Olšák | |
2010-06-13 | r300g: move two-sided stencilref fallback to its own file | Marek Olšák | |
2010-06-13 | r300g: move index buffer translate functions to their new home | Marek Olšák | |
2010-06-13 | r300g: add fallback for unaligned/unsupported vertex stride/offset/format | Marek Olšák | |
There is a problem though, the translate module cannot emit half float vertices. | |||
2010-06-13 | r300g: upload only vertex buffers referenced by vertex elements | Marek Olšák | |
2010-06-12 | softpipe: small cleanup | Zack Rusin | |
2010-06-11 | scons: Disable i965g build if using MSVC. | Vinson Lee | |
i965g uses C99 constructs that are not supported by MSVC. | |||
2010-06-11 | scons: Disable i915g build if using MSVC. | Vinson Lee | |
i915g uses C99 constructs that are not supported by MSVC. | |||
2010-06-11 | r300/compiler: Implement simple loop emulation | Tom Stellard | |
The loop emulation unrolls loops as may times as possbile while still keeping the shader program below the maximum instruction limit. At this point, there are no checks for constant conditionals. This is only enabled for fragment shaders. | |||
2010-06-11 | gallium/softpipe/draw: support samplers in geometry shaders | Zack Rusin | |
2010-06-10 | r300g: Fix memory leak on error path. | Vinson Lee | |
2010-06-09 | r300g: try harder to create a transfer object | Marek Olšák | |
I was told this wouldn't help to fix the FDO bug #28443, but still, it's a harmless last resort. Also, linear textures safely fallback to an unpipelined transfer here. |