[Mesa-dev] [PATCH 0/6] vc5 driver to merge
Eric Anholt
eric at anholt.net
Sat Aug 19 00:13:42 UTC 2017
I'm feeling good enough about the core of the vc5 driver that I'd like
to merge it at this point.
I'm passing about 2/3 of tests in simulation with GLES3.0 exposed.
The current top piglit problems:
* polygonmode is still not a thing the hardware can do.
* MSAA isn't done.
* stencil blits aren't done.
* 16-bit unorm is broken.
I've set it up so that it only builds against the simulator for now,
since I don't have a kernel driver to merge yet and don't want any
ioctl calls to be present in somebody's mistakenly built experimental
driver.
Dave, does this sound OK to you as far as UABI concerns go? Anyone
else want to ack/nack merging at this early stage?
Eric Anholt (6):
nir: Move vc4's alpha test lowering to core NIR.
configure: Add the new "vc5" driver to the list, requiring a
simulator.
broadcom: Add V3D 3.3 QPU instruction pack, unpack, and disasm.
broadcom: Add vc5 CLIF dumping
broadcom: Add VC5 NIR compiler.
broadcom: Add V3D 3.3 gallium driver called "vc5", for BCM7268.
configure.ac | 14 +-
src/Makefile.am | 4 +
src/broadcom/Makefile.am | 14 +
src/broadcom/Makefile.sources | 20 +
src/broadcom/Makefile.vc5.am | 19 +
src/broadcom/clif/clif_dump.c | 268 +++
src/broadcom/clif/clif_dump.h | 42 +
src/broadcom/nir/nir_to_qir.c | 2079 ++++++++++++++++++++
src/broadcom/nir/qir.c | 644 ++++++
src/broadcom/nir/qir_dump.c | 334 ++++
src/broadcom/nir/qir_live_variables.c | 340 ++++
src/broadcom/nir/qir_lower_uniforms.c | 209 ++
src/broadcom/nir/qir_opt_copy_propagate.c | 233 +++
src/broadcom/nir/qir_opt_dead_code.c | 162 ++
src/broadcom/nir/qir_register_allocate.c | 253 +++
src/broadcom/nir/qir_to_qpu.c | 357 ++++
src/broadcom/nir/qpu_schedule.c | 1362 +++++++++++++
src/broadcom/nir/qpu_validate.c | 208 ++
src/broadcom/nir/vc5_compiler.c | 43 +
.../vc4/vc4_qir.h => broadcom/nir/vc5_compiler.h} | 796 ++++----
src/broadcom/nir/vc5_nir_lower_io.c | 181 ++
src/broadcom/qpu/qpu_disasm.c | 298 +++
src/broadcom/qpu/qpu_disasm.h | 39 +
src/broadcom/qpu/qpu_instr.c | 645 ++++++
src/broadcom/qpu/qpu_instr.h | 411 ++++
src/broadcom/qpu/qpu_pack.c | 1206 ++++++++++++
src/broadcom/qpu/qpu_validate.c | 0
src/broadcom/qpu/tests/.gitignore | 1 +
src/broadcom/qpu/tests/qpu_disasm.c | 146 ++
src/compiler/Makefile.sources | 1 +
src/compiler/nir/nir.h | 2 +
src/compiler/nir/nir_builder.h | 25 +
src/compiler/nir/nir_lower_alpha_test.c | 111 ++
src/compiler/shader_enums.h | 17 +
src/gallium/Makefile.am | 5 +
.../auxiliary/pipe-loader/pipe_loader_drm.c | 5 +
src/gallium/auxiliary/target-helpers/drm_helper.h | 23 +
.../auxiliary/target-helpers/drm_helper_public.h | 3 +
src/gallium/drivers/vc4/vc4_nir_lower_blend.c | 50 -
src/gallium/drivers/vc4/vc4_program.c | 15 +-
src/gallium/drivers/vc4/vc4_qir.h | 1 -
src/gallium/drivers/vc5/.editorconfig | 3 +
src/gallium/drivers/vc5/Automake.inc | 9 +
src/{broadcom => gallium/drivers/vc5}/Makefile.am | 46 +-
src/gallium/drivers/vc5/Makefile.sources | 26 +
src/gallium/drivers/vc5/vc5_blit.c | 226 +++
src/gallium/drivers/vc5/vc5_bufmgr.c | 580 ++++++
src/gallium/drivers/vc5/vc5_bufmgr.h | 140 ++
src/gallium/drivers/vc5/vc5_cl.c | 86 +
src/gallium/drivers/vc5/vc5_cl.h | 248 +++
src/gallium/drivers/vc5/vc5_context.c | 172 ++
src/gallium/drivers/vc5/vc5_context.h | 504 +++++
src/gallium/drivers/vc5/vc5_draw.c | 606 ++++++
src/gallium/drivers/vc5/vc5_drm.h | 189 ++
src/gallium/drivers/vc5/vc5_emit.c | 497 +++++
src/gallium/drivers/vc5/vc5_fence.c | 93 +
src/gallium/drivers/vc5/vc5_formats.c | 412 ++++
src/gallium/drivers/vc5/vc5_job.c | 434 ++++
src/gallium/drivers/vc5/vc5_program.c | 678 +++++++
src/gallium/drivers/vc5/vc5_query.c | 91 +
src/gallium/drivers/vc5/vc5_rcl.c | 217 ++
src/gallium/drivers/vc5/vc5_resource.c | 763 +++++++
src/gallium/drivers/vc5/vc5_resource.h | 158 ++
src/gallium/drivers/vc5/vc5_screen.c | 648 ++++++
src/gallium/drivers/vc5/vc5_screen.h | 107 +
src/gallium/drivers/vc5/vc5_simulator.c | 682 +++++++
src/gallium/drivers/vc5/vc5_state.c | 580 ++++++
src/gallium/drivers/vc5/vc5_tiling.c | 402 ++++
src/gallium/drivers/vc5/vc5_tiling.h | 43 +
src/gallium/drivers/vc5/vc5_uniforms.c | 416 ++++
src/gallium/targets/dri/Makefile.am | 1 +
src/gallium/targets/dri/target.c | 4 +
.../winsys/vc5/drm/Android.mk} | 46 +-
.../winsys/vc5/drm}/Makefile.am | 36 +-
src/gallium/winsys/vc5/drm/Makefile.sources | 3 +
src/gallium/winsys/vc5/drm/vc5_drm_public.h | 31 +
src/gallium/winsys/vc5/drm/vc5_drm_winsys.c | 35 +
77 files changed, 19235 insertions(+), 563 deletions(-)
create mode 100644 src/broadcom/Makefile.vc5.am
create mode 100644 src/broadcom/clif/clif_dump.c
create mode 100644 src/broadcom/clif/clif_dump.h
create mode 100644 src/broadcom/nir/nir_to_qir.c
create mode 100644 src/broadcom/nir/qir.c
create mode 100644 src/broadcom/nir/qir_dump.c
create mode 100644 src/broadcom/nir/qir_live_variables.c
create mode 100644 src/broadcom/nir/qir_lower_uniforms.c
create mode 100644 src/broadcom/nir/qir_opt_copy_propagate.c
create mode 100644 src/broadcom/nir/qir_opt_dead_code.c
create mode 100644 src/broadcom/nir/qir_register_allocate.c
create mode 100644 src/broadcom/nir/qir_to_qpu.c
create mode 100644 src/broadcom/nir/qpu_schedule.c
create mode 100644 src/broadcom/nir/qpu_validate.c
create mode 100644 src/broadcom/nir/vc5_compiler.c
copy src/{gallium/drivers/vc4/vc4_qir.h => broadcom/nir/vc5_compiler.h} (52%)
create mode 100644 src/broadcom/nir/vc5_nir_lower_io.c
create mode 100644 src/broadcom/qpu/qpu_disasm.c
create mode 100644 src/broadcom/qpu/qpu_disasm.h
create mode 100644 src/broadcom/qpu/qpu_instr.c
create mode 100644 src/broadcom/qpu/qpu_instr.h
create mode 100644 src/broadcom/qpu/qpu_pack.c
create mode 100644 src/broadcom/qpu/qpu_validate.c
create mode 100644 src/broadcom/qpu/tests/.gitignore
create mode 100644 src/broadcom/qpu/tests/qpu_disasm.c
create mode 100644 src/compiler/nir/nir_lower_alpha_test.c
create mode 100644 src/gallium/drivers/vc5/.editorconfig
create mode 100644 src/gallium/drivers/vc5/Automake.inc
copy src/{broadcom => gallium/drivers/vc5}/Makefile.am (67%)
create mode 100644 src/gallium/drivers/vc5/Makefile.sources
create mode 100644 src/gallium/drivers/vc5/vc5_blit.c
create mode 100644 src/gallium/drivers/vc5/vc5_bufmgr.c
create mode 100644 src/gallium/drivers/vc5/vc5_bufmgr.h
create mode 100644 src/gallium/drivers/vc5/vc5_cl.c
create mode 100644 src/gallium/drivers/vc5/vc5_cl.h
create mode 100644 src/gallium/drivers/vc5/vc5_context.c
create mode 100644 src/gallium/drivers/vc5/vc5_context.h
create mode 100644 src/gallium/drivers/vc5/vc5_draw.c
create mode 100644 src/gallium/drivers/vc5/vc5_drm.h
create mode 100644 src/gallium/drivers/vc5/vc5_emit.c
create mode 100644 src/gallium/drivers/vc5/vc5_fence.c
create mode 100644 src/gallium/drivers/vc5/vc5_formats.c
create mode 100644 src/gallium/drivers/vc5/vc5_job.c
create mode 100644 src/gallium/drivers/vc5/vc5_program.c
create mode 100644 src/gallium/drivers/vc5/vc5_query.c
create mode 100644 src/gallium/drivers/vc5/vc5_rcl.c
create mode 100644 src/gallium/drivers/vc5/vc5_resource.c
create mode 100644 src/gallium/drivers/vc5/vc5_resource.h
create mode 100644 src/gallium/drivers/vc5/vc5_screen.c
create mode 100644 src/gallium/drivers/vc5/vc5_screen.h
create mode 100644 src/gallium/drivers/vc5/vc5_simulator.c
create mode 100644 src/gallium/drivers/vc5/vc5_state.c
create mode 100644 src/gallium/drivers/vc5/vc5_tiling.c
create mode 100644 src/gallium/drivers/vc5/vc5_tiling.h
create mode 100644 src/gallium/drivers/vc5/vc5_uniforms.c
copy src/{broadcom/Makefile.am => gallium/winsys/vc5/drm/Android.mk} (52%)
copy src/{broadcom => gallium/winsys/vc5/drm}/Makefile.am (66%)
create mode 100644 src/gallium/winsys/vc5/drm/Makefile.sources
create mode 100644 src/gallium/winsys/vc5/drm/vc5_drm_public.h
create mode 100644 src/gallium/winsys/vc5/drm/vc5_drm_winsys.c
--
2.14.1
More information about the mesa-dev
mailing list