[Mesa-dev] [PATCH 00/36] Some gallium nine fixes

Axel Davy axel.davy at ens.fr
Wed Dec 7 22:30:23 UTC 2016

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: 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(-)


More information about the mesa-dev mailing list