summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* docs: add release notes for 18.3.5mesa-18.3.5Emil Velikov2019-03-181-0/+270
| | | | Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* Update version to 18.3.5Emil Velikov2019-03-181-1/+1
| | | | Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* radv: always initialize HTILE when the src layout is UNDEFINEDSamuel Pitoiset2019-03-151-2/+1
| | | | | | | | | | | | | | HTILE should always be initialized when transitioning from VK_IMAGE_LAYOUT_UNDEFINED to other image layouts. Otherwise, if an app does a transition from UNDEFINED to GENERAL, the driver doesn't initialize HTILE and it tries to decompress the depth surface. For some reasons, this results in VM faults. Cc: mesa-stable@lists.freedesktop.org Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107563 Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (cherry picked from commit 3a2e93147f7fa4a6fd17313353113a33291c5ce0)
* egl/dri: Avoid out of bounds array accessKevin Strasser2019-03-151-2/+4
| | | | | | | | | | | | indexConfigAttrib iterates over every index in the dri driver, possibly exceeding __DRI_ATTRIB_MAX. In other words, if the dri driver has newer attributes libEGL will end up reading from uninitialized memory through dri2_to_egl_attribute_map[]. Signed-off-by: Kevin Strasser <kevin.strasser@intel.com> Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 70b36c0ef939048acb9c4727b2e4280fc090eb74)
* glsl/linker: Fix unmatched TCS outputs being reduced to local variableDanylo Piliaiev2019-03-141-0/+6
| | | | | | | | | | | | | Always match TCS outputs since they are shared by all invocations within the patch and should not be converted to local variables. This is one of the issues found in Downward. Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104297 (cherry picked from commit 9f29d90327e343f5717a98ceb6df2cdbab5d0e0b)
* intel/fs: Fix opt_peephole_csel to not throw away saturates.Kenneth Graunke2019-03-141-0/+1
| | | | | | | | | | | | | | | | | We were not copying the saturate bit from the original instruction to the new replacement instruction. This caused major misrendering in DiRT Rally on iris, where comparisons leading to discards failed due to the missing saturate, causing lots of extra garbage pixels to be drawn in text rendering, trees, and so on. This did not show up on i965 because st/nir performs a more aggressive version of nir_opt_peephole_select, yielding more b32csel operations. Fixes: 52c7df1643e i965/fs: Merge CMP and SEL into CSEL on Gen8+ Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 3570d15b6d88bdcd353b31ffe5460d04a88b7b6f)
* glsl/lower_vector_derefs: Don't use a temporary for TCS outputsJason Ekstrand2019-03-141-10/+64
| | | | | | | | | | | | | Tessellation control shader outputs act as if they have memory backing them and you can have multiple writes to different components of the same vector in-flight at the same time. When this happens, the load vec store pattern that gets used by ir_triop_vector_insert doesn't yield the correct results. Instead, just emit a sequence of conditional assignments. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit bd17bdc56b34a08c421172df27fe07294c7a7024)
* glsl/list: Add a list variant of insert_afterJason Ekstrand2019-03-141-0/+26
| | | | | | | Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> (cherry picked from commit 20c4578c5539de909e94a6acc3ad680ab2ddeca6)
* cherry-ignore: add explicit 19.0 performance optimisationsEmil Velikov2019-03-141-0/+6
| | | | | | | | | | nir: lower IO to vector intel: make use of the optimisation They address a 10% regression in a synthetic benchmark. No real world use-cases seems to be affected. Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* scons: Compatibility with Scons development version stringpal10002019-03-142-2/+14
| | | | | | | | | | | | | | | | | | | | | | This ensures Mesa3D build doesn't fail in this case as encountered when bisecting Scons source code while regression testing https://bugs.freedesktop.org/show_bug.cgi?id=109443 and when testing 3.0.5.a.2 Technical details: Scons version string has consistently been in this format: MajorVersion.MinorVersion.Patch[.alpha/beta.yyyymmdd] so these formulas should strip alpha/beta flags and return Scons version: - as string - `'.'.join(SCons.__version__.split('.')[:3])` - as tuple of integers - `tuple(map(int, SCons.__version__.split('.')[:3]))` - v2: Fixed Scons version retrieval formulas as string and tuple of integers. - v3: Fixed Scons version string format description. Cc: "19.0" <mesa-stable@lists.freedesktop.org> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> (cherry picked from commit 7f89fd17ed2b1bd0c0fe4ec946dcabed0f8c74d3)
* scons: Workaround failures with MSVC when using SCons 3.0.[2-4].Jose Fonseca2019-03-141-1/+7
| | | | | | | | | | | | | | | This change applies the workaround suggested by Bill Deegan on the affected SCons versions. It also adds a comment with the URL explaining why we were using customizing the decider and max_drift in the first place, as I had forgotten all about it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109443 Tested-by: liviuprodea@yahoo.com Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 838c0485e01f3d3403b430aa6df5b4a1f5262dc3)
* radv: fix pointSizeRange limitsSamuel Pitoiset2019-03-141-1/+1
| | | | | | | | | | | The values should match the ones that are emitted. This fixes new CTS dEQP-VK.rasterization.primitive_size.points.*. Fixes: f4e499ec791 ("radv: add initial non-conformant radv vulkan driver") Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (cherry picked from commit 6403171843824ec8e9484bb8a21a4a18bfb01193)
* anv: destroy descriptor sets when pool gets resetJuan A. Suarez Romero2019-03-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | As stated in Vulkan spec: "Resetting a descriptor pool recycles all of the resources from all of the descriptor sets allocated from the descriptor pool back to the descriptor pool, and the descriptor sets are implicitly freed." This fixes dEQP-VK.api.descriptor_pool.* Fixes: 14f6275c92f1 "anv/descriptor_set: add reference counting for..." Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Tested-by: Clayton Craft <clayton.a.craft@intel.com> (cherry picked from commit 775aabdd01739c413da7b38e5acbde1094209bcf) Squashed with: anv: Fix destroying descriptor sets when pool gets reset pool->next and pool->free_list were reset before their usage in anv_descriptor_pool_free_set Fixes: 775aabdd "anv: destroy descriptor sets when pool gets reset" Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (cherry picked from commit 9c80be956fff4d4786a9b77c6b9d3fec67ff2377)
* cherry-ignore: ignore glsl_types memory cleanup patchEmil Velikov2019-03-141-0/+3
| | | | | | The commit was reverted shortly after it was applied on master Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* anv: destroy descriptor sets when pool gets destroyedTapani Pälli2019-03-142-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch maintains a list of sets in the pool and destroys possible remaining sets when pool is destroyed. As stated in Vulkan spec: "When a pool is destroyed, all descriptor sets allocated from the pool are implicitly freed and become invalid." This fixes memory leaks spotted with valgrind: ==19622== 96 bytes in 1 blocks are definitely lost in loss record 2 of 3 ==19622== at 0x483880B: malloc (vg_replace_malloc.c:309) ==19622== by 0x495B67E: default_alloc_func (anv_device.c:547) ==19622== by 0x4955E05: vk_alloc (vk_alloc.h:36) ==19622== by 0x4956A8F: anv_multialloc_alloc (anv_private.h:538) ==19622== by 0x4956A8F: anv_CreateDescriptorSetLayout (anv_descriptor_set.c:217) Fixes: 14f6275c92f1 ("anv/descriptor_set: add reference counting for descriptor set layouts") Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit 105002bd2d6173b24f6955c22340b5bc77e029fa) [Emil: move list_del() anv_descriptor_{pool_free_set,set_destroy} ] Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Conflicts: src/intel/vulkan/anv_descriptor_set.c --- Mostly a gut feeling - Tapani do we need a list_addtail/list_del in anv_descriptor_set_create()?
* cherry-ignore: add gitlab-ci fixup commitEmil Velikov2019-03-141-0/+3
| | | | | | | | gitlab-ci: autotools needs to be told which llvm version to use Commit references invalid sha - the offender did not land in branch. Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* intel/fs: Fix extract_u8 of an odd byte from a 64-bit integerIan Romanick2019-03-141-0/+7
| | | | | | | | | | | | | | | | | | In the old code, we would generate the exact same instruction for extract_u8(some_u64, 0) and extract_u8(some_u64, 1). The mask-a-word trick only works for even numbered bytes. This fixes the (new) piglit test tests/spec/arb_gpu_shader_int64/execution/fs-ushr-and-mask.shader_test. v2: Use a SHR instead of an AND. This saves an instruction compared to using two moves. Suggested by Jason. Fixes: 6ac2d169019 ("i965/fs: Fix extract_i8/u8 to a 64-bit destination") Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit 55e6454d5e9dae6f8f29992af83f99217446da38) [Emil: byte -> byte->u32[0] ] Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* intel/fs: nir_op_extract_i8 extracts a byte, not a wordIan Romanick2019-03-141-2/+4
| | | | | | | | | | | Fixes: 6ac2d169019 ("i965/fs: Fix extract_i8/u8 to a 64-bit destination") Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit 4aaf139ea4cc7c4703e1906e0074f87f76c8e4cc) [Emil: resolve trivial conflicts] Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Conflicts: src/intel/compiler/brw_fs_nir.cpp
* radeonsi: compile clear and copy buffer compute shaders on demandMarek Olšák2019-03-142-8/+14
| | | | | | | same as all other shaders (cherry picked from commit c605738113fe91d04f799eae52cec28fafac3f2d) Bug: https://github.com/ValveSoftware/halflife/issues/2100
* cherry-ignore: add 19.0 only anv/push buffer nominationsEmil Velikov2019-03-141-0/+4
| | | | Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* spirv: Pull offset/stride from the pointer for OpArrayLengthJason Ekstrand2019-03-141-2/+10
| | | | | | | | | | We can't pull it from the variable type because it might be an array of blocks and not just the one block. While we're here, throw in some error checking. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit f1dbc7e97d3dcb2104b9438d32cace9529575208)
* radv: properly align the fence and EOP bug VA on GFX9Samuel Pitoiset2019-03-141-2/+4
| | | | | | | | | | | | | | | | If alignement is 0, offets returned by radv_cmd_buffer_upload_alloc() are always 0. These two virtual addresses were pointing at the same location. Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (cherry picked from commit c2a148692b4d728e481b60a503e21931f9cf43f0) [Emil: resolve trivial conflicts] Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Conflicts: src/amd/vulkan/radv_cmd_buffer.c
* egl: fix libdrm-less buildsEric Engestrom2019-03-142-15/+0
| | | | | | | | | | | | | This function was never used, and isn't properly guarded by HAVE_LIBDRM, breaking the build on systems that don't have libdrm. Let's just remove it. Fixes: 7552fcb7b9b98392e6a8 "egl: add base EGL_EXT_device_base implementation" Reported-by: Timo Aaltonen <tjaalton@debian.org> Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Acked-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit bcc4bfc8e80da5dc4c6ee44f791f2112dac208d1)
* anv: retain the is_array state in create_plane_tex_instr_implicitTapani Pälli2019-03-141-0/+1
| | | | | | | | | This does not seem to fix anything ATM but is the right thing todo. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Fixes: f3e91e78a33775 ("anv: add nir lowering pass for ycbcr textures") Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (cherry picked from commit 33bf3d510c98a22706eb25815f1214d2e1a0e868)
* spirv: OpImageQueryLod requires a samplerJason Ekstrand2019-03-141-1/+1
| | | | | | | | | | | No idea how this fell through the cracks besides the fact that the sampler bound at 0 almost always works and the CTS isn't amazing. In any case, this appears to have been broken for almost forever. Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit ca295ddbfb414a526d3bab7daf93fffbbc417c6e)
* anv: Count surfaces for non-YCbCr images in GetDescriptorSetLayoutSupportJason Ekstrand2019-03-141-0/+3
| | | | | | | | | We were accidentally not counting those surfaces Fixes: ddc4069122 "anv: Implement VK_KHR_maintenance3" Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (cherry picked from commit 5049fbddb4687799a10eb585c8789afa0d080535)
* st/nine: Ignore multisample quality level if no msAxel Davy2019-03-141-0/+4
| | | | | | | | | | | | | Apparently instead of returning error when passing a quality level different than 0 for D3DMULTISAMPLE_NONE, we should pass. Fixes: https://github.com/iXit/Mesa-3D/issues/340 Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Axel Davy <davyaxel0@gmail.com> (cherry picked from commit 1d363d440f261fbadc1db3c17acc514b7130d505)
* st/nine: Ignore window size if errorAxel Davy2019-03-141-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | Check GetWindowInfo and ignore the computed sizes if there is an error. Fixes a regression caused by earlier commit when using old wine gallium nine patches. Should also address a crash at window destruction. Related issues: https://github.com/iXit/Mesa-3D/issues/331 https://github.com/iXit/Mesa-3D/issues/332 Cc: mesa-stable@lists.freedesktop.org Fixes: 2318ca68bbe ("st/nine: Handle window resize when a presentation buffer is used") Signed-off-by: Axel Davy <davyaxel0@gmail.com> (cherry picked from commit 86666f051e0cae96f2596cac05e3c3f394744149) [Emil: resolve trivial conflicts] Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Conflicts: src/gallium/state_trackers/nine/swapchain9.c
* android: anv: fix libexpat shared dependencyMauro Rossi2019-03-141-1/+1
| | | | | | | | | Fixes undefined reference building errors for XML_* functions Signed-off-by: Mauro Rossi <issor.oruam@gmail.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Cc: "19.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit ec0f465bc5f02c93aeb4193db8b5bd90a254b080)
* android: anv: fix generated files depedencies (v2)Mauro Rossi2019-03-141-15/+25
| | | | | | | | | | | | | | | | | | Fix anv_extrypoints.{c,h} and anv_extensions.{c,h} missing dependencies Rename the variable labels according to targets and python scripts Align the building rules as per Automake for simplification Fixes building errors during rebuils due to missing dependencies (v2) Fixed a missing $(VULKAN_API_XML) reference Fixes: 9a508b7 ("android: anv/extensions: fix generated sources build") Fixes: dd088d4bec7 ("anv/extensions: Generate a header file with extension tables") Signed-off-by: Mauro Rossi <issor.oruam@gmail.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Cc: "19.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 14e7e26a0991e7f9b1d20147f04a43bb4cc3f824)
* glsl: fix recording of variables for XFB in TCS shadersIlia Mirkin2019-03-143-5/+44
| | | | | | | | | | | | | | | | | | This is purely for conformance, since it's not actually possible to do XFB on TCS output varyings. However we do have to make sure we record the names correctly, and this removes an extra level of array-ness from the names in question. Fixes KHR-GL45.tessellation_shader.single.xfb_captures_data_from_correct_stage v2: Add comment to the new program_resource_visitor::process function. (Ilia Mirkin) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108457 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: 19.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> (cherry picked from commit 4eec3a2a3652317f8e0fa97e0730c297bde8241a)
* glsl: TCS outputs can not be transform feedback candidates on GLESJose Maria Casanova Crespo2019-03-141-1/+21
| | | | | | | | | | | | | | | | | | Avoids regression on: KHR-GLES*.core.tessellation_shader.single.xfb_captures_data_from_correct_stage that is uncovered by the following patch. "glsl: fix recording of variables for XFB in TCS shaders" v2: Rebased over glsl: fix recording of variables for XFB in TCS shaders v3: Move this patch before "glsl: fix recording of variables for XFB in TCS shaders" to avoid temporal regressions. (Illia Mirkin) Cc: 19.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> (cherry picked from commit bf1f49482d677e562993543cd9a9367597ce3ccc)
* glx: fix shared memory leak in X11Ray Zhang2019-03-061-0/+3
| | | | | | | | | call XShmDetach to allow X server to free shared memory Fixes: bcd80be49a8260c2233d "drisw/glx: use XShm if possible" Signed-off-by: Ray Zhang <zhanglei002@gmail.com> Reviewed-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit b344e32cdf7064a1f2ff7ef37027edda6589404f)
* glsl: fix shader cache for packed param listTimothy Arceri2019-03-063-11/+11
| | | | | | | | | | | | | | | | Some types of params such as some builtins are always padded. We need to keep track of this so we can restore the list correctly. Here we also remove a couple of cache entries that are not actually required as they get rebuilt by the _mesa_add_parameter() calls. This patch fixes a bunch of arb_texture_multisample and arb_sample_shading piglit tests for the radeonsi NIR backend. Fixes: edded1237607 ("mesa: rework ParameterList to allow packing") Reviewed-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit 7536af670b7501228628a8c90f9e8456b5aec9e1)
* i965: Fix allow_higher_compat_version workaround limited by OpenGL 3.0Yevhenii Kolesnikov2019-03-061-6/+12
| | | | | | | | | | | | | Added check for higher compat profile being allowed before assigning certain extensions. Fixes: 272fe9494232 (mesa: enable ARB_texture_buffer_* extensions in the Compatibility profile) Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107052 (cherry picked from commit 07f4b4e4034d6c9f48d136ec39a03e59f65783cb)
* radv: Interpolate less aggressively.Bas Nieuwenhuizen2019-03-061-9/+12
| | | | | | | | | | | | | | | Seems like dxvk used integer builtins without setting the flat interpolation decoration. I believe in the current spec the app is required to set these, but in the meantime to avoid breaking things in stable releases (and so close to release for 19.0), only expand the interpolation to float16 and struct (which cannot be builtins as our spirv parser lowers the builtin block). Fixes: f3247841040 "radv: Allow interpolation on non-float types." Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (cherry picked from commit c0110477b5503978adf37f64c65c30c9304e3fe4)
* i965: fixed clamping in set_scissor_bits when the y is flippedEleni Maria Stea2019-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calculating the scissor rectangle fields with the y flipped (0 on top) can generate negative values that will cause assertion failure later on as the scissor fields are all unsigned. We must clamp the bbox values again to make sure they don't exceed the fb_height. Also fixed a calculation error. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108999 https://bugs.freedesktop.org/show_bug.cgi?id=109594 v2: - I initially clamped the values inside the if (Y is flipped) case and I made a mistake in the calculation: the clamp of the bbox[2] should be a check if (bbox[2] >= fbheight) bbox[2] = fbheight - 1 instead and I shouldn't have changed the ScissorRectangleYMax calculation. As the fixed code is equivalent with using CLAMP instead of MAX2 at the top of the function when bbox[2] and bbox[3] are calculated, and the 2nd is more clear, I replaced it. (Nanley Chery) v3: - Reversed the CLAMP change in bbox[3] as the API guarantees that the viewport height is positive. (Nanley Chery) v4: - Added nomination for the mesa-stable branch and the link to the second bugzilla bug (Nanley Chery) CC: <mesa-stable@lists.freedesktop.org> Tested-by: Paul Chelombitko <qamonstergl@gmail.com> Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> (cherry picked from commit fd37a19ac4c8b2ebff330b2a06a7f311f7d478e3)
* meson: egl: correctly manage loader/xmlconfigEmil Velikov2019-03-061-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Earlier commit introduced support for haiku yet did not properly annotate the loader/xmlconfig dependencies. Thus we ended up adding inc_loader for each !haiku platform - see 659910eda01 9a96bf0ecd0 c731508b988 ec6cb01e216. One piece remained though - the wayland platform. Hence the following would fail: meson -Dgallium-drivers=etnaviv -Ddri-drivers=''\ -Dtools=etnaviv -Dplatforms=wayland -Dglx=disabled \ build/ Cc: Alexander von Gluck IV <kallisti5@unixzen.com> Reported-by: Boris Brezillon <boris.brezillon@collabora.com> Fixes: 834d221512f ("meson: Add Haiku platform support v4") Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Tested-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> (cherry picked from commit f0a7b463b5586972f4b7f5d9d84eb0564087ce3f) [Emil: resolve trivial conflicts] Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Conflicts: src/egl/meson.build
* radv: don't copy buffer descriptors list for samplersSamuel Pitoiset2019-03-061-1/+5
| | | | | | | | | | | | Sampler descriptors don't have a buffer list. This fixes some crashes with new CTS dEQP-VK.binding_model.descriptor_copy.*.sampler_*. Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (cherry picked from commit 4924dfc851e52c383380ae56be4d8606684ead7c)
* radv: fix out-of-bounds access when copying descriptors BO listSamuel Pitoiset2019-03-061-2/+0
| | | | | | | | | | | | We shouldn't increment the buffer list pointers twice. This fixes some crashes with new CTS dEQP-VK.binding_model.descriptor_copy.*. Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (cherry picked from commit 9256e0a09dfa94fecfef8e250755732ac35689ec)
* nir: initialize value in copy_prop_vars_blockTapani Pälli2019-03-061-1/+1
| | | | | | | | | | | | | | Fixes following valgrind warning: ==27561== Conditional jump or move depends on uninitialised value(s) ==27561== at 0x667856B: value_set_ssa_components (nir_opt_copy_prop_vars.c:78) ==27561== by 0x667A1C4: copy_prop_vars_block (nir_opt_copy_prop_vars.c:797) Fixes: 62332d139c8 "nir: Add a local variable-based copy propagation pass" Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> (cherry picked from commit 22267feff1a35c4b6f1f0cb9c8e371727f99b5d6)
* radv: fix clearing attachments in secondary command buffersSamuel Pitoiset2019-03-061-9/+44
| | | | | | | | | | | | | | | | | If no framebuffer is bound, get the number of samples and the image format from the render pass. This fixes new CTS dEQP-VK.geometry.layered.*.secondary_cmd_buffer. Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (cherry picked from commit 5671f38085216caf2cbf221a9fcda08b7571a762) [Emil: resolve trivial conflicts] Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Conflicts: src/amd/vulkan/radv_meta_clear.c
* d3d: meson: do not prefix user provided d3d-drivers-pathSergii Romantsov2019-03-062-2/+2
| | | | | | | | | | | | | | | | | | | The user can select the location where there d3d drivers are installed by the d3d-drivers-path meson option. By default path will be $prefix/$libdir/d3d. Currently we add $prefix to the user provided path. Resulting in an incorrect or even missing path. Based on logic of Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109698 CC: Kenneth Graunke <kenneth@whitecape.org> CC: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit dcc48664197c7e44684ccfb970a4ae083974d145) Fixes: b7c6870f87a ("meson: Add moduledir to d3d.pc")
* dri: meson: do not prefix user provided dri-drivers-pathSergii Romantsov2019-03-062-3/+3
| | | | | | | | | | | | | | | | | | | | | | | The user can select the location where there dri drivers are installed by the dri-drivers-path meson option. By default path will be $prefix/$libdir/dri. Currently we add $prefix to the user provided path. Resulting in an incorrect or even missing path. v2: fixed dri_search_path by default, rebased to master v3: new commit-message (Emil Velikov), cc mesa-stable Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109698 CC: Rafael Antognolli <rafael.antognolli@intel.com> CC: Dylan Baker <dylan@pnwbakers.com> Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Fixes: 306914db92e1 (meson: Add dridriverdir variable to dri.pc.) Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit f6556ec7d126b31da37c08d7cb657250505e01a0)
* meson: ensure that xmlpool_options.h is generated for gallium targets that ↵David Shao2019-03-065-5/+5
| | | | | | | | | | | | need it Fixes: 68076b87474e7959c161 "meson: build gallium vdpau state tracker" Fixes: 22a817af8a89eb3c762f "meson: build gallium xvmc state tracker" Fixes: 5a785d51a6d68ec676ce "meson: build gallium va state tracker" Fixes: 0ba909f0f111824223bc "meson: build gallium xa state tracker" Fixes: 1d36dc674d528b93bec3 "meson: build gallium omx state tracker" Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (cherry picked from commit 6fa923a65daf1ee73c5cc763ade91abc82da7085)
* swr/rast: bypass size limit for non-sampled texturesAlok Hota2019-03-061-1/+3
| | | | | | | | | | This fixes a bug where SWR will fail to render in cases with large buffer allocations, e.g. very large meshes whose vertex buffers exceed 2GB CC: <mesa-stable@lists.freedesktop.org> Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com> (cherry picked from commit 6053499f2eafde606b13a9663016e9be8e4089eb)
* tgsi: don't set tgsi_info::uses_bindless_images for constbufs and hw atomicsMarek Olšák2019-03-061-1/+3
| | | | | | | | | This might have decreased performance for radeonsi/tgsi, because most most shaders claimed they used bindless. Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> (cherry picked from commit b326a15edab34d09e7b328dd8726137960ae12a5)
* anv: advertise 8 subpixel precision bitsJuan A. Suarez Romero2019-03-062-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On one side, when emitting 3DSTATE_SF, VertexSubPixelPrecisionSelect is used to select between 8 bit subpixel precision (value 0) or 4 bit subpixel precision (value 1). As this value is not set, means it is taking the value 0, so 8 bit are used. On the other side, in the Vulkan CTS tests, if the reference rasterizer, which uses 8 bit precision, as it is used to check what should be the expected value for the tests, is changed to use 4 bit as ANV was advertising so far, some of the tests will fail. So it seems ANV is actually using 8 bits. v2: explicitly set 3DSTATE_SF::VertexSubPixelPrecisionSelect (Jason) v3: use _8Bit definition as value (Jason) v4: (by Jason) anv: Explicitly set 3DSTATE_CLIP::VertexSubPixelPrecisionSelect This field was added on gen8 even though there's an identically defined one in 3DSTATE_SF. CC: Jason Ekstrand <jason@jlekstrand.net> CC: Kenneth Graunke <kenneth@whitecape.org> CC: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit 4f917e6a61860b58a05d40584f7aa3d5e4e32b75)
* genxml: add missing field values for 3DSTATE_SFJuan A. Suarez Romero2019-03-066-6/+24
| | | | | | | | | | Fill out "Vertex Sub Pixel Precision Select" possible values. CC: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit 3b423eeb2d326418147fdfbdc89a415e44a557d3)
* radv: Allow interpolation on non-float types.Bas Nieuwenhuizen2019-03-061-10/+9
| | | | | | | | | | | In particular structs containing floats and 16-bit floating point types. Fixes: 62024fa7750 "radv: enable VK_KHR_16bit_storage extension / 16bit storage features" Fixes: da295946361 "spirv: Only split blocks" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109735 Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (cherry picked from commit f3247841040a202faffe4709c07da9bd41693580)