- Jul 28, 2021
-
-
Eric Engestrom authored
-
Eric Engestrom authored
-
- Jul 25, 2021
-
-
Fixes the following building error: external/mesa/src/egl/drivers/dri2/platform_android.c:1263:10: error: use of undeclared identifier 'FALLTHROUGH' FALLTHROUGH; /* for pbuffers */ ^ 1 error generated. Fixes: 2928c21e ("Convert most remaining free-form fall-through comments to FALLTHROUGH") Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Part-of: <mesa/mesa!10264> (cherry picked from commit 0a71aaa2)
-
- Jul 24, 2021
-
-
Required to build Mesa on macOS with -Dbuild-tests=true -Dglx=gallium-xlib Without this change, the build fails with In file included from ../src/gallium/targets/graw-xlib/graw_xlib.c:8: ../src/gallium/include/frontend/xlibsw_api.h:5:10: fatal error: 'X11/Xlib.h' file not found #include <X11/Xlib.h> With `brew sh` X11 is found but linking fails due to `llvm-ar` missing in the path. That issue appears to be unrelated to this missing dependency. X11 is installed via XQuartz, so Homebrew should not be required. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Reviewed-by: Emma Anholt <emma@anholt.net> Cc: mesa-stable Part-of: <mesa/mesa!12022> (cherry picked from commit 061508d3)
-
This expands on commit c54c4232. See the code comment for full justifications. At the time of the previous commit Ian wanted to limit the relaxing of the rule to GLSL 3.30 as that was the highest version of shaders seen in the wild that were having trouble with the stricter rules. However since then I've found that the long standing issue with tess shaders failing to compile in the game 'Layers Of Fear' is due to this same issue. The game uses 4.10 shaders and also makes use of explicit varying locations, so here we relax the rule to 4.20 and make sure to apply the restriction to shaders using varyings with explicit locations also. Fixes: c54c4232 ("glsl: relax rule on varying matching for shaders older than 4.00") Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Part-of: <mesa/mesa!11873> (cherry picked from commit 0e0633ca)
-
Eric Engestrom authored
-
- Jul 22, 2021
-
-
Fixes: cbc68c79 ("freedreno: Add local_size to ir3_shader_variant") Part-of: <mesa/mesa!11622> (cherry picked from commit 56dc84b9)
-
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Closes: mesa/mesa#5105 Cc: mesa-stable Part-of: <mesa/mesa!12004> (cherry picked from commit 211d1dfd)
-
Unfortunately I contacted the dev about this issue years ago and he made a fix, but it has never been released after all these years. This stops the screen from being completely black in game. CC: mesa-stable Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!11941> (cherry picked from commit f3ec4a93)
-
It turns out for QBO you really need to explicitly support time elapsed queries to avoid wierd interactions with the non-qbo query paths. Fixes: 506e51b8 ("llvmpipe: initial query buffer object support. (v2)") Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> Part-of: <mesa/mesa!11946> (cherry picked from commit 2f5cd08e)
-
After commit f8dc22bf, it was no longer possible to have explicitly enabled platforms with surfaceless being the EGL native platform. This fixes that by adding -Degl-native-platform. Fixes: f8dc22bf ("meson: drop deprecated EGL platform build options") Signed-off-by: Chia-I Wu <olvaffe@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Part-of: <!11992> (cherry picked from commit 47946855)
-
Before commit f7e0cdcf, we tried these in order - if (!ForceSoftware) surfaceless_probe_device(disp, false); - surfaceless_probe_device(disp, true); - surfaceless_probe_device_sw(disp); The commit changed it to - surfaceless_probe_device(disp, ForceSoftware); - surfaceless_probe_device_sw(disp); and broke 2D virtio-gpu and vgem when ForceSoftware is false. This commit restores the old behavior. Fixes: f7e0cdcf ("egl/surfaceless: simplify dri2_initialize_surfaceless()") Signed-off-by: Chia-I Wu <olvaffe@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Part-of: <mesa/mesa!11992> (cherry picked from commit 38418192)
-
With this pass enabled in Intel drivers, running shader-db on shaders/unity/38.shader_test resulted in Program received signal SIGSEGV, Segmentation fault. gcm_schedule_early_src (src=0x555555d45348, void_state=0x7fffffffba40) at ../../SOURCE/master/src/compiler/nir/nir_opt_gcm.c:297 297 if (info->early_block->index < src_info->early_block->index) (gdb) print src_info->early_block $1 = (nir_block *) 0x0 I tracked this down to an early exit from gcm_schedule_early_instr on the parent instruction because instr->pass_flags was 0x1c. That should be an impossible value for this pass, so I inferred that pass_flags must have dirt left from some previous pass. Fixes: 8dfe6f67 ("nir/GCM: Use pass_flags instead of bitsets for tracking visited/pinned") Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <mesa/mesa!597> (cherry picked from commit 43666887)
-
According to the EGL spec, it is entirely valid for an EGLSurface to outlive the native_window it was created from, provided that SwapBuffers and MakeCurrent return EGL_BAD_NATIVE_WINDOW. We don't have any facility to error on MakeCurrent, so just make sure we can bundle on safely through rendering for now, then return EGL_BAD_NATIVE_WINDOW from SwapBuffers. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Closes: #2251 Closes: #4902 Cc: mesa-stable Part-of: <!11979> (cherry picked from commit 6455ab6e)
-
We unconditionally require a wl_egl_window to be passed as the native window type, and do not permit a default window. The spec requires us to return EGL_BAD_NATIVE_WINDOW when doing this, rather than crashing. Further, if an EGLSurface has already been created for an existing native window, we are required to return EGL_BAD_ALLOC. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Simon Ser <contact@emersion.fr> Closes: mesa/mesa#2251 Closes: mesa/mesa#4902 Cc: mesa-stable Part-of: <mesa/mesa!11979> (cherry picked from commit 0e2464d2)
-
Like in the case of emitting a block, process pending TMU operations before a jump is executed. Fixes dEQP-VK.graphicsfuzz.stable-binarysearch-tree-nested-if-and-conditional. Fixes: 197090a3 ("broadcom/compiler: implement pipelining for general TMU operations") Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Part-of: <mesa/mesa!11971> (cherry picked from commit dc401578)
-
This fixes CPU read performance. Closes: mesa/mesa#5091 Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!11974> (cherry picked from commit 54e1ec01)
-
The function radeonsi_screen_create_impl() tries to create the aux_context but doesn't actually check for the returned value from si_create_context(). Then, on si_destroy_screen() the aux_context is used without actually checking whether it's a thing or not. As a result, if for any reason si_create_context() failed, we shall crash in si_destroy_screen() with a NULL pointer dereference trying to access ((struct si_context *)sscreen->aux_context)->log. Simply check for aux_context not being NULL to avoid that crash. Cc: mesa-stable Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!11948> (cherry picked from commit 5bfd1a7e)
-
According to the comment below some extra magic is needed for bindless samplers, so don't do an early return in this case. Fixes: 736f1f70 ("mesa: skip redundant uniform updates for glUniform") Closes: mesa/mesa#4806 Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <mesa/mesa!11930> (cherry picked from commit 8be61e8a)
-
Packed constants with non-zero values in the high half might have been propagated as 16 bit, dropping the high half. Cc: mesa-stable Closes: #5070 Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <mesa/mesa!11954> (cherry picked from commit 9b1a2961)
-
To enable dual 4k displays on mutter or gnome-shell under X11 we need to expose the non-MSAA texture limit as we did for Xorg at 60a64f02 ("v3d: Use driconf to expose non-MSAA texture limits for Xorg.") https://gitlab.gnome.org/GNOME/mutter/-/issues/1874 Cc: 21.1 21.2 mesa-stable Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <mesa/mesa!11926> (cherry picked from commit fd5fa73e)
-
Originally I fixed the case where the nir itself has a shared mem size of 0, but the frontend (e.g. clover) set it to some other value. But st/mesa sets the shared mem size on the state object as well and we end up actually doubling the value in the driver as we set smemSize to the value from the state object before calling into the compiler. So just max the value instead. Fixes the compute_shader.shared-max CTS test. Fixes: dc667b1f ("nv50/ir/nir: fix smem size") Signed-off-by: Karol Herbst <kherbst@redhat.com> Part-of: <mesa/mesa!11047> (cherry picked from commit ff55412f)
-
I've read the papers on EWA filters and it seems like the calculate DDQ = 2 * A after the scaling of A happens. This seems to make things less blurry and more like real aniso. Fixes: 2135aba8 ("softpipe: Constify variables") Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <mesa/mesa!11917> (cherry picked from commit 57dcfb4e)
-
This replaces some new/delete uses with malloc/free. This is more consistent with most of the other glsl IR code but more importantly it allows the game "Battle Block Theater" to start working on some mesa drivers. The game overrides new and ends up throwing an assert and crashing when it sees this function calling new [0]. Note: The game still crashes with radeonsi due to similar conflicts with LLVM. CC: mesa-stable Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Part-of: <mesa/mesa!11907> (cherry picked from commit 74925139)
-
Fixes: eca6bb95 ("util/fossilize_db: add basic fossilize db util to read/write shader caches") Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Part-of: <mesa/mesa!11931> (cherry picked from commit 2850db0a)
-
Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!11900> (cherry picked from commit 86ff5b7d)
-
DRM_IOCTL_I915_QUERY is a multi-query. The most egregious errors are returned via the usual ioctl error mechanism but there are also per-query errors that are indicated by item.length < 0. We need to handle those as well. While we're at it, scrape errno so we can return a proper integer error. Fixes: c0d07c83 "anv: Support i915 query (DRM_IOCTL_I915_QUERY)..." Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Part-of: <mesa/mesa!11770> (cherry picked from commit b664481b)
-
It implicitly contains the number of threads via the CURBE allocation size field. Fixes: 33c61eb2 "iris: Implement ARB_compute_variable_group_size" Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <mesa/mesa!10640> (cherry picked from commit e56d5db3)
-
With separate depth/stencil layouts, if the depth aspect is first initialized and then cleared, the ZRANGE_PRECISION metadata might be different than 0. Initializing it again for the stencil aspect will overwrite the value. Fixes rendering glitches with Scarlet Nexus on GFX8-9. Closes: mesa/mesa#5052 Cc: 21.1 21.2 mesa-stable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!11883> (cherry picked from commit 1ea156f4)
-
12128fb1 marked fp16 vertex formats supported, but they aren't actually handled by lima_pipe_format_to_attrib_type(). Fix it by handling it there. FP16 seems to be the only missing index which is 0x3. Fixes: 12128fb1 ("lima: add natively supported vertex buffer formats") Cc: 21.1 mesa-stable Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Part-of: <mesa/mesa!11872> (cherry picked from commit 4a3269df)
-
Drops the vk_format_to_pipe (and it's outdated table) for vk_format_to_pipe_format, aswell as the duplicated vk_format_aspects function. The old format table was missing USCALED and other values, causing incorrect rendering in many games. Fixes rendering in Portal 1, Hat in Time, Half-Life 2 and pretty much every other D3D9 title with DXVK. Fixes: b38879f8 ("vallium: initial import of the vulkan frontend") Signed-off-by: Joshua Ashton <joshua@froggi.es> Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <mesa/mesa!11863> (cherry picked from commit 17443727)
-
Eric Engestrom authored
-
Forcing round-to-nearest-even results in loss of opportunities for conversion folding, causing a regression in gfxbench gl_alu2. Fixes: de195671 ("ir3: nir_op_f2f16 should round to even") Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <mesa/mesa!10773> (cherry picked from commit 6c530ebf)
-
- Jul 14, 2021
-
-
The Vulkan 1.2 specification, section 11.2.12 ("Host Access to Device Memory Objects") say the following: > memory must have been created with a memory type that reports > VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT Since there's no guarantee that there's any memory that is *both* device-local *and* host-visible, let's just use the latter requirement. Fixes: 8af568e4 ("vulkan: implement wsi_win32 backend") Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!11848> (cherry picked from commit e3542b35)
-
The Vulkan 1.2 specification, section 11.2.12 ("Host Access to Device Memory Objects") say the following: > If size is not equal to VK_WHOLE_SIZE, size must be greater than 0 So, mapping a zero-sized range is illegal. Let's instead map the reported size of the image, which we already know. Fixes: 8af568e4 ("vulkan: implement wsi_win32 backend") Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!11848> (cherry picked from commit d0c7a210)
-
This needs to be resetted each time prog_to_nir is called because it turns st_nir_assign_vs_in_locations into a no-op when set. Fixes: 81d106d6 ("radeonsi: lower IO intrinsics - complete rewrite of input/output scanning") Closes: mesa/mesa#5001 Reviewed-by: Isaac Bosompem <mrisaacb@google.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!11636> (cherry picked from commit bcf8c791)
-
Doing *both* of thse ends up rewriting the previous mapping. Since this doesn't seem to have lead to issues, it seems like the new mapping works just as well. Fixes: a22a1c03 ("zink: Fix VK_FORMAT_A8B8G8R8_SRGB_PACK32 mapping on big-endian") Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <mesa/mesa!11417> (cherry picked from commit 4efbeafa)
-
Eric Engestrom authored
-
Eric Engestrom authored
-
Eric Engestrom authored
-