summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-06-11i965: Remove caching of surface state objects.Eric Anholt
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
2010-06-11i965: Convert the binding table to streamed indirect state.Eric Anholt
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)
2010-06-11i965: Split constant buffer setup from its surface state/binding state.Eric Anholt
This was bothering me when redoing the binding tables.
2010-06-11i965: Add support for streaming indirect state rather than caching objects.Eric Anholt
2010-06-11i965: Set the CC VP state immediately on state change.Eric Anholt
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().
2010-06-11i965: Update old comment about state cache sizing.Eric Anholt
2010-06-11i965: Move no_batch_wrap assertion out across the area we're trying to verify.Eric Anholt
It's more likely that we wrap badly in state setup than in the little primitive packet.
2010-06-10i965: remove UseProgram driver callbackBrian Paul
It just duplicated the default/core Mesa behaviour.
2010-06-11st/egl: Do not build non-working driver combinations.Chia-I Wu
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.
2010-06-11st/egl: Add fbdev backend.Chia-I Wu
The backend is pure software. It implements EGL_MESA_screen_surface extension, and is kept simple by only exporting the current mode.
2010-06-11winsys: Add fbdev software winsys.Chia-I Wu
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.
2010-06-10st/egl: Remove unnecessary header.Vinson Lee
2010-06-10intel: Remove unnecessary header.Vinson Lee
2010-06-10draw: forgot to add a fileZack Rusin
2010-06-10draw: rewrite geometry shader pipelineZack Rusin
done to handle strips correctly as inputs - we need to decompose the strips
2010-06-10gs: give our test an option of rendering a stripZack Rusin
2010-06-10draw: geometry shader fixesZack Rusin
don't overwrite the inputs and make sure the correct primitive is used on entry
2010-06-10draw: make sure that the gs never outputs more data than we allocated forZack Rusin
2010-06-10r300g: Fix memory leak on error path.Vinson Lee
2010-06-10i965: Add support for GL_ALPHA framebuffer objects.Eric Anholt
2010-06-10mesa: Allow GL_ALPHA FBOs with ARB_framebuffer_object.Eric Anholt
Drivers still reject them today, but cairo would like to use these.
2010-06-10swrast: When reading from a 0-bits r,g,b channel, return 0 not 1.Eric Anholt
It looks like we were reading a fractional value, multiplying by an enormous negative value, then stuffing that value into a bitfield assuming it was already clamped. This becomes relevant for GL_ALPHA or R/RG FBOs.
2010-06-09intel: Use the blitter to upload TexSubImage data to busy textures.Eric Anholt
This avoids many pipeline stalls in cairo-gl. [ # ] backend test min(s) median(s) stddev. count Before: [ 0] gl firefox-talos-gfx 36.799 36.851 2.34% 3/3 [ 0] gl firefox-talos-svg 33.429 35.360 3.46% 3/3 After: [ 0] gl firefox-talos-gfx 35.895 36.250 0.48% 3/3 [ 0] gl firefox-talos-svg 26.669 29.888 5.34% 3/3 This doesn't avoid all the pipeline stalls because the kernel reports !busy for buffers on the flushing list. That should be fixed in .36.
2010-06-09i965: Avoid calloc/free in the CURBE upload process.Eric Anholt
In exchange we end up with an extra memcpy, but that seems better than calloc/free. Each buffer is 4k maximum, and on the i965-streaming branch this allocation was showing up as the top entry in brw_validate_state profiling for cairo-gl.
2010-06-09r300g: try harder to create a transfer objectMarek 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.
2010-06-09draw: make sure geometry shader correctly iterates the output bufferZack Rusin
2010-06-09r300g: debug output texture sizeMarek Olšák
2010-06-09r300g: return NULL texture early if buffer_create failsMarek Olšák
2010-06-09draw: make sure the buffer is big enough to fit everything emitted by the gsZack Rusin
2010-06-09llvmpipe: fix copy & paste bug in clear logicRoland Scheidegger
fixes bug 28450.
2010-06-09draw: fix geometry shader which emit multiplie primitivesZack Rusin
2010-06-09graw: add a multiple primitive geometry shader testZack Rusin
2010-06-09nv: fix compile after the latest gs changesZack Rusin
2010-06-09geometry shaders: make gs work with changable primitives and variable number ↵Zack Rusin
of vertices lots and lots of fixes for geometry shaders. in particular now we work when the gs emits a different primitive than the one the pipeline was started with and also we work when gs emits more vertices than would fit in the original buffer.
2010-06-09xorg/vmwgfx: Disable 3D by default.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2010-06-09st/xorg: Add a customizable option to disable 3D.Thomas Hellstrom
If no customizer is present, 3D will be enabled by default. Otherwise the option will default to the customizer value. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2010-06-09nvfx: fix typo from gallium-msaa mergeBen Skeggs
2010-06-09nv50: fix typo from gallium-msaa mergeBen Skeggs
2010-06-09nv50: use MARK_RING correctlyBen Skeggs
2010-06-08draw: Remove unnecessary headers.Vinson Lee
2010-06-09r600g: save vertex buffers in blitterMarek Olšák
2010-06-09r300g: save vertex buffers in blitterMarek Olšák
2010-06-09util: reference vertex buffers in blitterMarek Olšák
2010-06-09r300g: report that transfers are always supportedMarek Olšák
2010-06-09r300g: fix loading compressed texturesMarek Olšák
2010-06-08r300g: skip rendering for unsupported vertex formats instead of abortingMarek Olšák
The next step is to replace skipping by an actual fallback.
2010-06-08intel: Flag NEW_BUFFERS when changing draw buffers.Eric Anholt
There were entries to this function (most imporantly, prepare_render -> update_renderbuffers) that wouldn't have had NEW_BUFFERS set, but brw_wm_surface_state (the i965 state tracking the drawing regions) expected this to change.
2010-06-08intel: Convert remaining dri_bo_emit_reloc to drm_intel_bo_emit_reloc.Eric Anholt
The new API makes so much more sense, I'd like to forget how the old one worked.
2010-06-08intel: Change dri_bo_* to drm_intel_bo* to consistently use new API.Eric Anholt
The slightly less mechanical change of converting the emit_reloc calls will follow.
2010-06-08intel: Clean up stale comments in intel_batchbuffer.c.Eric Anholt