[Mesa-dev] Gallium and RadeonSI: new state for forcing per-sample interpolation
Marek Olšák
maraeo at gmail.com
Mon Sep 28 17:37:58 PDT 2015
Hi,
This consists of 2 patch series:
Gallium:
gallium: add per-sample interpolation control into rasterizer state
st/mesa: set force_persample_interp if ARB_sample_shading is used
st/mesa: automatically set per-sample interpolation if using SampleID/Pos
RadeonSI:
tgsi/scan: add interpolation info into tgsi_shader_info
radeonsi: move SPI_PS_INPUT_ENA/ADDR registers to a separate state
radeonsi: implement the simple case of force_persample_interp
radeonsi: do force_persample_interp in shaders for non-trivial cases
radeonsi: enable PIPE_CAP_FORCE_PERSAMPLE_INTERP
The idea is to stop emulating GL_SAMPLE_SHADING using shader variants in st/mesa and allow drivers to handle it however they want.
The RadeonSI implementation has 2 codepaths:
- Adjust the PS input state bits for trivial cases without touching the shader code.
- If that's not possible, use a conditional assignment that selects the interpolation weights based on a constant in the pixel shader.
Please review.
Ideas for r600g:
- Evergreen/Cayman would need to do it like radeonsi if somebody cares.
- R600-R700 only have a state for forcing per-sample interpolation, so that's easy.
Marek
More information about the mesa-dev
mailing list