mesa/src/intel
Iago Toral Quiroga e1a49f974b anv/pipeline: don't take the layout from the pipeline to compile shaders
The Vulkan spec states that VkPipelineLayout objects must not be
destroyed while any command buffer that uses them is in the recording
state, but it permits them to be destroyed otherwise. This means that
applications are allowed to free pipeline layouts after command recording
is finished even if there are pipeline objects that still exist and were
created with these layouts.

There are two solutions to this, one is to use reference counting on
pipeline layout objects. The other is to avoid holding references to
pipeline layouts where they are not really needed.

This patch takes a step towards the second option by making the
pipeline shader compile code take pipeline layout from the
VkGraphicsPipelineCreateInfo provided rather than the pipeline
object.

A follow-up patch will remove any remaining uses of the layout field
so we can remove it from the pipeline object and avoid the need
for reference counting.

v2: Use ANV_FROM_HANDLE, remove unnecessary braces (Jason)

Suggested-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2018-01-26 14:06:46 +01:00
..
blorp i965: Drop render_target_start from binding table struct. 2018-01-22 10:03:52 -08:00
common intel/batch-decoder: Decode vertex and index buffers 2017-12-14 13:27:13 -08:00
compiler i965/fs: Reset the register file to VGRF in lower_integer_multiplication 2018-01-25 13:58:55 -08:00
genxml meson: don't use intermediate variables that are immediately discarded 2018-01-11 15:40:02 -08:00
isl meson: don't use intermediate variables that are immediately discarded 2018-01-11 15:40:02 -08:00
tools aubinator: Multiply count by 4 to compute buffer sizes 2018-01-24 19:05:36 -08:00
vulkan anv/pipeline: don't take the layout from the pipeline to compile shaders 2018-01-26 14:06:46 +01:00
Android.blorp.mk intel: android: remove libdrm_intel requirement 2017-03-30 19:07:23 +01:00
Android.common.mk android: link libmesa_intel_common with zlib and expat 2017-08-02 10:30:50 +03:00
Android.compiler.mk android: fix build issues with brw_nir_trig_workarounds.c 2017-10-04 07:39:05 +03:00
Android.genxml.mk i965/cnl: Wire up android Mesa build files for gen10 2017-06-09 16:02:58 -07:00
Android.isl.mk i965/cnl: Wire up android Mesa build files for gen10 2017-06-09 16:02:58 -07:00
Android.mk intel/vulkan: Get rid of recursive make 2017-03-13 11:16:35 +00:00
Android.vulkan.mk anv: Install as Vulkan HAL module in Android.mk build 2017-10-18 00:23:38 -07:00
Makefile.am autotools: include meson build files in tarball 2018-01-19 16:30:51 -08:00
Makefile.blorp.am blorp: automake: add TODO to the tarball 2017-02-24 17:37:00 +00:00
Makefile.common.am automake: intel: correctly append to the LIBADD variable 2017-11-08 14:23:57 +00:00
Makefile.compiler.am intel: use a flag instead of setting PYTHONPATH 2017-09-27 09:07:28 -07:00
Makefile.genxml.am intel: genxml: automake: include gen_bits_header.py in the tarball 2017-04-05 13:16:28 +01:00
Makefile.isl.am i965/cnl: Wire up Mesa build files for gen10 2017-06-09 16:02:58 -07:00
Makefile.sources anv/extensions: Generate a header file with extension tables 2018-01-23 00:15:40 -08:00
Makefile.tools.am intel/tools: Convert aubinator over to the common framework 2017-12-14 13:27:24 -08:00
Makefile.vulkan.am automake: anv: ship anv_extensions_gen.py in the tarball 2018-01-25 17:06:29 +00:00
meson.build meson: Add build Intel "anv" vulkan driver 2017-09-27 09:12:19 -07:00