[Mesa-dev] [PATCH 00/75] Gallium Nine patches for Mesa 13

Nicolai Hähnle nhaehnle at gmail.com
Thu Oct 6 07:31:30 UTC 2016


On 05.10.2016 22:08, Axel Davy wrote:
> Hi there,
>
> here is our serie for Mesa 13.
>
> Basically there are a lot of fixes, from solving app crashes, hangs
> and important visual bugs, to lightning issues on old apps.
>
> On the feature side, now the few apps that were missing multisampling
> settings now have some. Old apps needing Software Vertex Processing
> should now work, and The Sims 2 (which needs ProcessVertices with vs3
> support) works (These are not yet supported by wine ogl, but this is
> likely to come as well on their side in some near future).

Wow, that looks like a lot of work! :)

I'm not familiar with the whole Nine process, so perhaps this is a dumb 
question, but is there any particular reason why that work hasn't 
happened more gradually in master instead of being dumped in one go like 
this?

Anyway, I obviously can't speak for most of this series, but with 
Roland's comment on #1 addressed, patches 1-2 are

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

>
> Yours,
>
> Axel
>
> Axel Davy (50):
>   llvmpipe: Fix overflow for 32 bits available memory computation
>   gallium/util: Really allow aliasing for u_box_union_*
>   st/nine: Unify some check flags
>   st/nine: Fix some check flags
>   st/nine: Disable seamless cubemap for d3d
>   st/nine: Use fixed size arrays for swapchain buffers
>   st/nine: Wait for pending tasks to execute in swapchain
>   st/nine: Implement relative addressing for ps inputs
>   st/nine: Implement D3DUSAGE_SOFTWAREPROCESSING
>   st/nine: Implement SetNPatchMode
>   st/nine: Initial mixed vertex processing support
>   st/nine: Add support for swvp constants in shaders
>   st/nine: Drop unused constant upload path
>   st/nine: Change dirty tracking for vs int and bool constants
>   st/nine: Rework vs int and bool constants buffer
>   st/nine: Partial software vertex processing support
>   st/nine: Initial ProcessVertices support
>   st/nine: Handle D3DRS_NORMALIZENORMALS
>   st/nine: No need for the local flag for temporaries in ff
>   st/nine: Cleaning code for vs temporaries
>   st/nine: Small simplification for position_t and fog
>   st/nine: Reorganize ff vtx processing
>   st/nine: Fix vertex blending aVtx computation
>   st/nine: Compact ff vs constants a bit
>   st/nine: Increase MaxVertexBlendMatrixIndex
>   st/nine: Implement normal transformation with vertex blending
>   st/nine: Undefined specular should be full of zeros
>   st/nine: Fix ff SPECULARENABLE
>   st/nine: Use materials if source is not given.
>   st/nine: Disable ff vertex blending if required inputs are missing
>   st/nine: Fix tweening factor computation
>   st/nine: Fix wrong mask in ff vs
>   st/nine: Enable passthrough only if positiont is used
>   st/nine: Implement SPHEREMAP
>   st/nine: Used normed Vtx for reflectionvector
>   st/nine: Fix ff computation for inverse
>   st/nine: Fix texbem
>   st/nine: Allocate temporaries on demand for ps ff
>   st/nine: Do not pollute rTmp in ff ps
>   st/nine: Initialize ps ff registers
>   st/nine: Do always accumulate diffuse
>   st/nine: Fix condition for specular lightning
>   st/nine: Disable parts of lighting calculation if no normal provided
>   st/nine: Fix specular w coordinate
>   st/nine: Fix the calculation of the number of vs inputs
>   st/nine: Handle user clipping planes properly for ff
>   st/nine: Properly declare sampler states for ff
>   st/nine: Fix D3DFMT_NULL size
>   st/nine: Fix check and remove useless code in swapchain9
>   st/nine: More checks for GetRenderTargetData
>
> Patrick Rudolph (25):
>   st/nine: Fix buffer count check for Ex devices
>   st/nine: Add missing break
>   st/nine: Allocate more space for ATI1
>   st/nine: Move assert in NineSurface9_ctor
>   st/nine: Print interface id in NineUnknown_QueryInterface
>   st/nine: Print interface id in NineSurface9_GetContainer
>   st/nine: Print interface id in NineVolume9_GetContainer
>   st/nine: Fix assert in NineUnknown_QueryInterface
>   st/nine: Add debugging output
>   st/nine: Allocate surface resources in surface ctor
>   st/nine: Return device in NineSurface9_GetContainer
>   st/nine: Implement {Set/Get/Free}PrivateData in iunknown
>   st/nine: Switch {Set/Get/Free}PrivateData functions
>   st/nine: Remove volume9 {Set/Get/Free}PrivateData functions
>   st/nine: Remove resource9 {Set/Get/Free}PrivateData functions
>   st/nine: Fix compiler warning
>   st/nine: Add additional error handling in CheckDeviceMultiSampleType
>   st/nine: Prepare update_framebuffer for MS quality levels
>   st/nine: Implement MSAA quality levels
>   st/nine: Use NineDevice9_CreateDepthStencilSurface in swapchain9
>   st/nine: Assert on buffer creation failure
>   st/nine: handle possible failure of D3DWindowBuffer_create
>   st/nine: Set CLAMP_TO_EDGE on cubetextures
>   st/nine: Prevent crash in GetRenderTargetData
>   st/nine: Add debug output for lost devices
>
>  src/gallium/auxiliary/os/os_misc.c                 |   2 +-
>  src/gallium/auxiliary/util/u_box.h                 |  31 +-
>  src/gallium/drivers/llvmpipe/lp_screen.c           |   5 +
>  src/gallium/state_trackers/nine/adapter9.c         |  59 +-
>  src/gallium/state_trackers/nine/buffer9.c          |   5 +-
>  src/gallium/state_trackers/nine/cubetexture9.c     |   6 +-
>  src/gallium/state_trackers/nine/device9.c          | 386 ++++++-----
>  src/gallium/state_trackers/nine/device9.h          |  15 +-
>  src/gallium/state_trackers/nine/indexbuffer9.c     |   6 +-
>  src/gallium/state_trackers/nine/iunknown.c         | 127 +++-
>  src/gallium/state_trackers/nine/iunknown.h         |  20 +
>  src/gallium/state_trackers/nine/nine_defines.h     |   8 +
>  src/gallium/state_trackers/nine/nine_ff.c          | 555 +++++++++-------
>  src/gallium/state_trackers/nine/nine_ff.h          |   3 -
>  src/gallium/state_trackers/nine/nine_lock.c        | 118 ++--
>  src/gallium/state_trackers/nine/nine_pdata.h       |   4 +-
>  src/gallium/state_trackers/nine/nine_pipe.c        |  16 +-
>  src/gallium/state_trackers/nine/nine_pipe.h        |  79 ++-
>  src/gallium/state_trackers/nine/nine_shader.c      | 262 ++++++--
>  src/gallium/state_trackers/nine/nine_shader.h      |  77 +++
>  src/gallium/state_trackers/nine/nine_state.c       | 731 ++++++++++++++++-----
>  src/gallium/state_trackers/nine/nine_state.h       |  40 +-
>  src/gallium/state_trackers/nine/pixelshader9.c     |   2 +
>  src/gallium/state_trackers/nine/resource9.c        | 115 +---
>  src/gallium/state_trackers/nine/resource9.h        |  20 -
>  src/gallium/state_trackers/nine/stateblock9.c      | 125 +++-
>  src/gallium/state_trackers/nine/surface9.c         | 100 ++-
>  src/gallium/state_trackers/nine/surface9.h         |   7 +
>  src/gallium/state_trackers/nine/swapchain9.c       | 170 +++--
>  src/gallium/state_trackers/nine/swapchain9.h       |   8 +-
>  src/gallium/state_trackers/nine/texture9.c         |  10 +-
>  src/gallium/state_trackers/nine/vertexbuffer9.c    |   6 +-
>  .../state_trackers/nine/vertexdeclaration9.c       |  65 +-
>  .../state_trackers/nine/vertexdeclaration9.h       |  10 +-
>  src/gallium/state_trackers/nine/vertexshader9.c    |  58 +-
>  src/gallium/state_trackers/nine/vertexshader9.h    |  20 +-
>  src/gallium/state_trackers/nine/volume9.c          | 112 +---
>  src/gallium/state_trackers/nine/volume9.h          |  20 -
>  src/gallium/state_trackers/nine/volumetexture9.c   |   6 +-
>  39 files changed, 2212 insertions(+), 1197 deletions(-)
>


More information about the mesa-dev mailing list