[Mesa-dev] [PATCH 00/42] panfrost: Render target stuff
Alyssa Rosenzweig
alyssa.rosenzweig at collabora.com
Mon Jul 8 14:08:13 UTC 2019
This series is focused on rendering to more render target formats,
particularly ones that require the use of a blend shader. As an aside in
the middle, this leads us to implement preliminary fp16/i16 support in
the Midgard compiler.
Depends on the accompanying NIR and Gallium patches.
Alyssa Rosenzweig (42):
panfrost: Prepare some code for MRT
panfrost/mfbd: Include codes for float framebuffers
panfrost: Extend clear colour packing
panfrost/midgard: Passthrough nir_lower_framebuffer
panfrost/midgard: Move scale from MIR to NIR
panfrost/midgard: Rewrite to use new blend intrinsic
panfrost/midgard: Implement integer downsize ops
panfrost/midgard: Use nir_dest_num_components
panfrost/midgard: Move blend type conversion into NIR
panfrost/midgard: Route blend load intrinsic
panfrost/midgard: Implement upscaling type converts
panfrost/midgard: Fix blend constant scheduling bug
panfrost/midgard: Move blend shader loads to NIR
panfrost/midgard: Simplify blend read
panfrost/midgard: Verify src_bitsize == dst_bitsize
panfrost/midgard: Implement f2f16/f2f32
panfrost/midgard: Implement f2u16 and friends
panfrost/midgard: Allow fp16 in scalar ALU
panfrost/midgard: Hoist mask field
panfrost/midgard: Fix fp16 embedded constants
panfrost/midgard: Eliminate redundant type convert
panfrost/midgard: Handle fp16 in embedded_to_inline_constants
panfrost/midgard: Fix scalarification
panfrost/midgard: Remove opt_copy_prop_tex
panfrost/midgard: Use fp16 exclusively while blending
panfrost/midgard: Use Gallium framebuffer formats
panfrost: Pipe framebuffer format around
panfrost: Route format through fixed-function blending
panfrost: Handle "blend disabled" blend shaders
panfrost/midgard: Skip blend for REPLACE (shader)
panfrost/midgard: Implement preliminary float converters
panfrost: Set rt_count_2 for bpp>4 formats
panfrost/mfbd: Handle pure int formats
panfrost/midgard: Handle pure int formats
panfrost/midgard: Use unsigned blend patch offset
panfrost: Refactor blend infrastructure
panfrost: Implement ES3-format writeout
panfrost/midgard: Handle PIPE_FORMAT_B10G10R10A2_UNORM
panfrost/mfbd: Handle PIPE_FORMAT_B10G10R10A2_UNORM
panfrost/midgard: Cleanup blend switch
panfrost/mfbd: Cleanup format code selection
panfrost: Update supported formats
src/gallium/drivers/panfrost/meson.build | 2 +
.../drivers/panfrost/midgard/compiler.h | 7 +-
.../drivers/panfrost/midgard/helpers.h | 21 +-
.../panfrost/midgard/midgard_compile.c | 402 ++++++++----------
.../drivers/panfrost/midgard/midgard_emit.c | 61 ++-
.../panfrost/midgard/midgard_nir_algebraic.py | 22 +-
.../drivers/panfrost/midgard/midgard_ops.h | 9 +-
.../drivers/panfrost/midgard/midgard_ra.c | 25 +-
.../panfrost/midgard/midgard_schedule.c | 71 +++-
.../panfrost/midgard/nir_lower_blend.c | 37 +-
.../panfrost/midgard/nir_lower_blend.h | 4 +
.../panfrost/midgard/nir_lower_framebuffer.c | 345 +++++++++++++++
src/gallium/drivers/panfrost/pan_blend.h | 109 +++++
src/gallium/drivers/panfrost/pan_blend_cso.c | 268 ++++++++++++
.../drivers/panfrost/pan_blend_shaders.c | 70 +--
.../drivers/panfrost/pan_blend_shaders.h | 8 +-
src/gallium/drivers/panfrost/pan_blending.c | 100 +++--
src/gallium/drivers/panfrost/pan_blending.h | 10 +-
src/gallium/drivers/panfrost/pan_context.c | 167 ++------
src/gallium/drivers/panfrost/pan_context.h | 16 +-
src/gallium/drivers/panfrost/pan_job.c | 86 +++-
src/gallium/drivers/panfrost/pan_job.h | 8 +-
src/gallium/drivers/panfrost/pan_mfbd.c | 124 +++++-
src/gallium/drivers/panfrost/pan_screen.c | 50 +--
src/gallium/drivers/panfrost/pan_sfbd.c | 8 +-
25 files changed, 1438 insertions(+), 592 deletions(-)
create mode 100644 src/gallium/drivers/panfrost/midgard/nir_lower_framebuffer.c
create mode 100644 src/gallium/drivers/panfrost/pan_blend.h
create mode 100644 src/gallium/drivers/panfrost/pan_blend_cso.c
--
2.20.1
More information about the mesa-dev
mailing list