Commits on Source (38)
-
Marek Olšák authored
Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Reviewed-by:
Timothy Arceri <tarceri@itsqueeze.com> (cherry picked from commit ccbfe44e)
-
Marek Olšák authored
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104602 Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Reviewed-by:
Timothy Arceri <tarceri@itsqueeze.com> (cherry picked from commit ae21bdf4)
-
Marek Olšák authored
I'm getting Civ6Sub instead of Civ6. Cc: 18.3 19.0 <mesa-stable@lists.freedesktop.org> Reviewed-by:
Timothy Arceri <tarceri@itsqueeze.com> (cherry picked from commit bff8da6c)
-
Mario Kleiner authored
This is the sddm login screen. Fixes: a9c36dbf ("drirc: Initial blacklist for adaptive sync") Signed-off-by:
Mario Kleiner <mario.kleiner.de@gmail.com> Cc: 19.0 <mesa-stable@lists.freedesktop.org> Signed-off-by:
Marek Olšák <marek.olsak@amd.com> (cherry picked from commit afb15d14)
-
Bas Nieuwenhuizen authored
Fixes: 4bb6c493 "radv: Allow ETC2 on RAVEN and VEGA10 instead of all GFX9." Reviewed-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit 7631feaa)
-
Carlos Garnacho authored
Fullscreening and unfullscreening a totem window while playing a video sometimes results in the video subsurface not changing size along. This is also reproducible with epiphany. If a surface gets resized while we have an active back buffer for it, the resized dimensions won't get neither immediately applied on the resize callback, nor correctly synchronized on update_buffers(), as the (now stale) surface size and currently attached buffer size still do match. There's actually 2 things to synchronize here, first the surface query size might not be updated yet to the wl_egl_window's (i.e. resize_callback happened while there is a back buffer), and second the wayland buffers would need dropping if new surface size differs with the currently attached buffer. These are done in separate steps now. https://bugzilla.redhat.com/show_bug.cgi?id=1650929 https://bugs.freedesktop.org/show_bug.cgi?id=109594 Fixes: a9fb331e ("wayland/egl: update surface size on window resize") Signed-off-by:
Carlos Garnacho <carlosg@gnome.org> Reviewed-by:
Juan A. Suarez <jasuarez@igalia.com> Reviewed-by:
Daniel Stone <daniels@collabora.com> Tested-by:
Bastien Nocera <hadess@hadess.net> Tested-by:
Denys Kostin <denys.kostin@globallogic.com> (cherry picked from commit 30a01cd9)
-
Rodrigo Vivi authored
Align with kernel commits: 5e0f5a58b167 ("drm/i915/cfl: Adding another PCI Device ID.") 03ca3cf8e9aa ("drm/i915/icl: Adding few more device IDs for Ice Lake") Cc: José Roberto de Souza <jose.souza@intel.com> Cc: Kenneth Graunke <kenneth@whitecape.org> Cc: Anuj Phogat <anuj.phogat@gmail.com> Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> (cherry picked from commit 56c3b497)
-
Andrii Simiklit authored
Seems like we forget to update the index buffer (ib) status and IndexedDrawCutIndexEnable or CutIndexEnable flag is left unchanged it leads to ignoring of glEnable/glDisable functions for GL_PRIMITIVE_RESTART in some cases. The index buffer (ib) status should be re-emmited after the reset option change to avoid some unexpected behavior. Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109451 Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by:
Andrii Simiklit <andrii.simiklit@globallogic.com> Signed-off-by:
Andrii Simiklit <asimiklit.work@gmail.com> (cherry picked from commit f4f4ec94)
-
Francisco Jerez authored
Currently the execution type calculation will return a bogus value in cases like: mov_indirect(8) vgrf0:w, vgrf1:w, vgrf2:ud, 32u Which will be considered to have a 32-bit integer execution type even though the actual indirect move operation will be carried out with 16-bit precision. Similarly there's no need to apply the CHV/BXT double-precision region alignment restrictions to such control sources, since they aren't directly involved in the double-precision arithmetic operations emitted by these virtual instructions. Applying the CHV/BXT restrictions to control sources was expected to be harmless if mildly inefficient, but unfortunately it exposed problems at codegen level for virtual instructions (namely the SHUFFLE instruction used for the Vulkan 1.1 subgroup feature) that weren't prepared to accept control sources with an arbitrary strided region. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109328 Reported-by:
Mark Janes <mark.a.janes@intel.com> Fixes: efa4e4bc "intel/fs: Introduce regioning lowering pass." Tested-by:
Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit c3c27762)
-
Francisco Jerez authored
Strides up to 32B can be implemented for the source regions of most instructions by leveraging either the vertical or the horizontal stride of the hardware Align1 region. The main motivation for this is that currently the lower_integer_multiplication() pass will happily double the stride of one of the 32-bit sources, which can blow up if the stride of the original source was already the maximum value allowed by the hardware. An alternative would be to use the regioning legalization pass in order to lower such strides into the composition of multiple legal strides, but that would be somewhat less efficient. This showed up as a regression from my commit cbea91eb in Vulkan 1.1 CTS tests on CHV/BXT platforms, however it was really a pre-existing problem that had affected conformance on other platforms without native support for integer multiplication. CHV/BXT were getting around it because the code I removed in that commit had the "fortunate" side effect of emitting narrower regions that didn't hit the hardware stride limit after lowering. Beyond fixing the regression this fixes ~90 additional Vulkan 1.1 subgroup CTS tests on ICL (that's why this patch is marked for inclusion in mesa-stable even though the original regressing patch was not). According to Jason, a nearly equivalent change had been committed previously as e8c9e651 and then (mistakenly?) reverted as a31d0382. Cc: mesa-stable@lists.freedesktop.org Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109328 Reported-by:
Mark Janes <mark.a.janes@intel.com> Tested-by:
Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net> (cherry picked from commit e03be782)
-
Lionel Landwerlin authored
Same 192Kb amount as SKL/KBL GT1 applies. Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by:
Anuj Phogat <anuj.phogat@gmail.com> Fixes: de7ed0ba ("i965/CFL: Add PCI Ids for Coffee Lake.") (cherry picked from commit 1d626fc0)
-
Juan A. Suarez Romero authored
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 3b423eeb)
-
Juan A. Suarez Romero authored
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 4f917e6a)
-
Marek Olšák authored
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 b326a15e)
-
Alok Hota authored
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 6053499f)
-
David Shao authored
Fixes: 68076b87 "meson: build gallium vdpau state tracker" Fixes: 22a817af "meson: build gallium xvmc state tracker" Fixes: 5a785d51 "meson: build gallium va state tracker" Fixes: 0ba909f0 "meson: build gallium xa state tracker" Fixes: 1d36dc67 "meson: build gallium omx state tracker" Reviewed-by:
Eric Engestrom <eric.engestrom@intel.com> (cherry picked from commit 6fa923a6)
-
Sergii Romantsov authored
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: 306914db (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 f6556ec7)
-
Bas Nieuwenhuizen authored
float16 types can have non-flat interpolation so set up the HW correctly for that. Fixes: 62024fa7 "radv: enable VK_KHR_16bit_storage extension / 16bit storage features" Reviewed-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> (cherry picked from commit a1fdd4a4) Conflicts resolved by Dylan Conflicts: src/amd/vulkan/radv_nir_to_llvm.c
-
Bas Nieuwenhuizen authored
In particular structs containing floats and 16-bit floating point types. Fixes: 62024fa7 "radv: enable VK_KHR_16bit_storage extension / 16bit storage features" Fixes: da295946 "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 f3247841)
-
Maya Rashish authored
From the bash manual: string1 == string2 string1 = string2 True if the strings are equal. = should be used with the test command for POSIX conformance. (cherry picked from commit 021c4961)
-
Faith Ekstrand authored
Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com> (cherry picked from commit 30b548fc)
-
Faith Ekstrand authored
Fixes: 19064b8c "nir: Add a pass for gathering transform feedback info" Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com> (cherry picked from commit 8f0fe71c)
-
Faith Ekstrand authored
Instead of going to all the work of to combine them into one array, just make two arrays and use location_frac to colocate them within CLIP0. Then the back-end can sort things out and stack them on top of each other. Thanks to ef99f4c8, we also don't need to set compact anymore. Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 4e69fba5) Conflicts resolved by Dylan Conflicts: src/compiler/nir/nir_lower_clip_cull_distance_arrays.c
-
Faith Ekstrand authored
We needed to better handle cases where a chunk of a variable starts at some non-zero location_frac and rolls over into the next slot but may not be more than 4 dwords. For example, if gl_CullDistance is an array of 3 things and has location_frac = 2, it will span across two vec4s but is not, itself, bigger than a vec4. If you ignore the clip/cull special case, it's not allowed to happen for anything else because the only things that can span more than one slot is dvec3 and dvec4 and they're both bigger than a vec4. The current code uses this attrib_slot thing where we count attribute slots and iterate over them. However, that doesn't work in the case above because gl_CullDistance will have an attrib_slot count of 1 even though it does span two slots. We could fix this by adjusting attrib_slot but we already have comp_mask and it's easier to just handle it that way. Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com> (cherry picked from commit 558c3145)
-
Faith Ekstrand authored
This makes us properly handle gl_ClipDistance and gl_CullDistance. Fixes: 19064b8c "nir: Add a pass for gathering transform feedback info" Reviewed-by:
Alejandro Piñeiro <apinheiro@igalia.com> (cherry picked from commit 1a93fc38)
-
Bas Nieuwenhuizen authored
Needed for https://gitlab.freedesktop.org/mesa/mesa/merge_requests/248 . That MR keeps the clip and cull arrays split. So we have to handle - compact arrays with location_frac != 0 - VARYING_SLOT_CLIP_DIST1 Reviewed-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> (cherry picked from commit 1ef28556)
-
Faith Ekstrand authored
Copy+paste error. It was supposed to test cull and not clip. Fixes: 4e69fba5 "nir: Rewrite lower_clip_cull_distance_arrays..." Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109717 Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> (cherry picked from commit f98fd9d1)
-
Kenneth Graunke authored
nir_lower_clip_cull_distance_arrays() marks the combined clip/cull distance array as compact. However, when translating in from GLSL or SPIR-V, we were not marking the original float[] arrays as compact. We should do so. That way, we can detect these corner cases properly. Reviewed-by:
Timothy Arceri <tarceri@itsqueeze.com> (cherry picked from commit ef99f4c8) Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
-
Bas Nieuwenhuizen authored
The cherry-pick dropped a chunk. Fixes: e7351739 "radv: Fix float16 interpolation set up." Reviewed-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com>
-
Kenneth Graunke authored
spirv_to_nir can generate input/output variables which are illegal for the current shader stage, which would cause nir_validate_shader to balk. After my recent commit to start decorating arrays as compact, dEQP-VK.spirv_assembly.instruction.graphics.module.same_module started hitting validation errors due to outputs in a TCS (not intended for the TCS at all) not being per-vertex arrays. Thanks to Jason Ekstrand for suggesting this approach. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109573 Fixes: ef99f4c8 compiler: Mark clip/cull distance arrays as compact before lowering. Reviewed-by:
Juan A. Suarez <jasuarez@igalia.com> (cherry picked from commit 6775665e)
-
Timothy Arceri authored
Fix the logic for buffer full check on alloc. This patch just takes the fix Nicolai attached to the bug report and updates it to work on master. Fixes: e0f0d367 ("radeonsi: factor si_query_buffer logic out of si_query_hw") Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109561 (cherry picked from commit 603206d0)
-
Tapani Pälli authored
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: 62332d13 "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 22267fef)
-
Samuel Pitoiset authored
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 9256e0a0)
-
Samuel Pitoiset authored
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 4924dfc8)
-
Emil Velikov authored
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 659910ed 9a96bf0e c731508b ec6cb01e. 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: 834d2215 ("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 f0a7b463)
-
Eleni Maria Stea authored
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 fd37a19a)
-
Samuel Pitoiset authored
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 5671f380) Conflicts resolved by Dylan Conflicts: src/amd/vulkan/radv_meta_clear.c
-
Dylan Baker authored