[Mesa-dev] [PATCH 0/8] Fixes for SW:KotOR (v4)

Miklós Máté mtmkls at gmail.com
Thu Mar 24 00:12:54 UTC 2016


Hi,

this series is the fourth version of my patch set, which aims to improve the looks of Star Wars: Knights of the Old Republic (via Wine). The main feature is the implementation of GL_ATI_fragment_shader for all Gallium divers (though I could only test it with radeonsi, llvmpipe, and softpipe). If this extension is available, the game uses it quite extensively: perhaps the most notable effect is the animated water ripples, but it also fixes the grass, improves the specular on wet characters (e.g. the Selkath) and it is used for regular texturing almost everywhere. The game has two optional post-process effects that also depend on this extension: framebuffer effects (light bloom, distortion), and soft shadows.

See the screenshot gallery in http://lists.freedesktop.org/archives/mesa-dev/2015-December/103263.html
(a bit outdated, since the problem with soft shadows have since been fixed)

AFAIK there are 4 games that can use ATI_fs: KotOR 1&2, Doom 3, Quake 4.

Patches 1-4 implement ATI_fragment_shader, 5-7 are fixes for post-processing in KotOR

Wine 1.9.6 includes my patch that fixes the performance problem with post-processing, so KotOR can now be enjoyed at maximum graphical settings.

MM


Miklós Máté (8):
  mesa: optionally associate a gl_program to ATI_fragment_shader
  program: add ATI_fragment_shader to shader stages list
  st/mesa: implement GL_ATI_fragment_shader
  st/mesa: enable GL_ATI_fragment_shader
  main: rework the compatibility check of visuals in glXMakeCurrent
  st/mesa: fix handling the fallback texture
  glx: fix the refcounting of dri drawables
  mesa: optimize out the realloc from glCopyTexImagexD()

 docs/relnotes/11.3.0.html                 |   1 +
 src/glx/dri_common.c                      |   3 +-
 src/glx/glx_pbuffer.c                     |   8 +-
 src/glx/glxcmds.c                         |   8 +-
 src/mesa/Makefile.sources                 |   1 +
 src/mesa/drivers/common/driverfuncs.c     |   3 +
 src/mesa/main/atifragshader.c             |  13 +-
 src/mesa/main/atifragshader.h             |   1 +
 src/mesa/main/context.c                   |  42 +-
 src/mesa/main/dd.h                        |   5 +
 src/mesa/main/mtypes.h                    |   1 +
 src/mesa/main/state.c                     |  14 +-
 src/mesa/main/teximage.c                  |  36 ++
 src/mesa/program/program.h                |   2 +
 src/mesa/state_tracker/st_atifs_to_tgsi.c | 845 ++++++++++++++++++++++++++++++
 src/mesa/state_tracker/st_atifs_to_tgsi.h |  67 +++
 src/mesa/state_tracker/st_atom_constbuf.c |  15 +
 src/mesa/state_tracker/st_atom_sampler.c  |   7 +-
 src/mesa/state_tracker/st_atom_shader.c   |  65 ++-
 src/mesa/state_tracker/st_cb_drawpixels.c |   1 +
 src/mesa/state_tracker/st_cb_program.c    |  31 ++
 src/mesa/state_tracker/st_extensions.c    |   1 +
 src/mesa/state_tracker/st_program.c       |  34 +-
 src/mesa/state_tracker/st_program.h       |   8 +
 24 files changed, 1168 insertions(+), 44 deletions(-)
 create mode 100644 src/mesa/state_tracker/st_atifs_to_tgsi.c
 create mode 100644 src/mesa/state_tracker/st_atifs_to_tgsi.h

-- 
2.8.0.rc3



More information about the mesa-dev mailing list