Chia-I Wu
970a8fec96
turnip: preliminary support for shader modules
...
Save SPIR-V in tu_shader_module. Tranlation to NIR happens in
tu_shader_create, and compilation to binary code happens in
tu_shader_compile. Both will be called during pipeline creation.
2019-03-11 10:02:13 -07:00
Chia-I Wu
b8a5e10d0d
turnip: mark IBs for dumping
...
Includes IBs in kernel cmdbuf dumps.
2019-03-11 10:02:13 -07:00
Bas Nieuwenhuizen
7238471587
turnip: Add buffer memory binding.
2019-03-11 10:02:13 -07:00
Chia-I Wu
68c27ea92b
turnip: preliminary support for fences
...
This should be quite complete feature-wise. External fences are
still missing. We probably also want to add a simpler path to
tu_WaitForFences for when fenceCount == 1.
2019-03-11 10:02:13 -07:00
Chia-I Wu
6545461041
turnip: add support for VK_KHR_external_memory_{fd,dma_buf}
2019-03-11 10:02:13 -07:00
Chia-I Wu
de89436216
turnip: add functions to import/export prime fd
...
Add tu_bo_init_dmabuf, tu_bo_export_dmabuf, tu_gem_import_dmabuf,
and tu_gem_export_dmabuf.
2019-03-11 10:02:13 -07:00
Chia-I Wu
7c4483de0e
turnip: preliminary support for tu_GetRenderAreaGranularity
...
Set it to tile alignments, 32x32 on 6xx.
2019-03-11 10:02:13 -07:00
Chia-I Wu
992ecdd40e
turnip: preliminary support for tu_BindImageMemory2
2019-03-11 10:01:41 -07:00
Chia-I Wu
ef49b07b83
turnip: add cmdbuf->bo_list to bo_list in queue submit
2019-03-11 10:01:41 -07:00
Chia-I Wu
7ad01913bd
turnip: build drm_msm_gem_submit_bo array directly
...
Build drm_msm_gem_submit_bo array directly in tu_bo_list. We might
change this again, but this is good enough for now.
There are other issues as well, such as not using
VkAllocationCallbacks and sloppy error checking. We should revisit
this in the near future. Same to tu_cs.
2019-03-11 10:01:41 -07:00
Chia-I Wu
45120127ea
turnip: run sed and clang-format on tu_cs
2019-03-11 10:01:41 -07:00
Kristian H. Kristensen
0801019d33
turnip: Only get bo offset when we need to mmap
...
The offset we get from MSM_INFO_GET_OFFSET is an offset into the drm fd
for the purpose of mmaping the buffer.
2019-03-11 10:01:41 -07:00
Chia-I Wu
2e684cb800
turnip: preliminary support for tu_QueueWaitIdle
...
This creates a new fd on each queue submit. I do not go with
DRM_IOCTL_MSM_WAIT_FENCE solely because the path is marked legacy.
Otherwise, we can use the fence id rather than requesting a fence
fd until external fences are supported and enabled.
2019-03-11 10:01:41 -07:00
Chia-I Wu
3809e6cf63
turnip: add wrappers around DRM_MSM_SUBMITQUEUE_*
...
Add tu_drm_submitqueue_new and tu_drm_submitqueue_close.
2019-03-11 10:01:41 -07:00
Chia-I Wu
fcf24f47aa
turnip: add wrappers around DRM_MSM_GET_PARAM
...
Add tu_drm_get_gpu_id and tu_drm_get_gmem_size.
2019-03-11 10:01:41 -07:00
Chia-I Wu
a25a803127
turnip: remove unnecessary libfreedreno_drm dep
...
Remove libfreedreno_drm dep and unused fd_device.
2019-03-11 10:01:41 -07:00
Chia-I Wu
91232c52fe
turnip: use msm_drm.h from inc_freedreno
...
The recent change to msm_drm.h changed the APIs in an incompatible
way.
2019-03-11 10:01:41 -07:00
Bas Nieuwenhuizen
4f32869e3d
turnip: Shorten primary_cmd_stream name.
...
It really is too long.
2019-03-11 10:01:41 -07:00
Bas Nieuwenhuizen
abe352525d
turnip: Implement submission.
2019-03-11 10:01:41 -07:00
Bas Nieuwenhuizen
65e0e79054
turnip: Add msm queue support.
2019-03-11 10:01:41 -07:00
Bas Nieuwenhuizen
48b65201a6
turnip: Implement some UUIDs.
2019-03-11 10:01:41 -07:00
Chia-I Wu
d30baaaba6
turnip: add .clang-format
...
Add and apply .clang-format.
2019-03-11 10:01:41 -07:00
Bas Nieuwenhuizen
6401ad389e
turnip: Implement pipe-less param query.
2019-03-11 10:01:41 -07:00
Bas Nieuwenhuizen
3d99dd55a0
turnip: Stop hardcoding the msm version check.
2019-03-11 10:01:41 -07:00
Bas Nieuwenhuizen
603354cffa
turnip: Fix memory mapping.
2019-03-11 10:01:41 -07:00
Bas Nieuwenhuizen
426f6e46a8
turnip: Fix bo allocation after we stopped using libdrm_freedreno ...
...
Al this figuring out new errors is why I don't like reinventing the
wheel.
2019-03-11 10:01:41 -07:00
Bas Nieuwenhuizen
f0a24e123f
turnip: Add 630 to the list.
2019-03-11 10:01:41 -07:00
Chad Versace
bf709dfe3f
turnip: Fix 'unused' warnings
...
Now turnip builds without warnings on my machine.
2019-03-11 10:01:41 -07:00
Chad Versace
359e9016c5
turnip: Replace fd_bo with tu_bo
...
(olv, after rebase) remove inc_drm_uapi
2019-03-11 10:01:33 -07:00
Chad Versace
eb16ec715f
turnip: Use vk_errorf() for initialization error messages
...
This small cleanup better prepares turnip for VK_EXT_debug_report.
2019-03-11 10:01:33 -07:00
Chad Versace
cca208a033
turnip: Require DRM device version >= 1.3
...
Because the driver will require support for iova.
2019-03-11 10:01:33 -07:00
Chad Versace
5486943ed9
turnip: Fix indentation
2019-03-11 10:01:33 -07:00
Chad Versace
99a5de14cb
turnip: Fix a real -Wmaybe-uninitialized
2019-03-11 10:01:33 -07:00
Chad Versace
75f2c8458b
turnip: Use vk_outarray in all relevant public functions
2019-03-11 10:01:33 -07:00
Chad Versace
3ec87d56bd
turnip: Fix result of vkEnumerate*ExtensionProperties
...
Given an unsupported layer name, the functions must return
VK_ERROR_LAYER_NOT_PRESENT.
2019-03-11 10:01:33 -07:00
Chad Versace
ee835c7790
turnip: Fix result of vkEnumerate*LayerProperties
...
The functions must not return VK_ERROR_LAYER_NOT_PRESENT. The spec
reserves that error for vkEnumerate*ExtensionProperties.
2019-03-11 10:01:33 -07:00
Chad Versace
daffb01704
turnip: Fix indentation in function signatures
...
Due to s/anv/tu/, in many function signatures the indentation of
parameters was off-by-one.
2019-03-11 10:01:33 -07:00
Bas Nieuwenhuizen
b4f3e0d549
turnip: Disable more features.
2019-03-11 10:01:33 -07:00
Bas Nieuwenhuizen
a01edd9c86
turnip: Initialize memory type in requirements.
2019-03-11 10:01:33 -07:00
Bas Nieuwenhuizen
7be2e1fc37
turnip: Cargo cult the Intel heap size functionality.
2019-03-11 10:01:33 -07:00
Bas Nieuwenhuizen
462b693d94
turnip: Report a memory type and heap.
2019-03-11 10:01:33 -07:00
Bas Nieuwenhuizen
8e52e8183c
turnip: Add buffer allocation & mapping support.
2019-03-11 10:01:33 -07:00
Bas Nieuwenhuizen
a0d62e4337
turnip: Fix newly introduced warning.
2019-03-11 10:01:33 -07:00
Bas Nieuwenhuizen
bcd15ab34e
turnip: Remove abort.
2019-03-11 10:01:33 -07:00
Bas Nieuwenhuizen
13ff7ffbcb
turnip: Gather some device info.
2019-03-11 10:01:33 -07:00
Bas Nieuwenhuizen
7922d50bd4
turnip: Fix up detection of device.
2019-03-11 10:01:33 -07:00
Bas Nieuwenhuizen
26380b3a9f
turnip: Add driver skeleton (v2)
...
meson files have been updated, autotools and android still need
updating.
Only build tested.
v2 (chadv):
- Rebase onto master.
- Fix build breakage in Python scripts.
- Drop the WSI code. The internal WSI apis have changed recently, and
will likely change again before the driver goes upstream. To avoid
unnecessary rebase work, let's drop the WSI code and re-add it when
we're ready to really use WSI.
(olv, after rebase) do not enable freedreno by default on ARM
2019-03-11 10:01:15 -07:00