[Mesa-dev] [PATCH 00/53] Gallium Nine fixes
Axel Davy
axel.davy at ens.fr
Wed Jan 7 08:36:10 PST 2015
Most of the patches of this serie are fixes,
that's why most of them are CC 10.4
The patches can be retrived here:
https://github.com/iXit/Mesa-3D/tree/submit_mesa
Some of them may not appear directly as fixes, so little
explanation is required:
"st/nine: Add ATI1 and ATI2 support"
These two compression formats are supported by all three
vendors since very long ago. Some apps like Mass Effect 2
just use them without checking their support, and crash.
This patch adds support for these format, and then fixes
these games. It makes however a little difference for Unigine
Heaven which was checking properly the support of the format and
that uses it after the patch.
"st/nine: Fix POW implementation" and other similar short patches to nine_shader
On some games, a little difference on the behaviour of corner cases of the
instructions will make some textures black, some shadows red, etc.
Several games are fixed by these patches (Though we still have some games with
black textures or red shadows :-) )
"st/nine: implement TEXM3x2DEPTH" and similar
These are ps 1.X instructions. Few games (mostly old ones) use these
instructions. All graphic cards are supposed to support them, and
any game trying to use them before these patches will result in a crash.
So implementing these missing instructions is a fix.
The patches of this series have been tested by several testers the last
few months. We do not expect any regression. That doesn't mean there is
no mistake in these patches, so please review :-)
Axel Davy (48):
st/nine: Fix clip state logic
st/nine: Add new texture format strings
st/nine: Correctly advertise D3DPMISCCAPS_CLIPTLVERTS
st/nine: NineBaseTexture9: fix setting of last_layer
st/nine: CubeTexture: fix GetLevelDesc
st/nine: Fix crash when deleting non-implicit swapchain
st/nine: Return D3DERR_INVALIDCALL when trying to create a texture of
bad format
st/nine: NineBaseTexture9: update sampler view creation
st/nine: Check if srgb format is supported before trying to use it.
st/nine: Add ATI1 and ATI2 support
st/nine: Rework of boolean constants
st/nine: Convert integer constants to floats before storing them when
cards don't support integers
st/nine: Remove some shader unused code
st/nine: Clamp color inputs for ps <= 2.0 at ps level instead of vs
st/nine: Saturate oFog and oPts vs outputs
st/nine: Correctly declare NineTranslateInstruction_Mkxn inputs
st/nine: Fix typo for M4x4
st/nine: Fix POW implementation
st/nine: Handle RSQ special cases
st/nine: Handle NRM with input of null norm
st/nine: Correct LOG on negative values
st/nine: Rewrite LOOP implementation, and a0 aL handling
st/nine: Match REP implementation to LOOP
st/nine: Fix CND implementation
st/nine: Remove duplicated code for ps texcoord input declaration
st/nine: Clamp ps 1.X constants
st/nine: Fix some fixed function pipeline operation
st/nine: Fix CALLNZ implementation
st/nine: Implement TEXCOORD special behaviours
st/nine: Fill missing dst and src number for some instructions.
st/nine: Fix TEXM3x3 and implement TEXM3x3VSPEC
st/nine: implement TEXM3x2DEPTH
st/nine: Implement TEXM3x2TEX
st/nine: Implement TEXM3x3SPEC
st/nine: Implement TEXDEPTH
st/nine: Implement TEXDP3
st/nine: Implement TEXDP3TEX
st/nine: Implement TEXREG2AR, TEXREG2GB and TEXREG2RGB
st/nine: Implement ps3 advanced input definition feature
st/nine: Correct rules for relative adressing and constants.
st/nine: Remove unused code for ps
st/nine: Fix sm3 relative addressing for non-debug build
st/nine: Add variables containing the size of the constant buffers
st/nine: Allocate the correct size for the user constant buffer
st/nine: Allocate vs constbuf buffer for indirect addressing once.
st/nine: Explicit nine requirements
st/nine: Change comment relating to vertex shader inputs not matching
declaration
st/nine: Correctly handle when ff vs should have no texture coord
input/output
David Heidelberg (1):
st/nine: query: remove unused variable (trivial)
Stanislaw Halik (1):
st/nine: Hack to generate resource if it doesn't exist when getting
view
xavier (3):
st/nine: Additional defines to d3dtypes.h
st/nine: Add missing c++ declaration for IDirect3DVolumeTexture9
st/nine: Fix D3DRS_POINTSPRITE support
include/D3D9/d3d9.h | 10 +
include/D3D9/d3d9types.h | 13 +
src/gallium/state_trackers/nine/adapter9.c | 113 ++--
src/gallium/state_trackers/nine/basetexture9.c | 60 +-
src/gallium/state_trackers/nine/cubetexture9.c | 14 +-
src/gallium/state_trackers/nine/device9.c | 130 +++--
src/gallium/state_trackers/nine/device9.h | 8 +-
src/gallium/state_trackers/nine/nine_ff.c | 37 +-
src/gallium/state_trackers/nine/nine_pipe.h | 5 +
src/gallium/state_trackers/nine/nine_shader.c | 699 ++++++++++++++++-------
src/gallium/state_trackers/nine/nine_state.c | 87 +--
src/gallium/state_trackers/nine/nine_state.h | 3 +-
src/gallium/state_trackers/nine/pixelshader9.c | 10 +-
src/gallium/state_trackers/nine/pixelshader9.h | 2 -
src/gallium/state_trackers/nine/query9.c | 1 -
src/gallium/state_trackers/nine/stateblock9.c | 4 +-
src/gallium/state_trackers/nine/surface9.c | 29 +-
src/gallium/state_trackers/nine/swapchain9.c | 2 +-
src/gallium/state_trackers/nine/texture9.c | 9 +-
src/gallium/state_trackers/nine/volumetexture9.c | 14 +-
20 files changed, 842 insertions(+), 408 deletions(-)
--
2.1.3
More information about the mesa-dev
mailing list