This patch set adds support for GL_ARB_sample_locations in mesa core, gallium, the mesa OpenGL state tracker and the nvc0 driver.
Changes in v2: - various minor changes/cleanups (mostly formatting and style changes) - improve error handling - don't expose the ARB_* variant on ES - expose NV_sample_locations so the feature is available on ES - decouple framebuffer and sample location state in the state tracker and nvc0 - rebase to upstream master Rhys Perry (5): mesa: add support for ARB_sample_locations gallium: add support for programmable sample locations st/mesa: add support for ARB_sample_locations nvc0: add support for programmable sample locations docs/features: mark GL_ARB_sample_locations as DONE for nvc0 docs/features.txt | 2 +- src/gallium/auxiliary/util/u_framebuffer.c | 30 +++ src/gallium/auxiliary/util/u_framebuffer.h | 5 + src/gallium/docs/source/context.rst | 3 + src/gallium/docs/source/screen.rst | 3 + src/gallium/drivers/etnaviv/etnaviv_screen.c | 1 + src/gallium/drivers/freedreno/freedreno_screen.c | 1 + src/gallium/drivers/i915/i915_screen.c | 1 + src/gallium/drivers/llvmpipe/lp_screen.c | 1 + .../drivers/nouveau/codegen/nv50_ir_driver.h | 2 + .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 7 + .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 91 +++++++- .../nouveau/codegen/nv50_ir_lowering_nvc0.h | 2 + src/gallium/drivers/nouveau/nv30/nv30_screen.c | 1 + src/gallium/drivers/nouveau/nv50/nv50_miptree.c | 1 + src/gallium/drivers/nouveau/nv50/nv50_resource.h | 1 + src/gallium/drivers/nouveau/nv50/nv50_screen.c | 1 + src/gallium/drivers/nouveau/nvc0/nvc0_context.h | 15 +- src/gallium/drivers/nouveau/nvc0/nvc0_miptree.c | 1 + src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 3 + src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 32 +++ src/gallium/drivers/nouveau/nvc0/nvc0_state.c | 17 +- .../drivers/nouveau/nvc0/nvc0_state_validate.c | 174 +++++++++++--- src/gallium/drivers/r300/r300_screen.c | 1 + src/gallium/drivers/r600/r600_pipe.c | 1 + src/gallium/drivers/radeonsi/si_get.c | 1 + src/gallium/drivers/softpipe/sp_screen.c | 1 + src/gallium/drivers/svga/svga_screen.c | 1 + src/gallium/drivers/swr/swr_screen.cpp | 1 + src/gallium/drivers/vc4/vc4_screen.c | 1 + src/gallium/drivers/vc5/vc5_screen.c | 1 + src/gallium/drivers/virgl/virgl_screen.c | 1 + src/gallium/include/pipe/p_context.h | 31 ++- src/gallium/include/pipe/p_defines.h | 1 + src/gallium/include/pipe/p_screen.h | 11 + src/gallium/include/pipe/p_state.h | 1 + src/mapi/glapi/gen/gl_API.xml | 104 +++++++++ src/mesa/main/config.h | 9 + src/mesa/main/dd.h | 9 + src/mesa/main/extensions_table.h | 2 + src/mesa/main/fbobject.c | 256 ++++++++++++++++++--- src/mesa/main/fbobject.h | 20 ++ src/mesa/main/framebuffer.c | 10 + src/mesa/main/get.c | 31 +++ src/mesa/main/get_hash_params.py | 6 + src/mesa/main/mtypes.h | 9 + src/mesa/main/multisample.c | 18 ++ src/mesa/main/tests/dispatch_sanity.cpp | 10 + src/mesa/state_tracker/st_atom.h | 2 +- src/mesa/state_tracker/st_atom_list.h | 2 +- src/mesa/state_tracker/st_atom_msaa.c | 77 ++++++- src/mesa/state_tracker/st_cb_msaa.c | 27 +++ src/mesa/state_tracker/st_context.c | 7 +- src/mesa/state_tracker/st_context.h | 6 + src/mesa/state_tracker/st_extensions.c | 1 + 55 files changed, 971 insertions(+), 83 deletions(-) -- 2.14.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev