svga: implement MSAA alpha_to_one feature
authorBrian Paul <brianp@vmware.com>
Fri, 21 Jul 2017 16:37:36 +0000 (10:37 -0600)
committerBrian Paul <brianp@vmware.com>
Tue, 25 Jul 2017 21:40:24 +0000 (15:40 -0600)
commit91735e2d4a25df0685e5f4c8f0a064f9d58c6b8e
treefe7bc1ef952fbc3067faa836287c27da54e7697d
parent71d3b69b239c2e2eb8b154229c5defc013b7c7b5
svga: implement MSAA alpha_to_one feature

The device doesn't directly support this feature so we implement it with
additional shader code which sets the color output(s) w component to
1.0 (or max_int or max_uint).

Fixes 16 Piglit ext_framebuffer_multisample/*alpha-to-one* tests.

v2: only support unorm/float buffers, not int/uint, per Roland.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
src/gallium/drivers/svga/svga_context.h
src/gallium/drivers/svga/svga_pipe_blend.c
src/gallium/drivers/svga/svga_shader.h
src/gallium/drivers/svga/svga_state_fs.c
src/gallium/drivers/svga/svga_tgsi_vgpu10.c