- Mar 18, 2023
-
-
Fixes: 0cde42a5 ("radv: Wait for shader uploads asynchronously.") Part-of: <mesa/mesa!21985>
-
Part-of: <mesa/mesa!21996>
-
Part-of: <mesa/mesa!21996>
-
Part-of: <mesa/mesa!21996>
-
Part-of: <mesa/mesa!21996>
-
- Mar 17, 2023
-
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by:
Qiang Yu <yuq825@gmail.com> Part-of: <mesa/mesa!21920>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by:
Qiang Yu <yuq825@gmail.com> Part-of: <mesa/mesa!21920>
-
Can you spot the problem? exp param0 v6, v5, v5, v5 exp param1 v7, off, off, off exp param1 v7, off, off, off radeonsi uses ac_nir_optimize_outputs to eliminate output stores with identical SSA defs (i.e. duplicated), which then causes 2 outputs to map to the same parameter export. This is a regression. The old LLVM code was correctly emitting each export only once. vs_output_param_mask was supposed to be used for this instead of vs_output_param_offset. Fixes: 80506be3 - ac/nir/ngg,radv,radeonsi: nogs use ac_nir_export_(position|parameter) Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by:
Qiang Yu <yuq825@gmail.com> Part-of: <mesa/mesa!21920>
-
Signed-off-by:
José Roberto de Souza <jose.souza@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!21965>
-
Some helper functions in iris_bufmgr were also moved because the only caller is in iris_i915_batch. Signed-off-by:
José Roberto de Souza <jose.souza@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!21965>
-
This way when replacing a broken context we don't need to ask to kernel what is the priority of the context being replaced. Also this will be necessary for Xe kmd as it don't have any uapi to query engine priority. While doing that also taking the oportunity to move more code from iris_bufmgr.c/h that only has one caller. Signed-off-by:
José Roberto de Souza <jose.souza@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!21965>
-
Remove some stray debug code which spams the terminal. Signed-off-by:
Brian Paul <brianp@vmware.com> Part-of: <mesa/mesa!21994>
-
When downloading new containers, we can often trip the 2 minutes console activity timeout. This will be improved in the next b2c version[1] but let's increase it until we address it. [1] mupuf/boot2container#51 Signed-off-by:
Martin Roukala (né Peres) <martin.roukala@mupuf.org> Part-of: <mesa/mesa!21983>
-
Signed-off-by:
Martin Roukala (né Peres) <martin.roukala@mupuf.org> Part-of: <mesa/mesa!21983>
-
Part-of: <mesa/mesa!21947>
-
Intel Gen9 GPUs have hardware ASTC support, but have a bug where they don't handle denormalized values in void extent blocks correctly. This isn't that hard to work around - on upload, we can detect such blocks, and flush any denorms to zero. Because we're altering the data behind the application's back, and applications can theoretically ask to download the original unaltered image data, we unfortunately need to maintain shadow copies of the data. To make sure that we don't accidentally skip the void-extent flushing via any fast-upload paths, and support download correctly, we plug this into the st/mesa compressed texture format fallback paths, which store a CPU copy of the original image data, and upload altered data. This is unfortunately common code for what's likely to be a single driver's issue (on a single generation), but it beats replicating an entire framework we already have inside the driver. Fixes dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr.* using iris on Intel Gen9 GPUs. Closes: mesa/mesa#4167 Reviewed-by:
Emma Anholt <emma@anholt.net> Acked-by:
Erik Faye-Lund <erik.faye-lund@collabora.com> Acked-by:
Matt Turner <mattst88@gmail.com> Part-of: <mesa/mesa!21943>
-
Some drivers use clang-format exclusively. We would like to lint for correct formatting in CI to catch style issues before they land, because mixing clang-format and not clang-format within a codebase is a recipe for conflicts. We don't expect this lint to ever fail in "normal" usage, since we expect developers on these drivers to setup automatic formatting in their editor. However, it can be useful as a failsafe or for drive-by contributors who don't know the style guide. Enable the linting for Asahi. We'll enable for Panfrost shortly, but Panfrost isn't clang-format clean quite yet. Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com> Reviewed-by:
Eric Engestrom <eric@igalia.com> Reviewed-by:
Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!20553>
-
We need clang-format available in order to check for formatting errors later. Add it to the amd64 container only (this requires some shenigans to avoid multi-arch conflicts). Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com> Reviewed-by:
Eric Engestrom <eric@igalia.com> Reviewed-by:
Emma Anholt <emma@anholt.net> Part-of: <!20553>
-
Signed-off-by:
José Roberto de Souza <jose.souza@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!21937>
-
Signed-off-by:
José Roberto de Souza <jose.souza@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!21937>
-
Signed-off-by:
José Roberto de Souza <jose.souza@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!21937>
-
As Xe KMD requires VM, iris_bufmgr_init_global_vm() now is returing a boolean telling if bufmgr creationg should continue or not. Signed-off-by:
José Roberto de Souza <jose.souza@intel.com> Reviewed-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <mesa/mesa!21937>
-
Signed-off-by:
José Roberto de Souza <jose.souza@intel.com> Reviewed-by:
Tapani Pälli <tapani.palli@intel.com> Part-of: <mesa/mesa!21966>
-
Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Friedrich Vock <friedrich.vock@gmx.de> Fixes: 39c828cb ("aco: remove aco::rt_stack variable") Part-of: <mesa/mesa!21961>
-
Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Friedrich Vock <friedrich.vock@gmx.de> Fixes: 6446b791 ("aco: implement select_rt_prolog()") Part-of: <mesa/mesa!21961>
-
Requires -Wno-error=... to be passed to the linking stage. NOTE: This does not imply that it's safe to enable LTO for Fedora package builds yet. It just helps prevent moving further away from that long term goal. v2: * Keep passing -Wno-error=array-bounds & -Wno-error=stringop-overread. Part-of: <mesa/mesa!21781>
-
For GCC LTO wrapper scripts. Part-of: <mesa/mesa!21781>
-
It started hanging in F36 as well. Part-of: <mesa/mesa!21781>
-
Part-of: <!21781>
-
Part-of: <mesa/mesa!21781>
-
With LTO, some compiler warnings are generated only at the compiler's linking stage. Therefore -Werror needs to be passed to the linking stage as well for warnings to be turned into errors. Meson should really do this when both werror and b_lto are enabled, but meanwhile let's do it ourselves. We can't just add -Werror to c{,pp}_link_args, because those are passed for Meson's feature checks, some of which generate warnings, resulting in false negatives. We use gcc/g++ wrapper scripts instead. Part-of: <mesa/mesa!21781>
-
It's only valid for C code. Avoids cc1plus: error: command-line option '-Wno-override-init' is valid for C/ObjC but not for C++ [-Werror] Part-of: <mesa/mesa!21781>
-
Most of them are only needed for C++ code, one of them only for C. Part-of: <mesa/mesa!21781>
-
No more corresponding warnings. Part-of: <mesa/mesa!21781>
-
Pointed out by GCC with LTO: ../src/gallium/drivers/iris/iris_context.c: In function 'iris_create_context': ../src/gallium/drivers/iris/iris_context.c:304:7: error: 'free' called on pointer 'block_180' with nonzero offset 48 [-Werror=free-nonheap-object] 304 | free(ctx); | ^ [...] ../src/gallium/drivers/iris/iris_context.c:313:7: error: 'free' called on pointer 'block_180' with nonzero offset 48 [-Werror=free-nonheap-object] 313 | free(ctx); | ^ v2: * Use ice pointer instead of ctx. (Karol Herbst) Part-of: <mesa/mesa!21781>
-
Pointed out by GCC with LTO: ../src/gallium/drivers/crocus/crocus_context.c: In function 'crocus_create_context': ../src/gallium/drivers/crocus/crocus_context.c:261:7: error: 'free' called on pointer 'block_174' with nonzero offset 48 [-Werror=free-nonheap-object] 261 | free(ctx); | ^ v2: * Use ice pointer instead of ctx. (Karol Herbst) Part-of: <mesa/mesa!21781>
-
Fixes strict aliasing violation: In function 'r600_init_resource_fields', inlined from 'r600_buffer_create' at ../src/gallium/drivers/r600/r600_buffer_common.c:578:2: ../src/gallium/drivers/r600/r600_buffer_common.c:139:48: warning: array subscript 'struct r600_texture[0]' is partly outside array bounds of 'unsigned char[264]' [-Warray-bounds] 139 | if ((res->b.b.target != PIPE_BUFFER && !rtex->surface.is_linear) || | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/util/os_memory.h:37, from ../src/util/u_memory.h:38, from ../src/gallium/include/pipe/p_state.h:47, from ../src/gallium/auxiliary/util/u_inlines.h:34, from ../src/gallium/auxiliary/pipebuffer/pb_buffer.h:49, from ../src/gallium/include/winsys/radeon_winsys.h:46, from ../src/gallium/drivers/r600/r600_pipe_common.h:37, from ../src/gallium/drivers/r600/r600_cs.h:33, from ../src/gallium/drivers/r600/r600_buffer_common.c:27: In function 'r600_alloc_buffer_struct', inlined from 'r600_buffer_create' at ../src/gallium/drivers/r600/r600_buffer_common.c:576:34: ../src/util/os_memory_stdc.h:41:27: note: object of size 264 allocated by 'malloc' 41 | #define os_malloc(_size) malloc(_size) | ^~~~~~~~~~~~~ ../src/util/u_memory.h:46:24: note: in expansion of macro 'os_malloc' 46 | #define MALLOC(_size) os_malloc(_size) | ^~~~~~~~~ ../src/util/u_memory.h:54:41: note: in expansion of macro 'MALLOC' 54 | #define MALLOC_STRUCT(T) (struct T *) MALLOC(sizeof(struct T)) | ^~~~~~ ../src/gallium/drivers/r600/r600_buffer_common.c:554:19: note: in expansion of macro 'MALLOC_STRUCT' 554 | rbuffer = MALLOC_STRUCT(r600_resource); | ^~~~~~~~~~~~~ Part-of: <mesa/mesa!21781>
-
This matches the type of the underlying size member, and is consistent with other getSize methods. Avoids compiler warning with LTO enabled: In member function '__ct ', inlined from 'convertToSSA' at ../src/nouveau/codegen/nv50_ir_ssa.cpp:401:26, inlined from 'convertToSSA' at ../src/nouveau/codegen/nv50_ir_ssa.cpp:310:28, inlined from 'nv50_ir_generate_code' at ../src/nouveau/codegen/nv50_ir.cpp:1331:22: ../src/nouveau/codegen/nv50_ir_ssa.cpp:407:48: error: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=] 407 | stack = new Stack[func->allLValues.getSize()]; | ^ /usr/include/c++/12/new: In function 'nv50_ir_generate_code': /usr/include/c++/12/new:128:26: note: in a call to allocation function 'operator new []' declared here 128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) | ^ Part-of: <!21781>
-
This can have two main uses: * If we suspect a problem with TFU copies, we can disable it and check if other codepaths gets a test/app working. * To test other codepaths, as in general, TFU is the preferred option for copies. Note that for now this is only for v3dv, as for v3d, mipmap generation uses TFU without an alternative codepath. With this option we also adds an assert if we try to submit a TFU job, just in case we keep adding other methods that use TFU, and forget to include the debug option there. Reviewed-by:
Iago Toral Quiroga <itoral@igalia.com> Reviewed-by:
Juan A. Suarez <jasuarez@igalia.com> Part-of: <mesa/mesa!21952>
-
this is more consistent with actual usage also sanitize rp info on flush to ensure it isn't reused Part-of: <mesa/mesa!21800>
-