[Mesa-dev] [PATCH 00/71] New Gallium Nine Fixes and Improvements
Axel Davy
axel.davy at ens.fr
Sun Aug 16 07:27:16 PDT 2015
Some patches we had in our pending queue for quite some time.
Overall not quite interesting set of patches, just minor
fixes or improvements.
As usual you can find the patch serie there:
https://github.com/iXit/Mesa-3D/commits/mesa_submit
Patch 2 is an interesting feature since instead of
advertizing gallium card names, we do advertize
the ones they have on win. Wine does the same.
Patches 3-7 are fixes
Patches 8-13 finish our implementation of software
cursor (used when hw cursor can't be used)
Patches 14-23 implement correct surface dirty region
tracking, and use it to avoid useless updates, like
specified in the documentation.
Patches 24-36 are fixes to our checks, and do solve
several Wine tests.
Patches 37-60 are several patches to rework how
we do handle state changes, and add support
for bumpmats and fog.
Initially the state rework was designed to simplify and
improve performance and there was a big switch where you'd
update only the corresponding gallium struct field
depending on the d3d9 state you'd change.
However it was not good for performance afterall.
As a result two or three of the patches are not
very useful for now, as they are just useless refactoring.
I hesitated to send them, but I'd still like have them
in.
Patches 61-67 are some more fixes or improvements
Patches 68-71 do silent some compilation warnings
Axel Davy (55):
st/nine: Fix Swizzle for ATI2 format
st/nine: Always set point_quad_rasterization to 1
st/nine: fix D3DRS_DITHERENABLE wrong state group
st/nine: Hide hardware cursor when we don't use it
st/nine: Force hw cursor for Windowed mode
st/nine: Do not call ID3DPresent_GetCursorPos for sw cursor
st/nine: Revert to sw cursor in case of failure to set hw cursor
st/nine: Simplify Volume9 dirty region tracking
st/nine: Split NineSurface9_CopySurface
st/nine: Simplify NineVolume9_CopyVolume
st/nine: SetAutoGenFilterType should regenerate the sublevels
st/nine: Add missing BASETEX_REGISTER_UPDATE calls
st/nine: Track dirty region for SYSTEMMEM too
st/nine: Textures start dirty
st/nine: Only update dirty rect for UpdateTexture
st/nine: Track managed textures
st/nine: Implement EvictManagedResources
st/nine: Fix StretchRect checks
st/nine: Fix FillColor Flag check
st/nine: Impose restrictions on DXTN texture sizes
st/nine: Fix Lock Checks for Compressed textures
st/nine: Remove group_mask argument from nine_update_state
st/nine: Reorder nine_state.
st/nine: Reorder DSA state settings
st/nine: Rework rasterizer states
st/nine: Avoid useless updates in SetSamplerState
st/nine: Improve fallback when driver doesn't support user buffers.
st/nine: Rework blend states
st/nine: Rework constant buffer state handling
st/nine: Rework ff constant buffers
st/nine: Fix fixed function fog support
st/nine: Begin programmable shader fog support
st/nine: Fix nine_ff_ps_key padding
st/nine: Remove useless variables
st/nine: Rework shader states
st/nine: Finish Fog implementation
st/nine: Revert to userbuf path when needed
st/nine: Advertise Fog flags
st/nine: Change a few advertised caps
st/nine: Complete ff texture transform implementation
st/nine: Programmable ps D3DTTSS_PROJECTED support
st/nine: Change nine_state_update order
st/nine: Implement ff vertex data passthrough
st/nine: Implement special DOTPRODUCT3 behaviour
st/nine: Remove NINED3DRS_ZBIASSCALE
st/nine: Better check shader constant limits
st/nine: Calculate dummy sampler state only once
st/nine: Use CSO cache for sampler views
st/nine: Fix the number of texture stages
st/nine: Avoid Constant upload when there is no change
st/nine: Catch setting the same shader
st/nine: Silent warning in update_vertex_buffer
st/nine: Silent warning in NineCubeTexture9_ctor
st/nine: Silent warning in sm1_declusage_to_tgsi
st/nine: Silent warning in nine_ff
Christoph Bumiller (1):
gallium: Add blending to pipe blit
David Heidelberg (1):
st/nine: Require gcc >= 4.6
Marek Olšák (1):
util/u_blitter: implement alpha blending for pipe->blit
Patrick Rudolph (12):
target/d3dadapter9: Return Windows like card names
st/nine: Align texture memory
st/nine: Account POINTSIZE_MIN and POINTSIZE_MAX for point size
st/nine: Fix GenerateMipSubLevels potential crash
st/nine: fix failing wine test device.c test_lockrect_invalid()
st/nine: Clean GetPrivateData
st/nine: Fix resource SetPriority/GetPriority
st/nine: Return NULL pointer in lock error cases
st/nine: Fail on D3DUSAGE_DYNAMIC for D3DPOOL_SCRATCH textures
st/nine: Return correct error codes in NineDevice9_Reset
st/nine: Prevent possible crash
st/nine: Fix use of uninitialized values
Tiziano Bacocco (1):
st/nine: Implement TEXBEM,TEXBEML and BEM
configure.ac | 4 +
src/gallium/auxiliary/util/u_blitter.c | 54 +-
src/gallium/auxiliary/util/u_blitter.h | 3 +-
src/gallium/auxiliary/util/u_surface.c | 3 +
src/gallium/drivers/i915/i915_surface.c | 3 +-
src/gallium/drivers/r300/r300_blit.c | 3 +-
src/gallium/drivers/r600/r600_blit.c | 3 +-
src/gallium/drivers/radeonsi/si_blit.c | 3 +-
src/gallium/include/pipe/p_state.h | 1 +
src/gallium/state_trackers/nine/adapter9.c | 38 +-
src/gallium/state_trackers/nine/basetexture9.c | 46 +-
src/gallium/state_trackers/nine/basetexture9.h | 6 +-
src/gallium/state_trackers/nine/cubetexture9.c | 27 +-
src/gallium/state_trackers/nine/device9.c | 432 +++++--
src/gallium/state_trackers/nine/device9.h | 13 +-
src/gallium/state_trackers/nine/nine_ff.c | 381 ++++---
src/gallium/state_trackers/nine/nine_ff.h | 81 ++
src/gallium/state_trackers/nine/nine_pipe.c | 43 +-
src/gallium/state_trackers/nine/nine_pipe.h | 67 +-
src/gallium/state_trackers/nine/nine_shader.c | 307 ++++-
src/gallium/state_trackers/nine/nine_shader.h | 49 +
src/gallium/state_trackers/nine/nine_state.c | 1324 ++++++++++++----------
src/gallium/state_trackers/nine/nine_state.h | 64 +-
src/gallium/state_trackers/nine/pixelshader9.c | 42 +-
src/gallium/state_trackers/nine/pixelshader9.h | 57 +-
src/gallium/state_trackers/nine/resource9.c | 20 +-
src/gallium/state_trackers/nine/stateblock9.c | 2 +-
src/gallium/state_trackers/nine/surface9.c | 213 ++--
src/gallium/state_trackers/nine/surface9.h | 14 +-
src/gallium/state_trackers/nine/swapchain9.c | 23 +-
src/gallium/state_trackers/nine/texture9.c | 31 +-
src/gallium/state_trackers/nine/vertexshader9.c | 33 +-
src/gallium/state_trackers/nine/vertexshader9.h | 34 +-
src/gallium/state_trackers/nine/volume9.c | 193 +---
src/gallium/state_trackers/nine/volume9.h | 19 +-
src/gallium/state_trackers/nine/volumetexture9.c | 18 +-
src/gallium/targets/d3dadapter9/Makefile.am | 1 +
src/gallium/targets/d3dadapter9/description.c | 324 ++++++
src/gallium/targets/d3dadapter9/drm.c | 76 +-
src/mesa/state_tracker/st_cb_blit.c | 1 +
40 files changed, 2673 insertions(+), 1383 deletions(-)
create mode 100644 src/gallium/targets/d3dadapter9/description.c
--
2.5.0
More information about the mesa-dev
mailing list