summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel
AgeCommit message (Collapse)Author
2010-02-18intel: Include main/hash.h using "" instead of <>Kristian Høgsberg
2010-02-17intel: Implement the DRI2 invalidate function properlyKristian Høgsberg
This uses a stamp mechanisms to mark the DRI drawable as invalid. Instead of immediately updating the buffers we just bump the drawable stamp and call out to DRI2GetBuffers "later". "Later" used to be at LOCK_HARDWARE time, and this patch brings back callouts at the points where we used to call LOCK_HARDWARE. A new function, intel_prepare_render(), is called where we used to call LOCK_HARDWARE, and if the buffers are invalid, we call out to DRI2GetBuffers there. This lets us invalidate buffers only when notified instead of on every glViewport() call. If the loader calls the DRI invalidate entrypoint, we disable viewport triggered buffer invalidation. Additionally, we can clean up the old viewport mechanism a bit, since we can just invalidate the buffers and not worry about reentrancy and whatnot.
2010-02-16dri2: Event driven buffer validation.Francisco Jerez
When a buffer invalidation event is received from the X server, the "invalidate" hook of the DRI2 flush extension is executed: A generic implementation (dri2InvalidateDrawable) is provided that just bumps the "pStamp" sequence number in __DRIdrawableRec. For old servers not supporting buffer invalidation events, the invalidate hook will be called before flushing the fake front/back buffer (that's typically once per frame -- not a lot worse than the situation we were in before). No effort has been made on preserving backwards compatibility with version 2 of the flush extension, but I think it's acceptable because AFAIK no released stack is making use of it. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-02-12intel: Remove unused variable.Vinson Lee
2010-02-12intel: Avoid dri_bo_flink() in intel_update_renderbuffers()Kristian Høgsberg
Now that we track the global name in struct intel_region, we can just look it up there.
2010-02-12intel: Track named regions and make sure we only have one region per named boKristian Høgsberg
2010-02-11i915: Remove always-true irq_active struct intel_screen fieldKristian Høgsberg
2010-02-11i915: Remove a few DRI1 era struct intel_screen fieldsKristian Høgsberg
2010-02-11i915: Drop intelScreenPrivate typedef and just call it struct intel_screenKristian Høgsberg
2010-02-11i915: Remove unused intelRegion structKristian Høgsberg
Phew, sure is nice to only have one struct called intel region.
2010-02-11i915: Remove left-over drmUnmap()Kristian Høgsberg
2010-02-10intel: Don't expose GLX_SWAP_EXCHANGE_OMLIan Romanick
We can't always guarantee that the swap will happen by exchange, so we can't expose this mode. GLX_SWAP_UNDEFINED_OML already covers the case where the swap *might be* by exchange. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
2010-02-10intel: Expose a minimal number of configs with accumulation bufferIan Romanick
Expose one config per color depth that includes accumulation buffer. We could probably expose only one config with accumulation buffer, but that would require figuring out the actual color depth. This is easier and only exposes 2 useless configs. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
2010-02-10dri: Allow selective generation of accum. buffer configsIan Romanick
Modify the interface to driCreateConfigs allowing drivers to not expose configs with an accumuation buffer. All of the drivers calling function have been updated to pass true for the accumulation selector. This maintains the current behavior. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2010-02-10intel: Stop exposing useless 24 depth/0 stencil configsIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
2010-02-10intel: Remove redundant init of depth_bits / stencil_bits in intelInitScreen2Ian Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
2010-02-10intel: Update comment in intelInitScreen2 to noting DRI2 protocol issuesIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
2010-02-09dri_interface: Introduce DRI tokens for the texBuffer texture formatsKristian Høgsberg
This used to take GLX tokens, but the DRI interface can't depend on GLX defines. We fix this by introducing DRI tokens that have the same value as the GLX texture format tokens.
2010-02-06intel: Allow L8 PBO blit uploads.Damien Lespiau
Bug #32810
2010-02-06intel: Check aperture size when doing a blit glClear.Eric Anholt
Fixes failure in cairo-gl firefox-planet-gnome.
2010-02-06intel: Allow PBO acceleration for GL_RGBA8 MESA_FORMAT_ARGB8888.Eric Anholt
This improves firefox-talos-svg runtimes on cairo-gl by 14%.
2010-02-03mesa: Factor out the fb initialization details from _mesa_new_framebuffer.Francisco Jerez
This should make things easier for drivers wanting to work with a "subclass" of gl_framebuffer. The complementary "_mesa_initialize_framebuffer" function is now called "_mesa_initialize_window_framebuffer" for the sake of symmetry. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-01-30intel: Remove unnecessary headers.Vinson Lee
2010-01-30intel: Respect texture tiling when doing a PBO blit teximage upload.Eric Anholt
Bug #26008. Fixes piglit pbo-teximage-tiling-2.
2010-01-30intel: Fix inverting of inversion test for windows in glClear cleanup.Eric Anholt
Bug #26290.
2010-01-28intel: Set the region's tiling to none when attaching a PBO to a region.Eric Anholt
Note that when detaching the PBO from the region and making a new BO for the region, we don't make it tiled even if the region originally was. Fixes piglit pbo-teximage-tiling.
2010-01-28intel: Remove long-disabled meta readpixels, and associated meta support.Eric Anholt
2010-01-26intel: Remove dead code from having to clip copyteximage source rect.Eric Anholt
mesa core does it now. If only it did so for other entrypoints.
2010-01-26intel: Use a handy helper in glReadPixels source clipping.Eric Anholt
2010-01-26intel: Clean up stale comments about cliprects.Eric Anholt
2010-01-26intel: Remove the remaining cliprects code from DRI1.Eric Anholt
2010-01-26intel: Remove DRI1 junk from spans code.Eric Anholt
This reduces the driver size by over 1%.
2010-01-26intel: Remove DRI1 junk from blit glBitmap.Eric Anholt
2010-01-26intel: Remove DRI1 junk from CopyPixels.Eric Anholt
2010-01-26intel: Remove DRI1 junk from glClear blit implementation.Eric Anholt
2010-01-26intel: Fix PBO blit ReadPixels from an FBO.Eric Anholt
Bug #25921 -- clutter PBO usage gave unreliable results.
2010-01-26i965: Add support for EXT_draw_buffers2.Eric Anholt
2010-01-26intel: make sure we update the renderbuffers after a swapJesse Barnes
Now that LOCK_HARDWARE is gone, we don't have a convenient place to update the renderbuffers everywhere we need them. So grab new buffers when we invalidate the old ones until we optimize things further.
2010-01-25intel: Don't do client-side frame throttling with DRI2 SwapBuffers.Eric Anholt
The server side does the throttling on our behalf now by putting the client to sleep, so we don't need our previous hacks for limiting the number of outstanding frames. Same effect as 7d4e674b212c9dc6408c13913a399bd4a2b9a1e3.
2010-01-25Revert "intel: Use the new DRI2 flush invalidate entrypoint to signal frame ↵Eric Anholt
done." This reverts commit 7d4e674b212c9dc6408c13913a399bd4a2b9a1e3. It broke throttling in the non-new-DRI2 case.
2010-01-25i965: Remove unnecessary malloc/free in VS binding table setup.Eric Anholt
2010-01-25Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/intel/intel_screen.c src/mesa/drivers/dri/intel/intel_swapbuffers.c src/mesa/drivers/dri/r300/r300_emit.c src/mesa/drivers/dri/r300/r300_ioctl.c src/mesa/drivers/dri/r300/r300_tex.c src/mesa/drivers/dri/r300/r300_texstate.c
2010-01-23intel: Remove unnecessary headers.Vinson Lee
2010-01-23i965: add support for ARB_half_float_vertexDave Airlie
enables the extension on i965 and adds support to the draw upload for the vertex format. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-01-21dri: Remove unnecessary glapi headers.Chia-I Wu
They are not used at all.
2010-01-19intel: Remove dead note_fence vtbl hook.Eric Anholt
2010-01-19intel: Use the new DRI2 flush invalidate entrypoint to signal frame done.Eric Anholt
Previously for frame throttling we would wait on the first batch after a swap before emitting another swap, because we had no hook after a swap was emitted. This meant that if an app managed to squeeze everything it for a frame had into one batch, it would lock-step with the GPU. With the swapbuffers changes, we now have the entrypoint we want. This takes the WoW intro screen from 25% GPU idle and visibly jerky to 4-5% GPU idle and rather smooth. Other apps such as OpenArena have run into this problem as well.
2010-01-11Merge branch 'master' of ssh://people.freedesktop.org/~jbarnes/mesaJesse Barnes
Conflicts due to DRI1 removal: src/mesa/drivers/dri/intel/intel_context.c src/mesa/drivers/dri/intel/intel_screen.c
2010-01-08intel/DRI2: add DRI2flushExtension support with invalidate hookKristian Høgsberg
Needed to support the SwapBuffers code properly. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-01-05Merge branch 'remove-intel-dri1'Kristian Høgsberg
* remove-intel-dri1: intel: intelScreenContext() is no longer used intel: Remove remaining dri2.enabled tests intel: Drop more cliprect bookkeeping intel: Remove struct intel_framebuffer intel: Remove client-side vblank code intel: Drop intelWindowMoved() intel: Drop batchbuffer cliprect_mode tracking intel: Drop DRI1 static regions intel: Use depth buffer from ctx.DrawBuffer in copypix_src_region() intel: Drop LOCK/UNLOCK_HARDWARE() intel: Drop DRI1 SwapBuffer implementation intel: Drop DRI1 CopySubBuffer implementation intel: Drop DRI1 support Push __driDriverExtensions out of dri_util.c and into the drivers Remove leftover __DRI{screen,drawable,context}Private references Check for libdrm_$chipset.pc when needed