This serie fixes several gallium nine bugs. There is also a few cleanups. It also has a new feature: new options are added to choose the behaviour of the swapchain DISCARD mode (which is the most common mode). Basically the default is that when vsync is off, the frames are presented as soon as possible, causing tearing. The new option enables to avoid tearing by waiting the next vblank, while not blocking rendering (some frames are thus dropped). Some games has weird physics with vblank (because of the blocking behaviour), thus why it is often let off. It makes thus sense to use the new proposed behaviour (which is equivalent to the 'opengl triple buffering').
Axel Davy (36): st/nine: Improve doc of D3DPMISCCAPS_POSTBLENDSRGBCONVERT st/nine: Add validation to SetSamplerState st/nine: Remove useless call to nine_update_state st/nine: Don't update stream_usage_mask in sw path st/nine: Fix useless swapchain init checks st/nine: Fix ps multisample check st/nine: Remove unused ff.changed.group st/nine: Fix bad light initialization in stateblocks st/nine: Remove useless check in surface9 ctor st/nine: Add some debug info in stateblocks st/nine: Add missing changed states to pixel stateblocks st/nine: Capture texturestage states in pixel stateblocks st/nine: Avoid crash on empty Draw*Up st/nine: Handle when cursor stride is not what is expected st/nine: Correctly release sw cursor image st/nine: Fix leak in user constant upload path st/nine: Do not generate gallium NOP on d3d NOP st/nine: Silent warnings with guid_str d3dadapter/present: Add new API to ID3DPresent d3dadapter/present: Add precision for WaitBufferReleased st/nine: Fix a leak in Swapchain dtor st/nine: Rework buffer presentation path st/nine: Add new driconf options to control DISCARD behaviour driconf: Fix missing gettext st/nine: Ignore MULTISAMPLEMASK when RT is not multisampled st/nine: Fix specular enable for alpha st/nine: Fix ff COLOR0 w component computation st/nine: Do not saturate illumination coefficients in ff st/nine: Fix check for ff specular st/nine: Always initialize current in ff ps st/nine: Fix ff cases when stages should be disabled st/nine: Remove useless code in ff ps st/nine: Fix two special cases in ff ps st/nine: Convert redundant check to assert in ff ps st/nine: Fix ff texture coordinate selection st/nine: Implement WFOG properly include/d3dadapter/present.h | 29 +++- src/gallium/state_trackers/nine/adapter9.c | 2 +- src/gallium/state_trackers/nine/adapter9.h | 2 + src/gallium/state_trackers/nine/device9.c | 68 +++++--- src/gallium/state_trackers/nine/device9.h | 1 + src/gallium/state_trackers/nine/iunknown.c | 8 + src/gallium/state_trackers/nine/nine_ff.c | 196 ++++++++++++----------- src/gallium/state_trackers/nine/nine_limits.h | 36 +++++ src/gallium/state_trackers/nine/nine_shader.c | 9 +- src/gallium/state_trackers/nine/nine_state.c | 52 ++++--- src/gallium/state_trackers/nine/nine_state.h | 2 +- src/gallium/state_trackers/nine/pixelshader9.h | 2 +- src/gallium/state_trackers/nine/stateblock9.c | 17 +- src/gallium/state_trackers/nine/surface9.c | 6 +- src/gallium/state_trackers/nine/swapchain9.c | 197 +++++++++++++++++------- src/gallium/state_trackers/nine/swapchain9.h | 1 + src/gallium/state_trackers/nine/volume9.c | 2 + src/gallium/targets/d3dadapter9/drm.c | 17 ++ src/mesa/drivers/dri/common/xmlpool/t_options.h | 12 +- 19 files changed, 453 insertions(+), 206 deletions(-) -- 2.10.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev