| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Otherwise eglCreateWaylandBufferFromImageWL will fail, since we
have no "supported" format.
Fixes: 02cc35937277 ("egl/wayland: Use linux-dmabuf interface for buffers")
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
(cherry picked from commit 9e07005e8709a51f9236e78e8d47d71ab3243e4d)
|
|
|
|
|
|
|
|
|
|
|
| |
For most/all cases today, we have wl_drm available alongside wl_dmabuf.
Yet in the long run, we want to make sure the latter can operate without
any traces of the former.
Fixes: 02cc35937277 ("egl/wayland: Use linux-dmabuf interface for buffers")
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
(cherry picked from commit da100fe6970ac8ca34ced69c6c5dfe8a4f5bec90)
|
|
|
|
|
|
|
|
|
|
|
| |
The wl_drm wrapper is created before the wl display/surface ones.
Thus make sure we destroy it after them. In reality it should not make
any difference either way.
Fixes: 03dd9a88b0b ("egl/wayland: Use per-surface event queues")
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
(cherry picked from commit 1a8015e753c6f52b24a473ea60e3ce0b38de7d42)
|
|
|
|
|
|
|
|
|
| |
We forgot to teardown the wl display/surface wrappers.
Fixes: 03dd9a88b0b ("egl/wayland: Use per-surface event queues")
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
(cherry picked from commit 83442112d7136b6d0c2f6d84c409c04664aeb154)
|
|
|
|
|
|
|
|
|
| |
Valgrind reports it's being used uninitialized.
Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Signed-off-by: Grazvydas Ignotas <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit 77803748336713854a4ade192253c0ba01c49047)
|
|
|
|
|
|
|
|
| |
(commit split out by Bas Nieuwenhuizen)
Fixes: 65477bae9cf "radv: enable GFX9 on radv"
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit 9573bd70e1e7e32527d9c40716174c30fcc9720e)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
One could easily introduce version 3 of the DRI2fenceExtension,
extending the struct, while not implementing the above function.
Thus we'll end up with NULL pointer, and dereferencing it won't fare
too well.
Fixes: 0201f01dc4e ("egl: add EGL_ANDROID_native_fence_sync")
Cc: Rob Clark <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Tapani Pälli <[email protected]>
(cherry picked from commit f0d053cb6dda908d554d84629bd98e05d383a8f6)
|
|
|
|
|
|
|
|
|
| |
If we merge a mapping with the mapping before it, we also need
to not only change the offset, but also the bo offset.
Fixes: 715df30a4e2 "radv/amdgpu: Add winsys implementation of virtual buffers."
Reviewed-by: Dave Airlie <[email protected]>
(cherry picked from commit 9b7e663da1d88f398a349e158c27b38a66b73fe3)
|
|
|
|
|
|
|
|
|
| |
e.g. 0 + 32 <= 32 should be valid.
Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver"
Tested-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
(cherry picked from commit fba0e078695847bf1e4fdc9e6a44099bf901f4cf)
|
|
|
|
|
|
|
|
| |
We don't use the render path so totally unneeded.
Fixes: 19be95f71e6 "radv: add subpass resolve compute path"
Reviewed-by: Dave Airlie <[email protected]>
(cherry picked from commit bd81cb3206e5a1f1c7cf19dffa33c0ac43b13694)
|
|
|
|
|
|
|
| |
These are clearly not applicable to radv.
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit e5c4e107691cf5b6e96dc43a090746c0fa17152d)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
| |
When I added gfx9 I did it wrong, this fixes it.
Fixes: 5247b311e9 "radv/gfx9: fix set predication packet."
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 12fd0f8dc1fede75142f7eb369ca5c98bd41eb74)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This code was separated from the validation code so it could
use used with KHR_no_error paths. The return values were inverted
to reflect the name of the helper, but here the condtion was
mistakenly inverted rather than the return value.
Fixes: 4df2931a87fe (mesa/vbo: move some Draw checks out of validation)
Reported-by: Brian Paul <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit a4635c84dcd119376a8daaa91ec906c8b9de17af)
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure we advertise the new entrypoints to libglvnd's EGL dispatch.
Signed-off-by: Daniel Stone <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Reported-by: Emmanuel Gil Peyrot <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101982
Fixes: 4c412293d0e ("egl: advertise EGL_EXT_image_dma_buf_import_modifiers")
(cherry picked from commit 85ef0215dd3fac2d2a141018467361cff92f4bab)
|
|
|
|
|
|
|
| |
Taken from egl-registry 7d68647c4dab.
Signed-off-by: Daniel Stone <[email protected]>
(cherry picked from commit 2eee03b7a11339159f9a1f6ef90259caea899048)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The functionality is used by glsl and mesa. With the latter already
depending on the former.
With this in place the src/util/ static library libmesautil.la no longer
has a C++ dependency. Thus objects which use it (like libEGL) don't need
the C++ link.
Cc: "17.2" <[email protected]>
Fixes: 02cc35937277 ("egl/wayland: Use linux-dmabuf interface for buffers")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101851
Signed-off-by: Emil Velikov <[email protected]>
Suggested-by: Jason Ekstrand <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Tested-by: Mike Lothian <[email protected]>
Tested-by: James Harvey <[email protected]>
(cherry picked from commit 0ac78dc92582a59d4319ebce019b4caa41fb432d)
|
|
|
|
|
|
|
|
| |
A couple of the cases were backwards
Reviewed-by: Matt Turner <[email protected]>
Cc: [email protected]
(cherry picked from commit 63e79a8a777b36ecb30a1f6900e6b638cb32fc5f)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The is_double_vertex_input needs to be set for arrays of doubles as
well.
Fixes KHR-GL45.enhanced_layouts.varying_array_locations
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Cc: [email protected]
(cherry picked from commit ae53bff8b13b433ca79904dfbda7264eb7188fa7)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The argument to count_attribute_slots should only be set to true for
vertex inputs, not for all vertex shader varyings.
Fixes KHR-GL45.enhanced_layouts.varying_locations
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Cc: [email protected]
(cherry picked from commit eefeff09a784eb139cbf682b98926c0eaa00eb21)
|
|
|
|
|
|
|
|
|
|
| |
Found by code inspection.
Fixes: c9e8b49b885 ("etnaviv: gallium driver for Vivante GPUs")
Cc: [email protected]
Signed-off-by: Christian Gmeiner <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit 67fc3e37a7a38e279082848c064d5faacad44f54)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
| |
This fixes:
dEQP-VK.robustness.buffer_access.* on GFX9.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 19f6906c1e498499035e98929657e2faebe6c993)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The int32->float semantic conversion got dropped in a testcase,
because the src was already float. On closer inspection I decided
to add a few more casts for integer op operands to be safe too.
Cc: 17.2 <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
(cherry picked from commit 43595db30274f714e2b1f6120c2f5ec4c41614fe)
[Emil Velikov: squash trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/amd/common/ac_nir_to_llvm.c
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
| |
This just zeros out the linear flags for gfx9 + depth formats.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 8985ad494bce5a4c365fe38fdf500d8582b5a7d0)
|
|
|
|
|
|
|
|
|
|
| |
This is what radeonsi does, so we should do the same, also vega
doesn't support linear depth textures anyways.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 5d26e0baf223b361c9919db213915a82d2dff5c4)
|
|
|
|
|
|
|
|
|
|
|
|
| |
For gfx9 the addressing for images has changed, so we need to
provide the hw with the level0, however we still need to scale
for format block differences (so our compressed upload paths still
work).
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit bae7723e132d3177697606c799eabbb7cdde2f38)
|
|
|
|
|
|
|
|
|
|
| |
If the image view has the same format, we don't need to rescale
the w/h.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit a74d98743115b928eaeabc0d58b63174158aa209)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid passing the vulkan image creation into the image view descriptor
setup. This cleans up the usage of range inside the init, instead
using the properly inited values in the image view.
This is just a cleanup but some future vega changes will depend on it.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 5378b5d0710be00d1316e42e692a52d4bc5d92fe)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GFX9 needs the SX MRT blend registers programmed, port over
the code from radeonsi to workout the values from the blend
state, and program the registers on rbplus systems.
This fixes lots of:
dEQP-VK.pipeline.blend.*
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 9c080100d336e4f90575d5138508b519ed334eef)
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the GFX9 packet we need one more dword.
Fixes an assert in:
dEQP-VK.draw.shader_draw_parameters.base_vertex.draw_indexed
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 864eb1852778abaa6f63ca106216001c9f375f05)
|
|
|
|
|
|
|
|
|
| |
This fixes disabled Z/stencil.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit d987b4ab9e240b479c71129c3c261982112c57d8)
|
|
|
|
|
|
|
|
|
| |
There was an off by one here.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 11834195e9c276e1f3756cf8f6161be14124261b)
|
|
|
|
|
|
|
|
|
|
| |
We need to use all the levels when filling out the gfx9
descriptor.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit df09f1f3cd5110874899ed0f4b4c33ba9b006c50)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When changing fast clear colors, we need to emit new SURFACE_STATE
with the updated color at the next draw call.
Most things work today because the atoms that handle SURFACE_STATE
for images (mutable images, textures, render targets) also listen to
BRW_NEW_BLORP, causing us to re-emit these on every BLORP operation.
However, this is overkill - most BLORP operations don't require us
to re-emit SURFACE_STATE.
One case where this is broken today is a fast clear to a different
color followed by a non-coherent framebuffer fetch. The renderbuffer
read atom doesn't listen to BRW_NEW_BLORP, and would not get the new
fast clear color.
Cc: [email protected]
Reviewed-by: Jason Ekstrand <[email protected]>
(cherry picked from commit 54c41af0aa92333579a72830254ac3aaa9f4aea1)
[Emil Velikov: squash trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/mesa/drivers/dri/i965/brw_tcs_surface_state.c
|
|
|
|
|
|
|
|
| |
clip_regs aren't marked dirty when writes_viewport_index is changed.
Cc: 17.2 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit 8dadb077908ad6d875577ca08e0e04a5741ba95b)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cc: 17.2 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit fdef2f0fd19ac6f2715a802d1e14b8ddfa094f11)
[Emil Velikov: r600_surface_import_metadata is not separate function,
tile_swizzle isn't in branch]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/gallium/drivers/radeon/r600_texture.c
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In f9fd976e8adba733b08d we changed the clear value to be stored as an
isl_color_value. This had the side-effect same clear value check is now
happening directly between the f32[0] field of the isl_color_value and
ctx->Depth.Clear. This isn't what we want for two reasons. One is that
the comparison happens in floating point even for Z16 and Z24 formats.
Worse than that, ctx->Depth.Clear is a double so, even for 32-bit float
formats, we were comparing as doubles and not floats. This means that
the test basically always fails for anything other than 0.0f and 1.0f.
This caused a slight performance regression in Lightsmark 2008 because
it was using a depth clear value of 0.999 which can't be stored in a
32-bit float so we were doing unneeded resolves.
Reviewed-by: Kenneth Graunke <[email protected]>
Bugzilla: https://bugs.freedesktop.org/101678
Cc: "17.2" <[email protected]>
(cherry picked from commit 0ae9ce0f29ea1973b850a4e6c6cae8606973036e)
Signed-off-by: Emil Velikov <[email protected]>
[Emil Velikov: squash trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/mesa/drivers/dri/i965/brw_clear.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both statically linking libLLVMCore and dynamically linking libLLVM causes
duplicated symbols in gallium_dri.so and it fails to dlopen. We don't
really need to link libLLVMCore, but just need generated headers to be
built first. Dynamically linking to libLLVM instead is enough to do
that. Thanks to Qiang Yu for finding the root cause.
With this change, we can align all versions and just have libLLVM as a
shared lib dependency.
This also requires changes in the M and N versions of LLVM to export the
include paths for libLLVM. AOSP master is okay.
Fixes: 26aee6f4d5a ("Android: rework LLVM build support")
Reported-by: Mauro Rossi <[email protected]>
Cc: 17.2 <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Signed-off-by: Qiang Yu <[email protected]>
Signed-off-by: Rob Herring <[email protected]>
(cherry picked from commit 4734bfc02adad103efa1fa51e4c0f93fcaedb73c)
|
|
|
|
|
|
|
|
|
|
|
| |
Only resident bindless descriptors are currently updated and
re-uploaded, this makes sure that the non-resident ones are
also updated.
Signed-off-by: Samuel Pitoiset <[email protected]>
Cc: "17.2" <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 2843c5d15cf7c051d6aaf0744c3c1c7d4a734184)
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
| |
GFX9 moved where the viewport index export goes.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Cc: "17.2" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit b040f51b61d4d5ee671ba9d862e871ac5ac67ddf)
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In 76e2f390f9863a35, when Topi switched num_samples from 0 to 1 for
single-sampled, he accidentally switched the last parameter in the call
to miptree_create_for_teximage from 0 to 1 thinking it was num_samples
when it was actually layout_flags. Switching from 0 to 1 added the
MIPTREE_LAYOUT_ACCELERATED_UPLOAD flag which causes us to allocate a
busy BO instead of an idle one. This caused the subsequent CPU upload
to consistently stall. The end result was a 15% performance drop in the
SynMark v7 DrvRes microbenchmark. This restores the old behavior and
fixes the performance regression.
Reviewed-by: Topi Pohjolainen <[email protected]>
Fixes: 76e2f390f9863a356d1419982dec705260d67eff
Bugzilla: https://bugs.freedesktop.org/102260
Cc: [email protected]
(cherry picked from commit f24cf82d6db290a88abfff0669d2c5e2aa463901)
|
|
|
|
|
|
|
|
|
|
|
|
| |
This little optimization improves the performance of SynMark v7
TexFilterTri by almost 10% on Sky Lake GT4 among other improvements.
We've been doing it for some time but somehow it got dropped during
the miptree refactoring.
Reviewed-by: Kenneth Graunke <[email protected]>
Bugzilla: https://bugs.freedesktop.org/102258
Cc: "17.2" <[email protected]>
(cherry picked from commit 61d2f3f1c24323a1c067595ec78dfbfefdc72b41)
|