0fcc518964223d9baaa2b45e80afeb800beb872f |
|
01-Feb-2012 |
Ville Syrjala <syrjala@sci.fi> |
gallium/dri: Handle xserver that doesn't send needless DRI2 invalidate events Ever since xserver commit 531869448d07e00ae241120b59f3aaaa5709d59c, the server no longer sends invalidate events to clients, unless they have performed a GetBuffers request since the drawable was last invalidated. If the drawable gets invalidated immediately after the GetBuffers request was processed by the X server, it's possible that Xlib will process the invalidate event while waiting for the GetBuffers reply. So the server, thinking the client knows that the buffers are invalid, is waiting for another GetBuffers request before sending any more invalidate events. The client, on the other hand, believes the buffers to be valid, and thus is expecting to receive another invalidate event before it has to send another GetBuffers request. The end result is that the client never again sends a GetBuffers request. To avoid this problem, take a snapshot of the lastStamp before doing GetBuffers, and retry if the snapshot and the current lastStamp no longer match after the GetBuffers reply has been processed. Signed-off-by: Ville Syrjälä <syrjala@sci.fi> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
875a757ddd103722cfe9a2b21035024aa5a23d32 |
|
03-Nov-2011 |
George Sapountzis <gsapountzis@gmail.com> |
dri: unify __DRIscreenRec Also drop DriverAPI field, this is a static symbol and I don't see why it should be accessed through __DRIscreenRec
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
e9beaf65fdaf82a7845cbe176f353ddb6b8466c7 |
|
28-Oct-2011 |
Kristian Høgsberg <krh@bitplanet.net> |
dri: Remove unnecessary timestamp pointer indirection
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
98aa2a8f725e44aec8bd998fe436a134e94f13bb |
|
09-Sep-2011 |
Benjamin Franzke <benjaminfranzke@googlemail.com> |
st/dri/sw: Implement texture_from_pixmap This is a cleanup of commit 02f1b50987c0d24da3dcc36dbb44821c20d0660c. Update tex buffer using a dri_drawable hook from implemented in sw/drisw.c. This saves us the duplication of dri_drawable.c. CC: Stuart Abercrombie <sabercrombie@chromium.org> CC: Stéphane Marchesin <marcheu@chromium.org>
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
bde2fc5a7123829dc87d3761934627555be4446f |
|
12-Oct-2011 |
Thomas Hellstrom <thellstrom@vmware.com> |
st/dri: Hook up throttling based on the drm driver_descriptor configuration Hooks up throttling if there is a configuration function present and it indicates that throttling is desired. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
23c41233ce9ac13ba60242f9e839d5b13d1ea803 |
|
11-Oct-2011 |
Thomas Hellstrom <thellstrom@vmware.com> |
st/dri: Implement the new dri2 throttling extension But don't hook it up just yet until we figure out a good way to do that. Also, we should, in the future, add driconf options to control what throttling reasons should be honored, and the number of outstanding swaps allowed. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
ac8fdbc1c723afb19eeaba5457ba78d0bf33b8d4 |
|
29-Jun-2011 |
Thomas Hellstrom <thellstrom@vmware.com> |
st-api: Rework how drawables are invalidated v3. The api and the state tracker manager code as well as the state tracker code assumed that only a single context could be bound to a drawable. That is not a valid assumption, since multiple contexts can bind to the same drawable. Fix this by making it the state tracker's responsibility to update all contexts binding to a drawable Note that the state trackers themselves don't use atomic stamps on frame-buffers. Multiple context rendering to the same drawable should be protected by the application. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
94ccc31ba4f64ac480137fd90f1ded44d2072f6e |
|
01-Dec-2010 |
Jakob Bornecrantz <wallbraker@gmail.com> |
st/dri: Track drawable context bindings Needs to track this ourself since because we get into a race condition with the dri_util.c code on make current when rendering to the front buffer. This is what happens: Old context is rendering to the front buffer. App calls MakeCurrent with a new context. dri_util.c sets drawable->driContextPriv to the new context and then calls the driver make current. st/dri make current flushes the old context, which calls back into st/dri via the flush frontbuffer hook. st/dri calls dri loader flush frontbuffer, which calls invalidate buffer on the drawable into st/dri. This is where things gets wrong. st/dri grabs the context from the dri drawable (which now points to the new context) and calls invalidate framebuffer to the new context which has not yet set the new drawable as its framebuffers since we have not called make current yet, it asserts.
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
484edfc8151ddf63d3e0e7be3b4c8fa3906a0ec9 |
|
21-Jan-2011 |
Jakob Bornecrantz <wallbraker@gmail.com> |
st/dri: Fix warning
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
d3491e775fb07f891463b2185d74bbad62f3ed24 |
|
12-Oct-2010 |
Kristian Høgsberg <krh@bitplanet.net> |
Rename GLvisual and __GLcontextModes to struct gl_config
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
5c0a0f219843fa283a0fd98dbe0544e8ea820c60 |
|
11-Aug-2010 |
George Sapountzis <gsapountzis@gmail.com> |
st/dri: make dri_drawable_validate_att static
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
c14b4371ed58859d264b7b2581cfedc9cfd8401f |
|
11-Aug-2010 |
George Sapountzis <gsapountzis@gmail.com> |
st/dri: move TFP code to dri_drawable.c This is based on a patch by nobled <nobled@dreamwidth.org> and allows the TFP extension to be enabled for DRISW also. This patch does not enable TFP for DRISW though, because testing on xephyr segfaults here (for both classic and gallium): Program received signal SIGSEGV, Segmentation fault. 0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788 788 ASSERT_OUTSIDE_BEGIN_END(ctx); (gdb) (gdb) where \#0 0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788 \#1 0x0817a004 in __glXDisp_GenTextures () \#2 0x08168498 in __glXDispatch () \#3 0x0808b6ce in Dispatch () \#4 0x08084435 in main () The TFP code is generic except for the teximage call. We need to verify that DRISW correclty implements whatever hook teximage finally calls.
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
ca0b0899d8cc20f3e918839e044c55f9a19e9ffe |
|
31-Jul-2010 |
Vinson Lee <vlee@vmware.com> |
st/dri: Remove unnecessary headers.
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
873ddf547d5aeb68f37a172d73131c6bc51101f6 |
|
18-Jul-2010 |
George Sapountzis <gsapountzis@gmail.com> |
st/dri: move backend hooks to appropriate object
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
a30b966f8345cb99922a416fce2da6edb70f864c |
|
26-May-2010 |
George Sapountzis <gsapountzis@gmail.com> |
st/dri: drop dri1_helper
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
a93f9f343a64ce91587af66761399f9d4c180015 |
|
21-May-2010 |
Jakob Bornecrantz <jakob@vmware.com> |
gallium: Fix invalidate framebuffer with old libGL libraries
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
1372a8f90dc64350e4ac29dbb8c5feb88bc83cd1 |
|
24-Apr-2010 |
Jakob Bornecrantz <wallbraker@gmail.com> |
st/dri: Refactor dri_st_api into other files
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
27779ddad5c61d2fc46367e1556b5e53403c2a97 |
|
24-Apr-2010 |
Jakob Bornecrantz <wallbraker@gmail.com> |
st/dri: Make st_framebuffer_iface the base for dri_drawable
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
ea6a52a1f8e7fd72b5506218c31e58088131f1f5 |
|
24-Apr-2010 |
Jakob Bornecrantz <wallbraker@gmail.com> |
st/dri: Add hooks for framebuffer functions
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
5123e33863ac37242eb5e867cd0a38fecbd06b48 |
|
31-Mar-2010 |
Vinson Lee <vlee@vmware.com> |
st/dri: Remove unnecessary header.
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|
80672e84cf79ab12b7a4ff56567184d1c39baef3 |
|
25-Mar-2010 |
Jakob Bornecrantz <wallbraker@gmail.com> |
st/dri: Move common files to common directory 27 files changed, 15 insertions(+), 15 deletions(-) rename src/gallium/state_trackers/dri/{ => common}/dri1_helper.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri1_helper.h (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_context.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_context.h (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_drawable.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_drawable.h (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_extensions.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_screen.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_screen.h (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_st_api.c (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_st_api.h (100%) rename src/gallium/state_trackers/dri/{ => common}/dri_wrapper.h (100%)
/external/mesa3d/src/gallium/state_trackers/dri/common/dri_drawable.c
|