mesa/src/intel/vulkan
Jason Ekstrand b86dba8a0e nir: Embed the shader_info in the nir_shader again
Commit e1af20f18a changed the shader_info
from being embedded into being just a pointer.  The idea was that
sharing the shader_info between NIR and GLSL would be easier if it were
a pointer pointing to the same shader_info struct.  This, however, has
caused a few problems:

 1) There are many things which generate NIR without GLSL.  This means
    we have to support both NIR shaders which come from GLSL and ones
    that don't and need to have an info elsewhere.

 2) The solution to (1) raises all sorts of ownership issues which have
    to be resolved with ralloc_parent checks.

 3) Ever since 00620782c9, we've been
    using nir_gather_info to fill out the final shader_info.  Thanks to
    cloning and the above ownership issues, the nir_shader::info may not
    point back to the gl_shader anymore and so we have to do a copy of
    the shader_info from NIR back to GLSL anyway.

All of these issues go away if we just embed the shader_info in the
nir_shader.  There's a little downside of having to copy it back after
calling nir_gather_info but, as explained above, we have to do that
anyway.

Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2017-05-09 15:07:47 -07:00
..
tests anv/allocator: Add the capability to allocate blocks of different sizes 2017-05-04 19:07:54 -07:00
.gitignore anv: Suffix the intel_icd file with the host CPU 2016-10-21 09:30:20 -07:00
anv_allocator.c anv/allocator: Only write to _vg_ptr if we have valgrind 2017-05-05 12:49:51 -07:00
anv_batch_chain.c anv: check return value of anv_execbuf_add_bo 2017-05-08 14:38:27 +01:00
anv_blorp.c anv/allocator: Embed the block_pool in the state_pool 2017-05-04 19:07:54 -07:00
anv_cmd_buffer.c anv/allocator: Convert the state stream to pull from a state pool 2017-05-04 19:07:54 -07:00
anv_descriptor_set.c anv/allocator: Convert the state stream to pull from a state pool 2017-05-04 19:07:54 -07:00
anv_device.c anv: Drop the instruction pool block size 2017-05-04 19:07:54 -07:00
anv_dump.c anv/cmd_buffer: Move Begin/End/Execute to genX_cmd_buffer.c 2016-10-17 17:41:35 -07:00
anv_entrypoints_gen.py anv: Implement VK_KHX_external_semaphore_fd 2017-05-03 15:09:46 -07:00
anv_formats.c anv: avoid null pointer dereference 2017-05-08 14:38:27 +01:00
anv_gem.c anv: Get rid of a bunch of uses of size_t 2017-05-04 19:07:54 -07:00
anv_gem_stubs.c anv: Get rid of a bunch of uses of size_t 2017-05-04 19:07:54 -07:00
anv_genX.h anv: Add support for the PMA fix on Broadwell 2017-02-14 14:18:55 -08:00
anv_image.c anv: fix anv_gem_mmap comment to not mention NULL 2017-05-04 18:06:18 +01:00
anv_intel.c anv: Use the BO cache for DeviceMemory allocations 2017-04-27 20:08:46 -07:00
anv_nir.h anv/pipeline: Add shader lowering for multiview 2017-05-03 11:25:46 -07:00
anv_nir_apply_pipeline_layout.c anv: Add support for shaderStorageImageWriteWithoutFormat 2017-02-14 08:16:52 -08:00
anv_nir_lower_input_attachments.c nir: Rework conversion opcodes 2017-03-14 07:36:40 -07:00
anv_nir_lower_multiview.c anv/pipeline: Add shader lowering for multiview 2017-05-03 11:25:46 -07:00
anv_nir_lower_push_constants.c spirv: compute push constant access offset & range 2017-01-04 21:14:17 +00:00
anv_pass.c anv/pass: Store the per-subpass view mask 2017-05-03 11:25:46 -07:00
anv_pipeline.c nir: Embed the shader_info in the nir_shader again 2017-05-09 15:07:47 -07:00
anv_pipeline_cache.c anv: Move shader hashing to anv_pipeline 2017-05-03 11:25:46 -07:00
anv_private.h anv/allocator: Embed the block_pool in the state_pool 2017-05-04 19:07:54 -07:00
anv_queue.c anv: Implement VK_KHX_external_semaphore_fd 2017-05-03 15:09:46 -07:00
anv_util.c anv: Add a performance warning helper 2017-03-07 15:22:16 -08:00
anv_wsi.c anv: Drop 'x11' prefix from non-X11 WSI funcs 2017-04-28 08:54:45 -07:00
anv_wsi_wayland.c anv/wsi: Don't include wayland headers 2017-03-13 11:16:30 +00:00
anv_wsi_x11.c vulkan/wsi/radv: add initial prime support (v1.1) 2017-02-27 05:42:16 +10:00
dev_icd.json.in anv: Replace "abi_versions" with correct "api_version". 2016-10-25 12:55:39 -07:00
gen7_cmd_buffer.c anv: Get rid of the stub() macros 2017-03-07 15:22:16 -08:00
gen8_cmd_buffer.c anv/allocator: Embed the block_pool in the state_pool 2017-05-04 19:07:54 -07:00
genX_blorp_exec.c anv/allocator: Embed the block_pool in the state_pool 2017-05-04 19:07:54 -07:00
genX_cmd_buffer.c anv/allocator: Embed the block_pool in the state_pool 2017-05-04 19:07:54 -07:00
genX_gpu_memcpy.c anv: Disable VF statistics for blorp and SOL memcpy 2017-03-17 12:12:50 -07:00
genX_pipeline.c anv: Use BRW_BARYCENTRIC_NONPERSPECTIVE_BITS from common header. 2017-05-03 16:58:55 -07:00
genX_query.c anv/query: handle more cases of 'out of host memory' 2017-05-05 08:53:33 +02:00
genX_state.c anv: Disable VF statistics for blorp and SOL memcpy 2017-03-17 12:12:50 -07:00
intel_icd.json.in anv: Replace "abi_versions" with correct "api_version". 2016-10-25 12:55:39 -07:00
TODO anv: Implement pipeline statistics queries 2017-03-17 12:12:50 -07:00
vk_format_info.h anv: Set up binding tables and surface states for input attachments 2016-11-22 13:44:55 -08:00