| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
fixes: Depend on earlier commit 04a40f7d2a that did not land in branch
and which exposes new API.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
|
| |
stable: 17.2 nomination only. Depends on earlier commit f296c22989ff
which did not land in branch.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
|
| |
stable: Depends on earlier commit 76e2f390f98 which did not land in
branch.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
| |
stable: 17.2 nominations only.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recording secondaries with no framebuffer attachment may
make this happen, though this might not be the complete solution.
(esp if someone does meta stuff in there, would we have to
save things, not sure).
Fixes: f4e499ec791 ("radv: add initial non-conformant radv vulkan driver")
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 4a091b0788664f73bbb35c14d04c00cebf37e17a)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/amd/vulkan/radv_cmd_buffer.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In get_back_bo, we use wl_display_dispatch_queue() to block and wait for
a buffer release event. However, not all Wayland compositors flush the
client socket on posting a buffer-release event, so by only blocking
client-side, we may block indefinitely, or at least need to wait for an
input event / frame completion to arrive for the compositor to flush.
We now use dispatch_queue as a first pass, but if our entire buffer pool
is exhausted, use a roundtrip (an immediately-triggered wl_callback) to
ensure that the compositor flushes out our release event immediately.
[daniels: Modified comment and commit message.]
Signed-off-by: Kai Chen <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
CC: <[email protected]>
(cherry picked from commit 151188d1e330a7a5f110bbc8251680121a1a84a6)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All of the coordinates and LOD args are integers for TXF. This mostly
doesn't matter, except for converting into a levelZero=true operation by
removing an explicit zero LOD. For the comparison against zero to work
properly, the sType of the instruction has to be set correctly.
Fixes: KHR-GL45.robust_buffer_access_behavior.texel_fetch
Reported-by: Karol Herbst <[email protected]>
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: [email protected]
(cherry picked from commit 96be442b7795a6eb3d50f4061f2b98dddc39aa4d)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The workaround will do for now. The root cause is still unknown.
This fixes new piglit: 16in-1out
Cc: 17.1 17.2 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit 166823bfd26ff7e9b88099598305967336525716)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/gallium/drivers/radeonsi/si_state_draw.c
|
|
|
|
|
|
|
|
|
|
|
| |
v2 (Jason): Adjust directly in surf_fake_rgb_with_red()
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101910
CC: [email protected]
Reviewed-by: Jason Ekstrand <[email protected]>
Signed-off-by: Topi Pohjolainen <[email protected]>
(cherry picked from commit 393ec1a5071263d300e91f43058ed3b594d41418)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is analogous to commit 2259b11 which only fixed the regular case
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102308
Signed-off-by: Christoph Haag <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Cc: [email protected]
(cherry picked from commit 87556a650ad363b41d86f4e25d5c4696f9af4550)
[Andres Gomez: helpers had not yet been refactored]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/mesa/main/teximage.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Looking at NewDriverState is not safe in general. The state atom system
is set up to ensure that new bits that get added to NewDriverState get
accumulated into the set of bits used when emitting atoms but it doesn't
go the other way. If we read NewDriverState, we may not get the full
picture because the per-pipeline state (3D or compute) does not get
added to NewDriverState before state emit is done. It's especially
dangerous to do this from BLORP (either explicitly or implicitly when
BLORP calls gen7_upload_urb) because that does not happen during one of
the normal state upload paths.
This commit solves the problem by whacking all of the per-shader-stage
URB sizes to zero whenever we change the total URB size. We still have
to flag BRW_NEW_URB_SIZE to ensure that the gen7_urb atom triggers but
the actual decision in gen7_upload_urb can now be based entirely on URB
sizes rather than on state atoms. This also makes BLORP correct because
it just asks for a new URB config whenever the vsize is too small and so
any change to the total URB size will trigger blorp to re-emit as well
because 0 < vs_entry_size.
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Bugzilla: https://bugs.freedesktop.org/102289
Cc: [email protected]
(cherry picked from commit d5e217dbfda2a87e149bdc8586c25143fc0ac183)
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes KHR-GL45.shader_ballot_tests.ShaderBallotAvailability, which
causes some silly swizzles to appear, triggering this optimization to
get hit.
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
Cc: [email protected]
(cherry picked from commit 9c8f017f77188d9048132a30d31f18b9690cbe04)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Counter related to timings will be sensitive to any delay introduced
by the software. In particular if our begin & end of performance
queries end up in different batches, time related counters will
exhibit biffer values caused by the time it takes for the kernel
driver to load new requests into the hardware.
Signed-off-by: Lionel Landwerlin <[email protected]>
Acked-by: Kenneth Graunke <[email protected]>
(cherry picked from commit adafe4b733c0242720ccfe10d391e5d44c0e7401)
|
|
|
|
|
|
|
|
| |
Unintentionally added with an apache2 license; relicense to match
the rest of the tree.
Reviewed-by: Bruce Cherniak <[email protected]>
(cherry picked from commit fb3e50a351b52014479a9a81226b7c51b176afed)
|
|
|
|
| |
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
| |
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
| |
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
|
| |
fixes: This commit is complex and has non trivial conflicts due to
previous changes.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
|
| |
fixes: This commit addressed an earlier commit af22adee4f which did
not land in branch.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
|
| |
fixes: This commit is complex and has non trivial conflicts due to
multiple previous changes.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
| |
stable: 17.2 nominations only.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
|
|
|
| |
teststable: 17.2 nomination only."
stable: 17.2 nomination only. Depends on earlier commit 1cb5a6061c
which did not land in branch.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
|
| |
stable: Depends on earlier commit 28634ff7d3 which did not land in
branch.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
|
| |
stable: Breaks SWR compilation due to earlier commit f50aa21456 which
did not land in branch.
Signed-off-by: Andres Gomez <[email protected]>
|
|
|
|
|
|
|
|
| |
We need to link librt for u_thread.h's clock_gettime() call.
Fixes: b822d9dd67b5 ("gallium/util: move u_queue.{c,h} to src/util")
Reviewed-by: Matt Turner <[email protected]>
(cherry picked from commit b94ddc181bc514bd32c1d4103aa1c7582a7a60ff)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This seems like a workaround, but we don't see the bug on CIK/VI.
On SI with the dEQP-VK.memory.pipeline_barrier.host_read_transfer_dst.*
tests, when one tests complete, the first flush at the start of the next
test causes a VM fault as we've destroyed the VM, but we end up flushing
the compute shader then, and it must still be in the process of doing
something.
Could also be a kernel difference between SI and CIK.
v2: hit this with a bigger hammer. This fixes a bunch of hangs
in the vk cts with the robustness tests.
Fixes: f4e499ec791 ("radv: add initial non-conformant radv vulkan driver")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101334
Acked-by: Bas Nieuwenhuizen <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 82ba384c10d598bee4786ef5f79e92a0e7b53892)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This ports the workaround from radeonsi, that was missing in radv.
This fixes Talos rendering when MSAA is enabled on my Tahiti card.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Fixes: f4e499ec7 (radv: add initial non-conformant radv vulkan driver)
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 8bf39307517a04263532e3c5a49b5be1f4a99032)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/amd/vulkan/radv_device.c
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This just copies the code from the -pro shaders,
and fixes the tests on CIK.
With this CIK passes the same set of conformance
tests as VI.
Fixes: 83e58b03 (radv: flush f32->f16 conversion denormals to zero. (v2))
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 3f389f75b6e9b55467aca681af09b83998ee0e46)
|
|
|
|
|
|
|
|
|
| |
src0.x is always read for the LOD, irrespective of which outputs are
read.
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: [email protected]
(cherry picked from commit 934511d1f3a8e2e9b0091d725c87a22a51233141)
|
|
|
|
|
|
|
|
|
|
|
|
| |
This affects which inputs are marked as used. In a situation where only
the texture instruction uses an input, it might have been ignored as
unused due to input masks.
Affects subtests of KHR-GL45.texture_cube_map_array.sampling
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: [email protected]
(cherry picked from commit 054c54d1be634dec106c30030bb4921f398d6c90)
|
|
|
|
|
|
|
|
| |
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102241
Cc: [email protected]
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Jose Fonseca <[email protected]>
(cherry picked from commit 7fb7287ce72066db7dffd918226bf15c3131a871)
|
|
|
|
|
|
|
|
|
|
| |
This can happen because of rollover. See bug report for details.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102241
Cc: [email protected]
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Jose Fonseca <[email protected]>
(cherry picked from commit d90e05ad487e9fe7e17c293814ac8549d9d686d8)
|
|
|
|
|
|
|
|
|
| |
Fixes crash with llvmpipe on Windows.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102148
Cc: [email protected]
Reviewed-by: Brian Paul <[email protected]>
(cherry picked from commit 496a691e3544d082670ac1f33059692510a2a86d)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CID: 1416243, 1416244, 1416255
CC: [email protected]
Reviewed-by: Bruce Cherniak <[email protected]>
(cherry picked from commit b333bc753e2dd1ed1a676606046a4289e7d58187)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/gallium/drivers/swr/rasterizer/core/api.cpp
src/gallium/drivers/swr/rasterizer/core/threads.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We continue in the code to do some more things with the rhs, including
setting a constant initializer. If the type is wrong, this causes some
confusion down the line, leading to assertions. This makes sure that the
rhs processing continues to flow as-if the type was correct to start
with (even though the state has been marked as an error state).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101766
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: [email protected]
(cherry picked from commit 978c4c597aa48e65bd6822a85e6b8f82ca9281f1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It makes performance worse by a very small (hard to measure) amount.
We've done extensive profiling of this feature internally.
Cc: 17.1 17.2 <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Acked-by: Christian König <[email protected]>
(cherry picked from commit 1ab7fed7079a8b0f670d6a51ddc98691ace29508)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/gallium/drivers/radeonsi/si_pipe.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we have an invalid display fed into the functions, the display lookup
will return NULL. Thus as we attempt to get the platform type, we'll
deref. it leading to a crash.
Keep in mind that this will not happen if Mesa is built without X11 or
when the legacy eglCreate*Surface codepaths are used.
A similar check was added with earlier commit 5e97b8f5ce9 ("egl: Fix
crashes in eglCreate*Surface), although it was only applicable when the
surfaceless platform is built.
Cc: [email protected]
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
Reviewed-by: Tapani Pälli <[email protected]>
(cherry picked from commit 26fbb9eacddb1b809739cb12477bde13501d6d5a)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/egl/main/eglapi.c
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UE4Editor has this issue.
This commit prevents hangs (release build) or assertion failures (debug
build). It doesn't fix the editor, but catastrophic scenarios are
prevented.
Cc: 17.1 17.2 <[email protected]>
Reviewed-by: Michel Dänzer <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 4630ede1021d49c610de1274dc9d1006b843e46b)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For mul(a, +-1) codegen can generate OP_MOV with a saturation flag
set which is ignored at emission. The same can happen with add(a, 0),
and others.
Adding an assert for detecting more of such issues.
Fixes wrongly rendered water in Hitman Absolution running under wine.
Also a few shaders in Mad Max and Alien Isolation produce such MOVs.
CC: <[email protected]>
Signed-off-by: Karol Herbst <[email protected]>
Reviewed-by: Tobias Klausmann <[email protected]>
[imirkin: generalize the fix for other cases]
Reviewed-by: Ilia Mirkin <[email protected]>
(cherry picked from commit 24a799ad35a824fba94062f9b018f603717ed145)
squashed with:
nv50/ir: clean up saturated values immediately
Since we don't iterate to a fixed point, we can end up in situations
where we have a SAT instruction + a long immediate. This is not legal.
However since it's immediately computable, just run unary straight away
to handle the situation.
Fixes: 24a799ad35a82 ("nv50/ir: fix ConstantFolding with saturation")
Reported-by: Tobias Klausmann <[email protected]>
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: [email protected]
(cherry picked from commit 165e18dd219fbf4d60fd582b02e2dbf75ccd026f)
|
|
|
|
|
|
|
|
|
|
| |
We can't sample from depth-stencil formats but on gen7 but we can sample
from depth-only formats.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102024
Reviewed-by: Juan A. Suarez Romero <[email protected]>
Cc: [email protected]
(cherry picked from commit 06d3115bb97740a4c8f36c645944a8bd0bde3f68)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bug in the app, but I'd rather avoid hanging the GPU,
esp if someone is running in validation and it takes out their
development environment.
v2: get it right, reverse the polarity.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 36a1b61321561634c6b243cf876c347fef73dfa4)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/amd/vulkan/radv_meta_resolve.c
|
|
|
|
|
|
|
|
|
|
| |
If we get a xfixes v1.x we'll error out, without freeing the
xfixes_query reply.
Cc: <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit c961b679fe16fc98c3d04d611abc287f1bcc07b5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If dual object compile fails (as seems to happen with virgl a
fair bit, and does piglit even have any tests for it?), we end up
not restarting the pull params, so we call
vec4_visitor::move_uniform_array_access_to_pull_constant
a second time and it runs over the ends of the alloc.
Fixes: tests/spec/glsl-1.50/execution/geometry/max-input-components.shader_test
running inside virgl on ivybridge.
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 271fa3a684ef0eefe99087c13d1abb099784163f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remember to add the offset to the start of the buffer in the relocation
or else we write 0xff into random bytes elsewhere.
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: [email protected]
(cherry picked from commit fb63c43fd1b7adb5cb4f34e7616e7d564ca178e5)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/mesa/drivers/dri/i965/intel_pixel_bitmap.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The cacheline alignment restriction is on the base address; the pitch
can be anything.
Fixes assertion failures when using primus (say, on glxgears, which
creates a 300x300 linear BGRX surface with a pitch of 1200):
intel_blit.c:190: get_blit_intratile_offset_el: Assertion `mt->surf.row_pitch % 64 == 0' failed.
Cc: [email protected]
Reviewed-by: Chris Wilson <[email protected]>
(cherry picked from commit 595a47b8293b1d97a3ae7dbfa8db703bfb4e7aae)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/mesa/drivers/dri/i965/intel_blit.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it match radeonsi. The LLVM backend itself will emit the
correct instruction, but LLVM might do incorrect optimizations since it
thinks the output is undefined when the input is 0, even though it's not
supposed to be. We really need a new intrinsic, or for the backend to
become smarter and recognize this pattern.
Cc: [email protected]
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit 6d731c5651ea98551e0bf0c1a8896d5ea63558d5)
[Andres Gomez: nir_to_llvm_context not yet converted into ac_llvm_context]
Signed-off-by: Andres Gomez <[email protected]>
Conflicts:
src/amd/common/ac_nir_to_llvm.c
|
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Copy/paste error was duplicating a gen_knobs.cpp rule.
Fixes: 5079c277b57 ("swr: [scons] Fix windows build")
Reviewed-by: Emil Velikov <[email protected]>
Reviewed-by: Bruce Cherniak <[email protected]>
(cherry picked from commit e4a6ae06cf01a21d7fe32e3ff2fc441102d68f82)
|