Changes in v2: - Change from PIPE_SHADER_CAP_* to PIPE_CAP_* - Fix broken feature detection in the state tracker - Move code in AlgebraicOpt::handleSULDP() to nv50_ir_ra.cpp
This patch series implements EXT_shader_image_load_formatted on Maxwell+. It should implement all of the spec except, if the extension is enabled, passing image variables without a format qualifier to atomic operations will not raise a compilation error like it should. This is because knowing the format used in an image operation before function inlining can be difficult, because formats don't have to (and currently can't) be specified in the paramter declaration. So this series leaves this issue to hopefully be resolved in a later patch. Rhys Perry (5): gallium: add support for formatted image loads mesa,glsl: add support for EXT_shader_image_load_formatted st/mesa: add support for EXT_shader_image_load_formatted nv50/ir: use suld.p on GM107+ nvc0,nv50/ir: enable support for formatted image loads on GM107+ src/compiler/glsl/ast_to_hir.cpp | 5 ++++ src/compiler/glsl/glsl_parser_extras.cpp | 1 + src/compiler/glsl/glsl_parser_extras.h | 7 +++++ 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 + src/gallium/drivers/nouveau/codegen/nv50_ir.h | 4 +++ .../drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 34 ++++++++++++++-------- .../nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 6 +--- .../drivers/nouveau/codegen/nv50_ir_print.cpp | 17 +++++++++++ src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp | 27 ++++++++++++++++- src/gallium/drivers/nouveau/nv30/nv30_screen.c | 1 + src/gallium/drivers/nouveau/nv50/nv50_screen.c | 1 + src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 2 ++ 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/v3d/v3d_screen.c | 1 + src/gallium/drivers/vc4/vc4_screen.c | 1 + src/gallium/drivers/virgl/virgl_screen.c | 1 + src/gallium/include/pipe/p_defines.h | 1 + src/mesa/main/extensions_table.h | 1 + src/mesa/main/mtypes.h | 1 + src/mesa/state_tracker/st_extensions.c | 1 + 28 files changed, 104 insertions(+), 18 deletions(-) -- 2.14.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev