- Nov 15, 2019
-
-
Tomeu Vizoso authored
-
Tomeu Vizoso authored
-
Tomeu Vizoso authored
-
Tomeu Vizoso authored
Work is starting on supporting the Mali T720 GPU, so test it on PINE64 H64 boards. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-
Tomeu Vizoso authored
Support for this GPU is close to that of T760, so whitelist it now. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-
Tomeu Vizoso authored
State was leaking from previous frames as we weren't updating the descriptor in all cases. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-
On newer GPUs, this is a no-op. On older GPUs, this prevents needless spilling since texture registers are shared with a subset of work registers. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
We have to disable the fixup. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
We use a different set of texture registers, probably to save hardware. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Early Midgard uses a different set of texture registers; let's not hardcode. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Tomeu Vizoso authored
Per the spec, the units passed to glPolygonOffset are to be multiplied by an implementation-defined constant. On Midgard, this constant seems to be 2. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Lionel Landwerlin authored
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Rafael Antognolli <rafael.antognolli@intel.com>
-
Lionel Landwerlin authored
We'll use this for performance metrics which are different from ICL. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
-
Tapani Pälli authored
Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
-
Tapani Pälli authored
Closes: mesa/mesa#2090 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
-
Samuel Pitoiset authored
To not overwrite the resolve if there is pending clear aspects, same as color resolves. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Samuel Pitoiset authored
This option is useless and shouldn't be used at all. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
-
Nathan Kidd authored
In the case of glibc, pthread_t is internally a pointer. If lp_rast_destroy() passes a 0-value pthread_t to pthread_join(), the latter will SEGV dereferencing it. pthread_create() can fail if either the user's ulimit -u or Linux kernel's /proc/sys/kernel/threads-max is reached. Choosing to continue, rather than fail, on theory that it is better to run with the one main thread, than not run at all. Keeping as many threads as we got, since lack of threads severely degrades llvmpipe performance. Signed-off-by: Nathan Kidd <nkidd@opentext.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
-
- Nov 14, 2019
-
-
Large programs, e.g. gnome-shell and firefox, may tax the addressability of the Medium code model once a (potentially unbounded) number of dynamically generated JIT-compiled shader programs are linked in and relocated. Yet the default code model as of LLVM 8 is Medium or even Small. The cost of changing from Medium to Large is negligible: - an additional 8-byte pointer stored immediately before the shader entrypoint; - change an add-immediate (addis) instruction to a load (ld). Testing with WebGL Conformance (https://www.khronos.org/registry/webgl/sdk/tests/webgl-conformance-tests.html) yields clean runs with this change (and crashes without it). Testing with glxgears shows no detectable performance difference. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1753327, 1753789, 1543572, 1747110, and 1582226 Closes: #223 Co-authored by: Nemanja Ivanovic <nemanjai@ca.ibm.com>, Tom Stellard <tstellar@redhat.com> CC: mesa-stable@lists.freedesktop.org Signed-off-by: Ben Crocker <bcrocker@redhat.com>
-
Kenneth Graunke authored
So nir_validate happens properly. Unfortunately this means we have to play the metadata song and dance, so walk over all impls and say that we didn't hurt anything. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
-
Kenneth Graunke authored
When demoting it from an output to a global, we need to actually move it to the correct list. While here, we also refactor so it's clear we aren't mutating the list while iterating. Closes: mesa/mesa#2106 Fixes: f9fd04ac ("nir: Fix non-determinism in lower_global_vars_to_local") Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
-
Emma Anholt authored
We were compiling them twice, costing extra build time. Reduces my ccache-hot clean build time by a second (24.3s to 23.3s, 3 runs each). The windows args are a little strange -- it's not clear to me that they're actually used for building these files, but keep them in place just in case, since we don't have a good windows CI story yet. We should want them on both gallium and classic regardless: Only osmesa could be built for windows in classic, and classic OSMesa's scons build defines these flags too. Closes: #2052 Acked-by: Dylan Baker <dylan@pnwbakers.com>
-
Prodea Alexandru-Liviu authored
As this required use of Python 3.8, mako module also had to be updated. v2 - Unbind mako module version when using Meson. Signed-off-by: Prodea Alexandru-Liviu <liviuprodea@yahoo.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
-
Danylo Piliaiev authored
On gen7 and earlier the scratch space size is limited to 12kB. By enabling this optimization we may easily exceed this limit without having any fallback. arb_compute_shader/linker/bug-93840.shader_test crashes with this lowering on IVB due to exceeding scratch size limit. Closes: #2092 Fixes: 69244fc7 Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
-
Emma Anholt authored
To make PIPE_FORMATs usable from non-gallium parts of Mesa, I want to move their helpers out of gallium. Since u_format used util_copy_rect(), I moved that in there, too. I've put it in a separate directory in util/ because it's a big chunk of related code, and it's not clear to me whether we might want it as a separate library from libmesa_util at some point. Closes: #1905 Acked-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-
Eric Engestrom authored
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
-
Timur Kristóf authored
This should remove most of the excess code size that was introduced by making all booleans per-lane. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
-
Timur Kristóf authored
Previously, instruction selection had two kinds of booleans: 1. divergent which was per-lane and stored in s2 (VCC size) 2. uniform which was stored in s1 Additionally, uniform booleans were made per-lane when they resulted from operations which were supported only by the VALU. To decide which type was used, we relied on the destination size, which was not reliable due to the per-lane uniform bools, but it mostly works on wave64. However, in wave32 mode (where VCC is also s1) this approach makes it impossible keep track of which boolean is uniform and which is divergent. This commit makes all booleans per-lane. The resulting excess code size will be taken care of by the optimizer. v2 (by Daniel Schürmann): - Better names for some functions - Use s_andn2_b64 with exec for nir_op_inot - Simplify code due to using s_and_b64 in bool_to_scalar_condition v3 (by Timur Kristóf): - Fix several subgroups regressions Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
-
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
-
Timur Kristóf authored
ACO's optimizer would try to propagate 64-bit constants, but does so in such a way that wouldn't work due to how the 64-bit constants are handled in the IR. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
-
This patch tries to give instructions with the same execution mask also the same pass_flags and enables VN for SALU instructions using exec as Operand. This patch also adds back VN for VOPC instructions and removes VN for phis. v2 (by Timur Kristóf): - Fix some regressions. v3 (by Daniel Schürmann): - Fix additional issues Reviewed-By: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
-
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
-
Samuel Pitoiset authored
Build is broken since "Move CodeGenFileType enum to Support/CodeGen.h". Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
-
Tapani Pälli authored
This reverts commit 66d24a9e. This commit made Mesa CI red because commit depends on a Piglit test change.
-
Connor Abbott authored
Using a hash-table walk means that variables will get inserted in different orders on different runs. Just walk the list of globals instead, even if some of them can't be turned into locals. Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com> Reviewed-by: Eric Anholt <eric@anholt.net>
-
Iago Toral authored
Commit "1c2bf82d glsl: disable lower_fragdata_array() for NIR drivers" disabled the GLSL IR lowering that turned gl_FragData from an array into a collection of scalar outputs under the assumption that this was already being handled properly elsewhere, however there are some corner cases where NIR would fail to do this, leaving gl_FragData[] as an array variable. This can break backends that assume that all their outputs will be scalar and use the variable definitions from the shader to do their output setup, such as the case of V3D. At least one corner case was found in some Portal shaders from shader-db, where NIR would optimize out the full body of a fragment shader. In this scenario, the empty shader would keep the original array definition of gl_FragData[], causing the backend to assert. We need to do this late enough for it to be effective, since doing it in st_nir_preprocess does not fix the original problem. Closes: #2091 Fixes: 1c2bf82d ("glsl: disable lower_fragdata_array() for NIR drivers") Reviewed-by: Marek Olšák <marek.olsak@amd.com>
-
Tapani Pälli authored
Closes: #2090 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
-
Tapani Pälli authored
This reverts commit 75204784. This series caused unexpected flickering artifacts with Iris driver on Chrome OS and EGL_EXT_image_flush_external spec has not been published yet. Acked-by: Eric Engestrom <eric@engestrom.ch> Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
-
Tapani Pälli authored
This reverts commit 1d1b4578. This series caused unexpected flickering artifacts with Iris driver on Chrome OS and EGL_EXT_image_flush_external spec has not been published yet. Acked-by: Eric Engestrom <eric@engestrom.ch> Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
-