mesa/src/intel/vulkan
Jason Ekstrand 5ee3242837 anv: Patch constant data pointers into shaders with using softpin
When we have softpin, we know the address of the shader constant data at
shader upload time because it's sitting at the end of the shader.  This
commit changes ANV to use patch constants to embed the address in the
shader patch the right address in at upload time.  This allows us to
avoid having to set up a UBO binding on-the-fly for shader constants.

This commit uses an A64 message but it's quite possible that we could
also use an A32 message and make the dataport do the 64-bit add for us.
However, load_global is what we have right now so it was easier to just
use that.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6244>
2020-09-02 19:48:44 +00:00
..
tests anv/tests: Silence unused parameter warnings in main 2020-05-14 16:47:08 +00:00
anv_allocator.c anv/allocator: Compare to start_offset in state_pool_free_no_vg 2020-06-09 22:52:26 +00:00
anv_android.c anv: Pass device to setup_gralloc0_usage for error reporting 2020-08-05 18:08:07 +00:00
anv_android.h anv: Drop unneeded struct keywords 2020-01-03 11:32:34 -06:00
anv_android_stubs.c anv: Drop unneeded struct keywords 2020-01-03 11:32:34 -06:00
anv_batch_chain.c anv: refresh cached current batch bo after emitting some commands 2020-09-02 10:16:57 +00:00
anv_blorp.c anv: Stop storing the shader constant data side-band 2020-09-02 19:48:44 +00:00
anv_cmd_buffer.c anv: simplify push constant emissions 2020-08-28 09:58:46 +03:00
anv_descriptor_set.c anv: simplify push constant emissions 2020-08-28 09:58:46 +03:00
anv_device.c vulkan: make VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT conditional 2020-09-02 12:15:07 +10:00
anv_dump.c tree-wide: replace MAYBE_UNUSED with ASSERTED 2019-07-31 09:41:05 +01:00
anv_entrypoints_gen.py anv: Use resolve_device_entrypoint for dispatch init 2020-06-19 19:13:56 +00:00
anv_extensions.py anv: Implement VK_EXT_4444_formats 2020-08-03 17:50:03 +00:00
anv_extensions_gen.py anv: use the common code for generating extensions and dispatch tables 2020-05-13 08:45:28 +02:00
anv_formats.c anv: Implement VK_EXT_4444_formats 2020-08-03 17:50:03 +00:00
anv_gem.c anv: add new gem/drm helpers 2020-09-01 16:40:11 +00:00
anv_gem_stubs.c anv: add new gem/drm helpers 2020-09-01 16:40:11 +00:00
anv_genX.h anv: fix up dynamic clip emission 2020-08-11 10:07:08 +03:00
anv_icd.py anv: fix typo 2019-06-29 22:41:06 +01:00
anv_image.c anv: take depth in to account in anv_GetImageSubresourceLayout 2020-08-21 05:57:12 +00:00
anv_intel.c vulkan,anv: Add a common base object type for VkDevice 2020-05-04 14:06:27 +00:00
anv_nir.h anv/gen12: Lower VK_KHR_multiview using Primitive Replication 2020-04-07 17:16:09 +00:00
anv_nir_add_base_work_group_id.c anv: Rework push constant handling 2019-11-18 18:35:14 +00:00
anv_nir_apply_pipeline_layout.c anv: Patch constant data pointers into shaders with using softpin 2020-09-02 19:48:44 +00:00
anv_nir_compute_push_layout.c anv: fix robust buffer access 2020-08-31 19:24:42 +00:00
anv_nir_lower_multiview.c nir: Add nir_foreach_shader_in/out_variable helpers 2020-07-29 17:38:57 +00:00
anv_nir_lower_ycbcr_textures.c anv: use common nir_convert_ycbcr 2020-04-20 22:01:43 +00:00
anv_pass.c anv: call base finish only if pass given in DestroyRenderPass 2020-05-08 08:36:45 +03:00
anv_perf.c anv: VK_INTEL_performance_query interaction with VK_EXT_private_data 2020-08-31 15:59:36 +00:00
anv_pipeline.c anv: Stop storing the shader constant data side-band 2020-09-02 19:48:44 +00:00
anv_pipeline_cache.c anv: Patch constant data pointers into shaders with using softpin 2020-09-02 19:48:44 +00:00
anv_private.h anv: Patch constant data pointers into shaders with using softpin 2020-09-02 19:48:44 +00:00
anv_queue.c anv: implement shareable timeline semaphores 2020-09-01 16:40:11 +00:00
anv_util.c anv: Take a device in anv_perf_warn 2020-01-20 22:08:52 +00:00
anv_wsi.c anv: implement shareable timeline semaphores 2020-09-01 16:40:11 +00:00
anv_wsi_display.c vulkan,anv: Add a common base object type for VkDevice 2020-05-04 14:06:27 +00:00
anv_wsi_wayland.c anv: drop unused includes 2018-10-24 18:15:05 +01:00
anv_wsi_x11.c vulkan: drop always-true param 2018-10-26 18:33:11 +01:00
gen7_cmd_buffer.c anv: centralize vk to gen arrays 2020-08-11 10:07:08 +03:00
gen8_cmd_buffer.c anv: centralize vk to gen arrays 2020-08-11 10:07:08 +03:00
genX_blorp_exec.c anv: store the workaround address 2020-05-20 15:58:22 +00:00
genX_cmd_buffer.c anv: Stop storing the shader constant data side-band 2020-09-02 19:48:44 +00:00
genX_gpu_memcpy.c anv:gpu_memcpy: Emit 3DSTATE_VF_INDEXING on Gen8+ 2020-05-18 21:42:05 +00:00
genX_pipeline.c anv: centralize vk to gen arrays 2020-08-11 10:07:08 +03:00
genX_query.c anv: Implement VK_KHR_performance_query 2020-05-20 14:02:27 +03:00
genX_state.c anv: Make use of devinfo has_aux_map field 2020-06-22 22:32:03 +00:00
meson.build anv: Mark anv_dump_{start,finish} as PUBLIC 2020-08-14 06:35:11 +00:00
TODO anv: Implement pipeline statistics queries 2017-03-17 12:12:50 -07:00
vk_format_info.h anv: Add HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED in vk_format 2019-06-24 08:28:18 +03:00