Timur Kristóf
fd5075e059
iris: Face should be a system value.
...
This patch adds PIPE_CAP_TGSI_FS_FACE_IS_INTEGER_SYSVAL which
despite its name is not a TGSI-specific capability, just lets
the state tracker know that it should generate a system value
for FACE.
This is needed if we want to run tgsi_to_nir on iris.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2019-03-11 14:02:40 -07:00
Eric Anholt
3a9e2d6085
vc4: Switch the post-RA scheduler over to the DAG datastructure.
...
Just a small code reduction from shared infrastructure.
2019-03-11 13:14:37 -07:00
Eric Anholt
33886474d6
v3d: Use the DAG datastructure for QPU instruction scheduling.
...
Just a small code reduction from shared infrastructure.
2019-03-11 13:14:32 -07:00
Eric Anholt
d6d83b34ee
vc4: Reuse list_for_each_entry_rev().
2019-03-11 13:14:32 -07:00
Eric Anholt
7c01ddbf7f
v3d: Reuse list_for_each_entry_rev().
2019-03-11 13:14:32 -07:00
Eric Anholt
7a727c1a12
vc4: Switch over to using the DAG datastructure for QIR scheduling.
...
Just a small code reduction from shared infrastructure.
2019-03-11 13:14:18 -07:00
Eric Anholt
0533d2d95c
util: Add a DAG datastructure.
...
I keep writing this for various schedulers.
Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
2019-03-11 13:13:52 -07:00
Kristian H. Kristensen
5f0a922c27
freedreno/a6xx: Remove extra parens
...
There's a warning about this now.
Signed-off-by: Kristian H. Kristensen <hoegsberg@chromium.org>
2019-03-11 11:37:53 -07:00
Kristian H. Kristensen
08c452bef7
freedreno: Use c_vis_args and no_override_init_args
...
Signed-off-by: Kristian H. Kristensen <hoegsberg@chromium.org>
2019-03-11 11:37:53 -07:00
Chia-I Wu
24af64baa5
turnip: preliminary support for Wayland WSI
2019-03-11 10:02:13 -07:00
Chia-I Wu
ae82b5df88
turnip: preliminary support for tu_GetImageSubresourceLayout
2019-03-11 10:02:13 -07:00
Chad Versace
6cb5fd0d71
turnip: Use Vulkan 1.1 names instead of KHR
...
That is, drop KHR from all tokens that were promoted to Vulkan 1.1.
The consistency makes ctags more useful (it now jumps directly to the
real definitions in vulkan_core.h instead of the typedefs); and it makes
the code slightly less verbose.
2019-03-11 10:02:13 -07:00
Chia-I Wu
4f863dc0f7
turnip: guard -Dvulkan-driver=freedreno
...
Require -DI-love-half-baked-turnips=true as well to enable freedreno
vulkan driver.
2019-03-11 10:02:13 -07:00
Chia-I Wu
949ce2745d
turnip: preliminary support for tu_CmdDraw
2019-03-11 10:02:13 -07:00
Chia-I Wu
f9b34622cd
turnip: preliminary support for draw state binding
...
This adds support for tu_CmdBindPipeline, tu_CmdBindVertexBuffers,
etc.
2019-03-11 10:02:13 -07:00
Chia-I Wu
54b7a57c22
turnip: add draw_cs to tu_cmd_buffer
...
It will hold draw commands.
2019-03-11 10:02:13 -07:00
Chia-I Wu
1cdbab016e
turnip: parse VkPipelineVertexInputStateCreateInfo
2019-03-11 10:02:13 -07:00
Chia-I Wu
d17096b9b1
turnip: parse VkPipelineShaderStageCreateInfo
2019-03-11 10:02:13 -07:00
Chia-I Wu
a7d842c97c
turnip: compile VkPipelineShaderStageCreateInfo
...
Compile all shaders and upload the binaries to a BO.
2019-03-11 10:02:13 -07:00
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
9e0d878787
turnip: parse VkPipeline{Multisample,ColorBlend}StateCreateInfo
2019-03-11 10:02:13 -07:00
Chia-I Wu
bec0abf294
turnip: parse VkPipelineDepthStencilStateCreateInfo
2019-03-11 10:02:13 -07:00
Chia-I Wu
9496b377ff
turnip: parse VkPipelineRasterizationStateCreateInfo
2019-03-11 10:02:13 -07:00
Chia-I Wu
b4884761e8
turnip: parse VkPipelineViewportStateCreateInfo
2019-03-11 10:02:13 -07:00
Chia-I Wu
1bea6a91cb
turnip: parse VkPipelineInputAssemblyStateCreateInfo
2019-03-11 10:02:13 -07:00
Chia-I Wu
c584c2e86c
turnip: parse VkPipelineDynamicStateCreateInfo
2019-03-11 10:02:13 -07:00
Chia-I Wu
df48cb7b3e
turnip: create a less dummy pipeline
...
Still dummy, but at least it is created from tu_pipeline_builder.
2019-03-11 10:02:13 -07:00
Chia-I Wu
57327626dc
turnip: simplify tu_cs sub-streams usage
...
Let tu_cs_begin_sub_stream imply tu_cs_reserve_space, and
tu_cs_end_sub_stream imply tu_cs_sanity_check. Callers are no
longer required to call them (but can still do if they choose to).
2019-03-11 10:02:13 -07:00
Chia-I Wu
59419bb691
turnip: fix tu_cs sub-streams
...
Update cs->start in tu_cs_end_sub_stream. Otherwise, the entry
would include commands from all prior sub-streams.
2019-03-11 10:02:13 -07:00
Chia-I Wu
c0567e84db
turnip: tu_cs_emit_array
...
Array version of tu_cs_emit. Useful for updating multiple
consecutive array-like registers, or loading a shader binary with
SS6_DIRECT.
2019-03-11 10:02:13 -07:00
Chia-I Wu
fffaa9b4b3
turnip: add tu_cs_discard_entries
...
We will start a draw IB at the beginning of a subpass and consume it
at the end of the subpass. With tu_cs_discard_entries, we can reuse
the same tu_cs for all subpasses.
2019-03-11 10:02:13 -07:00
Chia-I Wu
10c5013442
turnip: more/better asserts for tu_cs
...
Asserting (cur < end) in tu_cs_emit catches much less programming
errors comparing to asserting (cur < reserved_end). We should never
write more commands than what we have reserved.
Assert IB is non-empty and sane in tu_cs_emit_ib.
2019-03-11 10:02:13 -07:00
Chia-I Wu
aa7dd6cb7f
turnip: use 32-bit offset in tu_cs_entry
...
We don't support nor expect BOs to be that big in tu_cs.
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
Eric Engestrom
4a48dd9fb8
turnip: use the platform defines in vk.xml instead of hard-coding them
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
2019-03-11 10:02:13 -07:00
Bas Nieuwenhuizen
0d12bcbfa7
turnip: Add todo for copies.
2019-03-11 10:02:13 -07:00
Bas Nieuwenhuizen
51115e7201
turnip: Add buffer->image DMA copies.
...
Passes dEQP-VK.api.copy_and_blit.core.buffer_to_image.*
2019-03-11 10:02:13 -07:00
Bas Nieuwenhuizen
6616563472
turnip: Add image->buffer DMA copies.
...
Passes dEQP-VK.api.copy_and_blit.core.image_to_buffer.*
2019-03-11 10:02:13 -07:00
Bas Nieuwenhuizen
d76a1e2aa1
turnip: Implement buffer->buffer DMA copies.
...
Passes dEQP-VK.api.copy_and_blit.core.buffer_to_buffer.*
2019-03-11 10:02:13 -07:00
Bas Nieuwenhuizen
bafbf3bafe
turnip: Add tu6_rb_fmt_to_ifmt.
2019-03-11 10:02:13 -07:00
Bas Nieuwenhuizen
148876d424
turnip: Make tu6_emit_event_write shared.
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
08b1c3fc7f
turnip: respect color attachment formats
...
Make tu6_get_native_format available to tu_cmd_buffer and start
using of it.
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
15319963fa
turnip: fix VkClearValue packing
...
Add tu_pack_clear_value to correctly pack VkClearValue according to
VkFormat. It ignores the component order defined by VkFormat, and
always packs to WZYX order.
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
6d1c4049de
turnip: advertise VK_KHR_external_memory
...
AFAICT, it is supported. We don't need to handle any of the new
structs because our BOs can always be exported.
2019-03-11 10:02:13 -07:00
Chia-I Wu
0253845272
turnip: advertise VK_KHR_external_memory_capabilities
...
AFAICT, it is supported.
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
Chad Versace
d5239bc59c
turnip: Fix error behavior for VkPhysicalDeviceExternalImageFormatInfo
...
If the handle type is unsupported, then the spec requires us to return
VK_ERROR_FORMAT_NOT_SUPPORTED.
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Closes: https://gitlab.freedesktop.org/bnieuwenhuizen/mesa/merge_requests/17
2019-03-11 10:02:13 -07:00