Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | r300g: fix uploading RC state shader constants on r3xx | Marek Olšák | 2010-06-14 | 1 | -1/+1 |
| | | | | | | I've messed this up in one of my previous commits. Reported-by: Igor Murzov | ||||
* | r300g: drop begin_cs/end_cs | Marek Olšák | 2010-06-14 | 3 | -38/+0 |
| | | | | | | | | | | 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. | ||||
* | r300g: rewrite occlusion queries | Marek Olšák | 2010-06-14 | 7 | -159/+168 |
| | | | | | | | | 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. | ||||
* | r300g: emit viewport state as a dword table | Marek Olšák | 2010-06-14 | 1 | -6/+1 |
| | |||||
* | r300g: subclass pipe_surface | Marek Olšák | 2010-06-14 | 3 | -44/+51 |
| | |||||
* | r300g: simplify reloc macros | Marek Olšák | 2010-06-14 | 2 | -35/+9 |
| | |||||
* | r300g: count CS dwords on debug builds only | Marek Olšák | 2010-06-14 | 2 | -25/+36 |
| | |||||
* | r300g: optimize emission of fragment shader constants | Marek Olšák | 2010-06-13 | 3 | -27/+26 |
| | |||||
* | r300g: turn fragment shader into a CB | Marek Olšák | 2010-06-13 | 5 | -129/+126 |
| | |||||
* | r300g: turn depth stencil state into a CB | Marek Olšák | 2010-06-13 | 3 | -17/+48 |
| | |||||
* | r300g: turn clip state into a CB | Marek Olšák | 2010-06-13 | 5 | -26/+35 |
| | |||||
* | r300g: turn blend color into a CB | Marek Olšák | 2010-06-13 | 4 | -27/+34 |
| | |||||
* | r300g: turn blend state into a CB | Marek Olšák | 2010-06-13 | 3 | -35/+49 |
| | |||||
* | r300g: add API for building command buffers | Marek Olšák | 2010-06-13 | 2 | -0/+145 |
| | | | | | | 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). | ||||
* | r300g: inline FLUSH_CS | Marek Olšák | 2010-06-13 | 2 | -10/+4 |
| | | | | The fewer macros, the better. | ||||
* | r300g: reorder CS macros and document them a little | Marek Olšák | 2010-06-13 | 2 | -38/+52 |
| | |||||
* | r300g: drop DBG_CS | Marek Olšák | 2010-06-13 | 3 | -47/+1 |
| | | | | | I'd like the CS macros to be as lightweight as possible for performance reasons. | ||||
* | r300g: inline CHECK_CS | Marek Olšák | 2010-06-13 | 1 | -4/+1 |
| | |||||
* | r300g: replace r300_cs_info with simplier get_cs_free_dwords | Marek Olšák | 2010-06-13 | 4 | -23/+9 |
| | |||||
* | r300g: fix multiple render targets | Marek Olšák | 2010-06-13 | 1 | -11/+6 |
| | | | | This fixes tests/drawbuffers. | ||||
* | r300g: remove r300_state.h | Marek Olšák | 2010-06-13 | 4 | -34/+8 |
| | |||||
* | r300g: move two-sided stencilref fallback to its own file | Marek Olšák | 2010-06-13 | 5 | -130/+164 |
| | |||||
* | r300g: move index buffer translate functions to their new home | Marek Olšák | 2010-06-13 | 3 | -130/+144 |
| | |||||
* | r300g: add fallback for unaligned/unsupported vertex stride/offset/format | Marek Olšák | 2010-06-13 | 7 | -9/+209 |
| | | | | | There is a problem though, the translate module cannot emit half float vertices. | ||||
* | r300g: upload only vertex buffers referenced by vertex elements | Marek Olšák | 2010-06-13 | 1 | -17/+20 |
| | |||||
* | i965: Fix gen6 front cull mode. | Eric Anholt | 2010-06-12 | 1 | -1/+1 |
| | |||||
* | i965: Use the new message header format for FF_SYNC on gen6. | Zhenyu Wang | 2010-06-12 | 1 | -2/+7 |
| | |||||
* | i965: Add support for math instructions in the gen6 WM. | Zhenyu Wang | 2010-06-12 | 1 | -0/+15 |
| | |||||
* | i965: Set the correct WM GRF start reg on gen6. | Zhenyu Wang | 2010-06-12 | 1 | -1/+2 |
| | |||||
* | i965: Update gen6 paths for the streaming rework. | Eric Anholt | 2010-06-12 | 3 | -31/+4 |
| | |||||
* | i965: Stream out CC unit state. | Eric Anholt | 2010-06-12 | 3 | -155/+66 |
| | | | | | | | | before: [ # ] backend test min(s) median(s) stddev. count [ 0] gl firefox-talos-gfx 31.791 32.287 1.11% 6/6 after: [ 0] gl firefox-talos-gfx 31.198 31.675 0.96% 6/6 | ||||
* | draw/gs: copy the outputs only if we emitted something | Zack Rusin | 2010-06-12 | 1 | -3/+5 |
| | |||||
* | softpipe: small cleanup | Zack Rusin | 2010-06-12 | 1 | -1/+3 |
| | |||||
* | r300/compiler: fix scons build | Joakim Sindholt | 2010-06-12 | 1 | -0/+1 |
| | |||||
* | i965: Remove unnecessary header. | Vinson Lee | 2010-06-12 | 1 | -1/+0 |
| | |||||
* | scons: Disable i965g build if using MSVC. | Vinson Lee | 2010-06-11 | 1 | -0/+4 |
| | | | | i965g uses C99 constructs that are not supported by MSVC. | ||||
* | scons: Disable i915g build if using MSVC. | Vinson Lee | 2010-06-11 | 1 | -0/+4 |
| | | | | i915g uses C99 constructs that are not supported by MSVC. | ||||
* | r300/compiler: Handle more complex conditionals in loops. | Tom Stellard | 2010-06-11 | 1 | -71/+84 |
| | |||||
* | r300/compiler: Fix warning. | Tom Stellard | 2010-06-11 | 1 | -1/+1 |
| | |||||
* | r300/compiler: Handle SGT and SLE at the beginning of loops. | Tom Stellard | 2010-06-11 | 1 | -3/+11 |
| | |||||
* | r300/compiler: Verify assumptions about opcode types. | Tom Stellard | 2010-06-11 | 1 | -4/+33 |
| | |||||
* | r300/compiler: Unroll loops that decrement the counter. | Tom Stellard | 2010-06-11 | 1 | -49/+83 |
| | | | | e.g. for(i=10; i>0; i--) | ||||
* | r300/compiler: Unroll loops that have a constant number of iterations. | Tom Stellard | 2010-06-11 | 1 | -2/+209 |
| | | | | | This only works with for loops that increment the counter. e.g. for(i=0; i<10; i++) | ||||
* | r300/compiler: Implement simple loop emulation | Tom Stellard | 2010-06-11 | 7 | -3/+233 |
| | | | | | | | 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. | ||||
* | i965: Remove the surface key used to generate constant surfaces. | Eric Anholt | 2010-06-11 | 3 | -62/+14 |
| | | | | We had to fill out all that junk when using the cache, but no more. | ||||
* | i965: Warning fixes from the i965-streaming merge. | Eric Anholt | 2010-06-11 | 2 | -11/+0 |
| | |||||
* | gallium/softpipe/draw: support samplers in geometry shaders | Zack Rusin | 2010-06-11 | 11 | -5/+153 |
| | |||||
* | tgsi: support 2d indirect addressing | Zack Rusin | 2010-06-11 | 5 | -18/+86 |
| | |||||
* | i965: Use the state base address to avoid relocations. | Eric Anholt | 2010-06-11 | 3 | -38/+23 |
| | | | | | | | | This makes the binding table code simpler, and is required for gen6, which requires binding table addresses to be under 64k offset from the surface state base addr. No significant change in performance on firefox-talos-gfx. | ||||
* | i965: GC the last two arguments to brw_cache_data. | Eric Anholt | 2010-06-11 | 7 | -22/+12 |
| | | | | | Now that the binding table is streamed indirect state, they were always NULL/0. |