- Jun 24, 2020
-
-
Eric Engestrom authored
-
Eric Engestrom authored
-
Which can happen if we have to many mmaps active in the process. CC: <mesa-stable@lists.freedesktop.org> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> (cherry picked from commit a5cb88ee)
-
Otherwise if realloc fails we silently try to use it. Make recording fail instead. CC: <mesa-stable@lists.freedesktop.org> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!5578> (cherry picked from commit 04765e6a)
-
Doom Eternal happily creates a swapchain with 2 images for IMMEDIATE... This fixes a 10% performance issues with Doom Eternal for me. Since the game only sets a minImageCount increasing till our own minimum is totally okay. CC: <stable@lists.freedesktop.org> Closes: mesa/mesa#2684 Closes: mesa/mesa#3156 Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!4368> (cherry picked from commit 5f97dfc4)
-
layout_resource_for_modifier() needs to handle DRM_FORMAT_MOD_INVALID as well, since src/gallium/frontends/dri/dri2.c uses this to indicate "no modifier" when it's called through the older non-modifier entry points. This is similar to 334788d4 ("freedreno: allow INVALID modifier") but for the generic implementation. Fixes: 98910626 ("freedreno/a6xx: Implement layout for DRM_FORMAT_MOD_QCOM_COMPRESSED") Closes: #3154 Part-of: <mesa/mesa!5611> (cherry picked from commit bf92f041)
-
Previously all nir_intrinsic_load_uniform that were used as sources were considered to be dynamically_uniform but when offsets of load_uniform are indirect it can not be determined. This fixes artefacts in Google Maps 3D view in V3D. Fixes: 886d46b0 ("nir: Add a function to determine if a source is dynamically uniform") Reviewed-by: Neil Roberts <nroberts@igalia.com> Part-of: <mesa/mesa!5587> (cherry picked from commit ba15bb38)
-
This fixes: KHR-GL45.gpu_shader_fp64.builtin.mod_* Fixes: ba2ec1f3 "ac/nir: use llvm.amdgcn.rcp in ac_build_fdiv()" Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!5531> (cherry picked from commit 2b8b62c5)
-
We were failing to tell the allocator about the restriction that scalar texture instructions (allocated as scalar regs) couldn't be allocated such that the start of the full unwritemasked vector started before r0. There was a patch in select_reg_callback on a6xx that tried to work around that, but you could still end up backed into a corner you shouldn't be because we didn't tell the RA what it needed. Fixes compiler assertion failures on a300-a400's blit_z shader, used for Z32F gmem blits. Looks like as a result we get tighter register allocation but more nops: instructions in affected programs: 757945 -> 760356 (0.32%) nops in affected programs: 317983 -> 320468 (0.78%) non-nops in affected programs: 27525 -> 27451 (-0.27%) mov in affected programs: 3098 -> 3023 (-2.42%) dwords in affected programs: 109664 -> 110656 (0.90%) last-baryf in affected programs: 112701 -> 112847 (0.13%) full in affected programs: 4326 -> 4011 (-7.28%) sstall in affected programs: 120550 -> 120836 (0.24%) (ss) in affected programs: 13939 -> 13918 (-0.15%) (sy) in affected programs: 3006 -> 2786 (-7.32%) (cherry picked from commit b420d04e) Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <mesa/mesa!5612>
-
We were failing to tell the allocator about the restriction that scalar texture instructions (allocated as scalar regs) couldn't be allocated such that the start of the full unwritemasked vector started before r0. There was a patch in select_reg_callback on a6xx that tried to work around that, but you could still end up backed into a corner you shouldn't be because we didn't tell the RA what it needed. Fixes compiler assertion failures on a300-a400's blit_z shader, used for Z32F gmem blits. Looks like as a result we get tighter register allocation but more nops: instructions in affected programs: 757945 -> 760356 (0.32%) nops in affected programs: 317983 -> 320468 (0.78%) non-nops in affected programs: 27525 -> 27451 (-0.27%) mov in affected programs: 3098 -> 3023 (-2.42%) dwords in affected programs: 109664 -> 110656 (0.90%) last-baryf in affected programs: 112701 -> 112847 (0.13%) full in affected programs: 4326 -> 4011 (-7.28%) sstall in affected programs: 120550 -> 120836 (0.24%) (ss) in affected programs: 13939 -> 13918 (-0.15%) (sy) in affected programs: 3006 -> 2786 (-7.32%) (cherry picked from commit b420d04e) Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <mesa/mesa!5612>
-
These instructions are not vectorized, and validation rules added for this with 167fa288 nir/validate: validate intr->num_components Fixes: 46a3033b r600/sfn: Emit some LDS instructions Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <mesa/mesa!5575> (cherry picked from commit 97318994)
-
It looks like there's also a standalone version and a 32-bit version. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!5574> (cherry picked from commit c977567d)
-
To workaround game bugs. This also enables it for the D3D11 renderer but that shouldn't be an issue. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Closes: mesa/mesa#3081 Closes: mesa/mesa#3084 Closes: mesa/mesa#3080 Part-of: <mesa/mesa!5569> (cherry picked from commit 19b2ac2b)
-
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!5569> (cherry picked from commit f4a643f6)
-
wsi_release_display() implements vkReleaseDisplayEXT() which is supposed to return control to the lessor of an output upon call. We need to terminate the wsi->wait_thread when close()'ing the wsi->fd, otherwise the wait_thread holds another reference to the wsi->fd, keeping the lease active, and thereby the leased output blocked, until vkDestroyInstance() is called. This gives users their GUI back, instead of extended darkness. Fixes: 352d320a ("vulkan: Add EXT_direct_mode_display [v2]") Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: <mesa-stable@lists.freedesktop.org> Part-of: <mesa/mesa!5396> (cherry picked from commit 2cc51b0d)
-
Closes: mesa/mesa#2775 Fixes: c3fafa12 ("st/mesa: generalize code for the compressed texture map/unmap fallback") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5492> (cherry picked from commit b6db703e)
-
I accidentally got one of the conditions wrong here. Sorry for the mixup. See ttps://gitlab.freedesktop.org/mesa/mesa/-/issues/3134 for details. Fixes: b112e62b ("mesa/main: do not allow MESA_ycbcr_texture enums on gles") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5532> (cherry picked from commit 747e8086)
-
If on a nested loop - the outer loop needs WQM but - the inner loop doesn't need WQM and - the break condition of the inner loop is computed in the outer loop then it could happen that we transitioned to Exact before entering the inner loop which could create an empty exec mask and lead to an infinite loop. Fixes a GPU hang with RDR2 Cc: 20.1 <mesa-stable@lists.freedesktop.org> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <mesa/mesa!5518> (cherry picked from commit 3817fa7a)
-
We may have "loose", per-image gallium resources. The src_image->Level may not match the gallium resource texture level. In such case it is prescribed (in st_AllocTextureImageBuffer) to specify mipmap level as zero. Fixes: f04f1362 Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5477> (cherry picked from commit 8ce8895b)
-
This fixes some sort of LOD issue. Cc: 20.1 <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!5525> (cherry picked from commit c4aa64b4)
-
When updating the shader info used by GL for the API we must remember to make sure to restore the pointers to its own name and label strings. There are a number of ways in which the nir copy of these strings can be freed before GL is finished with them. Fixes: 36be8c2f ("st/glsl_to_nir: use nir_shader_gather_info()") Closes: mesa/mesa#2875 Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!5488> (cherry picked from commit b2e9d21f)
-
because the hash table now owns it. Fixes: bd553f05 - ac/surface: cache DCC retile maps (v2) Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> (cherry picked from commit 0b3e3442) Part-of: <mesa/mesa!5422>
-
This reduces overhead when resizing windows or when allocating similar image sizes over and over again. v2: optimize the memory footprint of the cache Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> (cherry picked from commit bd553f05) Part-of: <mesa/mesa!5422>
-
and more things in the future. Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> (cherry picked from commit 4cf674c8) Part-of: <mesa/mesa!5422>
-
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> (cherry picked from commit e6996d6f) Part-of: <mesa/mesa!5422>
-
This decreases the DCC retile map overhead from 23% to 18%. Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> (cherry picked from commit a99f4d53) Part-of: <mesa/mesa!5422>
-
The retile map is not used in this case, and the retile map computation takes 39% of CPU time when resizing a window. This brings it down to 23%. The dcc_retile_use_uint16 setting has to be derived from DCC sizes. Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> (cherry picked from commit a1b9eb62) Part-of: <mesa/mesa!5422>
-
Code: #include <sys/sysctl.h> Compiler stdout: Compiler stderr: In file included from testfile.c:1: /usr/include/sys/sysctl.h:1184:40: error: unknown type name 'size_t' int sysctl(const int *, u_int, void *, size_t *, const void *, size_t); ^ /usr/include/sys/sysctl.h:1185:40: error: unknown type name 'size_t' int sysctlbyname(const char *, void *, size_t *, const void *, size_t); ^ /usr/include/sys/sysctl.h:1186:42: error: unknown type name 'size_t' int sysctlnametomib(const char *, int *, size_t *); ^ 3 errors generated. Checking if "sys/sysctl.h" compiles: NO <mesa/drm@1f8ada80> <mesa/drm@4083e8f2 > Reviewed-by: Niclas Zeising <zeising@daemonic.se> Reviewed-by: Eric Engestrom <eric@engestrom.ch> Cc: mesa-stable Part-of: <mesa/mesa!5462> (cherry picked from commit 63b81c99)
-
Reviewed-by: Eric Engestrom <eric@engestrom.ch> Cc: mesa-stable Part-of: <mesa/mesa!5460> (cherry picked from commit 46c36890)
-
This gains back some performance lost in the previous commit, by bypassing u_vbuf. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5417> (cherry picked from commit a3d07c4a)
-
The approach taken in this commit only works on drivers that expose the PIPE_CAP_BUFFER_MAP_PERSISTENT_COHERENT capability. For drivers that don't, the buffer has been unmapped by the time we get to hud_draw_colored_prims, leading to crashes. It's not easy to fix the code, but drivers that do support coherent mapping will most likely do the right think themseleves, so let's just go back to using user-buffers here. This reverts commit 4fe1fd4d. Fixes: 4fe1fd4d ("gallium/hud: don't use user vertex buffers") Closes: mesa/mesa#3106 Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <mesa/mesa!5417> (cherry picked from commit 7b86920a)
-
This seems valid per the SPIR-V spec to use OpSampledImage with OpUndef instead of OpTypeImage or OpTypeSampler. When the image operand is undefined, SPIRV->NIR emits an undef instruction that can be removed later by the compiler. This fixes shader compilation crashes with Red Dead Redemption II. Cc: mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!5230> (cherry picked from commit 9b6a8d17)
-
Fix building swr with MSVC by turning off UNICODE before including windows.h. Reviewed-by: Jan Zielinski <jan.zielinski@intel.com> Part-of: <mesa/mesa!5166> (cherry picked from commit 09fc9c5f)
-
Eric Engestrom authored
CoverityID: 1435701 Fixes: e5a81ac7 ("broadcom/vc5: Don't forget to get the BO offset when opening a dmabuf.") Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <mesa/mesa!5263> (cherry picked from commit 6456f71f)
-
When handling function inputs the optimisation pass incorrectly assumes the inputs are undefined. Here we simply change things to assume inputs have always been assigned a value. Any further optimisations will be taken care of once function inlining takes place. Closes: mesa/mesa#2984 Fixes: 65122e9e ("ir_constant_variable: New pass to mark constant-assigned variables constant.") Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!5413> (cherry picked from commit b33f8110)
-
Use the SPIR-V execution modes if set. Cc: 20.1 <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!5404> (cherry picked from commit 07aefe80)
-
Eric Engestrom authored
-
- Jun 10, 2020
-
-
Eric Engestrom authored
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
-
Eric Engestrom authored
-
Eric Engestrom authored
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
-