summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* r300g: inline FLUSH_CSMarek Olšák2010-06-132-10/+4
| | | | The fewer macros, the better.
* r300g: reorder CS macros and document them a littleMarek Olšák2010-06-132-38/+52
|
* r300g: drop DBG_CSMarek Olšák2010-06-133-47/+1
| | | | | I'd like the CS macros to be as lightweight as possible for performance reasons.
* r300g: inline CHECK_CSMarek Olšák2010-06-131-4/+1
|
* r300g: replace r300_cs_info with simplier get_cs_free_dwordsMarek Olšák2010-06-134-23/+9
|
* r300g: fix multiple render targetsMarek Olšák2010-06-131-11/+6
| | | | This fixes tests/drawbuffers.
* r300g: remove r300_state.hMarek Olšák2010-06-134-34/+8
|
* r300g: move two-sided stencilref fallback to its own fileMarek Olšák2010-06-135-130/+164
|
* r300g: move index buffer translate functions to their new homeMarek Olšák2010-06-133-130/+144
|
* r300g: add fallback for unaligned/unsupported vertex stride/offset/formatMarek Olšák2010-06-137-9/+209
| | | | | There is a problem though, the translate module cannot emit half float vertices.
* r300g: upload only vertex buffers referenced by vertex elementsMarek Olšák2010-06-131-17/+20
|
* i965: Fix gen6 front cull mode.Eric Anholt2010-06-121-1/+1
|
* i965: Use the new message header format for FF_SYNC on gen6.Zhenyu Wang2010-06-121-2/+7
|
* i965: Add support for math instructions in the gen6 WM.Zhenyu Wang2010-06-121-0/+15
|
* i965: Set the correct WM GRF start reg on gen6.Zhenyu Wang2010-06-121-1/+2
|
* i965: Update gen6 paths for the streaming rework.Eric Anholt2010-06-123-31/+4
|
* i965: Stream out CC unit state.Eric Anholt2010-06-123-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 somethingZack Rusin2010-06-121-3/+5
|
* softpipe: small cleanupZack Rusin2010-06-121-1/+3
|
* r300/compiler: fix scons buildJoakim Sindholt2010-06-121-0/+1
|
* i965: Remove unnecessary header.Vinson Lee2010-06-121-1/+0
|
* scons: Disable i965g build if using MSVC.Vinson Lee2010-06-111-0/+4
| | | | i965g uses C99 constructs that are not supported by MSVC.
* scons: Disable i915g build if using MSVC.Vinson Lee2010-06-111-0/+4
| | | | i915g uses C99 constructs that are not supported by MSVC.
* r300/compiler: Handle more complex conditionals in loops.Tom Stellard2010-06-111-71/+84
|
* r300/compiler: Fix warning.Tom Stellard2010-06-111-1/+1
|
* r300/compiler: Handle SGT and SLE at the beginning of loops.Tom Stellard2010-06-111-3/+11
|
* r300/compiler: Verify assumptions about opcode types.Tom Stellard2010-06-111-4/+33
|
* r300/compiler: Unroll loops that decrement the counter.Tom Stellard2010-06-111-49/+83
| | | | e.g. for(i=10; i>0; i--)
* r300/compiler: Unroll loops that have a constant number of iterations.Tom Stellard2010-06-111-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 emulationTom Stellard2010-06-117-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 Anholt2010-06-113-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 Anholt2010-06-112-11/+0
|
* gallium/softpipe/draw: support samplers in geometry shadersZack Rusin2010-06-1111-5/+153
|
* tgsi: support 2d indirect addressingZack Rusin2010-06-115-18/+86
|
* i965: Use the state base address to avoid relocations.Eric Anholt2010-06-113-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 Anholt2010-06-117-22/+12
| | | | | Now that the binding table is streamed indirect state, they were always NULL/0.
* i965: Remove brw_state_cache_bo_delete now that it's unused again.Eric Anholt2010-06-112-37/+0
|
* i965: Remove caching of surface state objects.Eric Anholt2010-06-118-288/+192
| | | | | | | | | | | It turns out that computing a 56 byte key to look up a 20-byte object out of a hash table was some sort of a bad idea. Whoops. before: [ # ] backend test min(s) median(s) stddev. count [ 0] gl firefox-talos-gfx 37.799 38.203 0.39% 6/6 after: [ 0] gl firefox-talos-gfx 34.761 34.784 0.17% 5/6
* i965: Convert the binding table to streamed indirect state.Eric Anholt2010-06-117-145/+131
| | | | | | | | | | | | | | | | | | | | | | | This slightly reduces reduces cairo-gl firefox-talos-gfx runtime on my Ironlake: before: [ # ] backend test min(s) median(s) stddev. count [ 0] gl firefox-talos-gfx 38.236 38.383 0.43% 5/6 after: [ 0] gl firefox-talos-gfx 37.799 38.203 0.39% 6/6 It turns out the cost of caching these objects and looking them up in the cache again is greater than the cost of just computing the object again, particularly when the overhead of having a separate BO to pin is removed. (Those that are paying close attention will note that this is a reversal of the path I was moving the driver in a couple of years ago. The major thing that has changed is that back then all state was recomputed when we wrapped the streaming state buffer, including recompiling our precious programs. Now, we're uncaching just the objects that are cheap to compute, and retaining caching of expensive objects)
* i965: Split constant buffer setup from its surface state/binding state.Eric Anholt2010-06-118-78/+79
| | | | This was bothering me when redoing the binding tables.
* i965: Add support for streaming indirect state rather than caching objects.Eric Anholt2010-06-115-1/+66
|
* i965: Set the CC VP state immediately on state change.Eric Anholt2010-06-117-12/+67
| | | | | | | | The cache lookup of these two little floats was .12% of total CPU time on firefox-talos-gfx because we did it any time commonly-changed state changed. On the other hand, updating the CC VP bo immediately whenver CC VP state changes is a .07% overhead due to putting a driver hoook in glEnable().
* i965: Update old comment about state cache sizing.Eric Anholt2010-06-111-2/+2
|
* i965: Move no_batch_wrap assertion out across the area we're trying to verify.Eric Anholt2010-06-111-5/+3
| | | | | It's more likely that we wrap badly in state setup than in the little primitive packet.
* i965: remove UseProgram driver callbackBrian Paul2010-06-101-10/+0
| | | | It just duplicated the default/core Mesa behaviour.
* st/egl: Do not build non-working driver combinations.Chia-I Wu2010-06-111-0/+6
| | | | | | The KMS backend requires a hardware pipe driver. Do not build egl_kms_swrast. Also, only build egl_fbdev_swrast for fbdev backend. It is a pure software backend.
* st/egl: Add fbdev backend.Chia-I Wu2010-06-113-6/+501
| | | | | The backend is pure software. It implements EGL_MESA_screen_surface extension, and is kept simple by only exporting the current mode.
* winsys: Add fbdev software winsys.Chia-I Wu2010-06-114-0/+298
| | | | | | This is a simple winsys that mmap()s the framebuffer device and memcpy()s the contents of display targets to the framebuffer device for displaying.
* st/egl: Remove unnecessary header.Vinson Lee2010-06-101-1/+0
|
* intel: Remove unnecessary header.Vinson Lee2010-06-101-1/+0
|