| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
The issue here is that the immediate is treated as a 64-bit value,
and fetching it does not work reliably with swizzles that are different
from xy and zw.
Cc: [email protected]
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit da83687c4ba7e9022f6f14176393a9e3c6391ed5)
|
|
|
|
|
|
|
|
|
|
|
| |
The resource struct is already allocated at this point and should be
freed properly.
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Philipp Zabel <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
Reviewed-by: Wladimir J. van der Laan <[email protected]>
(cherry picked from commit 4fb9f97047eb1e43c47cb7cacba27ccd20383eff)
|
|
|
|
|
|
|
|
|
|
| |
The last user of the function was removed with earlier commit.
Fixes: 50842e8a931 ("swr: replace gallium->swr format enum conversion")
Cc: Tim Rowley <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Tim Rowley <[email protected]>
(cherry picked from commit a0755f2e6a1b41b2c5e295fa5ff8eb8dfbf5eb41)
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a bug uncovered by:
2412c4c81ea0488df865817a0de91ec46e359b72
util: Make CLAMP turn NaN into MIN.
Cc: 17.2 <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit 433f6f7ac9ed6624fec02cc055c3bfa247dba185)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The number of supported waves per thread group has been reduced to 16
with gfx9. Trying to use 32 waves causes hangs, and barriers might
not work correctly with > 16 waves.
Cc: [email protected]
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit a0e6b9a2db5aa5f06a4f60d270aca8344e7d8b3f)
[Emil Velikov: add a HAVE_LLVM check, as applicable in branch]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/gallium/drivers/radeon/r600_pipe_common.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The firmware version numbers for SI were wrong. The new numbers are probably
too conservative (we don't have a definitive answer by the firmware team),
but DRAW_INDIRECT_MULTI has been confirmed to work with these versions on
Tahiti (by Gustaw) and on Verde (by myself).
While this is technically adding a feature, it's a feature we thought we had
for a long time. The change is small enough and we're early enough in the 17.2
release cycle that it should still go in.
Reported-by: Gustaw Smolarczyk <[email protected]>
Cc: 17.2 <[email protected]>
Acked-by: Alex Deucher <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 65fbaab0b74b6b5a2ac483d48beeefa0a29ff15e)
|
|
|
|
|
|
|
|
| |
I don't know how I managed to leave this here for so long. Found when
working on a 1:1 overlapping blit extension for X11.
Cc: [email protected]
(cherry picked from commit 93fec49a75ce799bb6fe167f9409fd553a5781c6)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fill the entire array instead of just a quarter. This avoids
crashes with large shaders.
(currently this never causes a problem because shaders larger than 2048/4
instructions are not supported by this driver on any hardware, but it will
cause problems in the future)
Fixes: ec436051899 ("etnaviv: fix shader miscompilation with more than 16 labels")
Cc: [email protected]
Signed-off-by: Wladimir J. van der Laan <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit 15a1ceb127b70ac98b03cae051927f75fb7ee204)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seems like the backends have been using pthreads since day one, yet
we've been missing the link.
With later commit we'll fix a typo, hence the libraries will be build
with -Wl,no-undefined, aka failing the build on unresolved symbols.
v2: Split from a larger patch.
Cc: [email protected]
Cc: Bruce Cherniak <[email protected]>
Cc: Tim Rowley <[email protected]>
Cc: Laurent Carlier <[email protected]>
Fixes: c6e67f5a9373e916a8d2 "gallium/swr: add OpenSWR rasterizer"
Reviewed-by: Eric Engestrom <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 33d397ada50a1d1f485205e847003dc48146ec19)
[Emil Velikov: add PTHREAD_LIBS to COMMON_LIBADD]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/gallium/drivers/swr/Makefile.am
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linux-specific gettid() syscall shouldn't be used in portable code.
Fix does assume a 1:1 thread:LWP architecture, but works for our
current target platforms and can be revisited later if needed.
Fixes unresolved symbol in linux scons builds.
v2: add comment in code about the 1:1 assumption.
Cc: [email protected]
Reviewed-by: Bruce Cherniak <[email protected]>
(cherry picked from commit d1e7153228304eb1be85580cbfdea1a57c5f203b)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Forwarding from the ES prolog to the ES just barely exceeds the current
maximum array size when 16 vertex attributes are used. Give it a decent
bump to account for merged shaders having up to 32 user SGPRs.
Fixes a crash in GL45-CTS.multi_bind.draw_bind_vertex_buffers.
Cc: [email protected]
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit c22e3c5373ad0df160f13fe8271c32e8d7e61b43)
[Emil Velikov: resolve trivial conflicts - drop initial[] hunk]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/gallium/drivers/radeonsi/si_shader.c
|
|
|
|
|
|
|
|
|
|
|
| |
We were using the "cp" union fields, which are only valid for compute
shaders. The threads calculation affects the available GPRs, so just
pick a small number for other shader types to avoid limiting available
registers.
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: [email protected]
(cherry picked from commit 3645268748c44825ce8d37bf03f684731eb2652a)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit bfe1e7737a76e3b046 changed how texture swizzles are set up.
This exposed a latent bug in the VMware driver: we were ignoring
the texture instruction's writemask when applying the 0 and 1
swizzle terms.
This wasn't caught by the Piglit texture swizzle test because it
only exercises fixed function (no write masking).
Fixes issues seen with ETQW apitrace.
CC: <[email protected]>
Reviewed-by: Charmaine Lee <[email protected]>
(cherry picked from commit f7e78abdf45b26f3991dc336120162ae01b208f1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This query is supposed to return the max texture buffer size/width in
texels, not size in bytes. Divide by 16 (the largest format size) to
return texels.
Fixes Piglit arb_texture_buffer_object-max-size test.
Cc: [email protected]
Reviewed-by :Charmaine Lee <[email protected]>
(cherry picked from commit 3b28eaabf603657c388caa72bc92b1b660d00b2a)
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the total surface size in surface cache
to include array size as well.
Tested with MTT glretrace.
Reviewed-by: Brian Paul <[email protected]>
(cherry picked from commit adead35320c0afe95f3f170a6047905179f8c6c3)
|
|
|
|
|
|
|
|
|
| |
piglit test ext_texture_array-gen-mipmap is fixed with this patch.
Tested with mtt piglit, glretrace, viewperf and conform. No regression.
Reviewed-by: Brian Paul <[email protected]>
(cherry picked from commit 31fe1d10b291bcd1b9ee376d53db05028719831d)
|
|
|
|
|
| |
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit e6dbe975eff8e23992c9d9a72ce302896b5fecfc)
|
|
|
|
|
|
|
|
| |
The check for the pointer being non-NULL was being done too late.
Signed-off-by: Aleksander Morgado <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit a6893a50c8ae5b68e4175366dac718ee9f6fa9d1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The line stipple fallback code for virtual HW version 8 didn't work.
With HW version 8, we were getting zero when querying the max line
widths (AA and non-AA). This means we were setting the draw module's
wide line threshold to zero. This caused the wide line stage to always
get enabled. That caused the line stipple module to fall because the
wide line stage was clobbering the rasterization state with a state
object setting the line stipple pattern to 0xffff.
Now the wide_lines variable in draw's validate_pipeline() will not
be incorrectly set.
Also improve debug output.
BTW, also this fixes several other piglit tests: polygon-mode,
primitive- restart-draw-mode, and line-flat-clip-color since they
all use the draw module fallback.
See VMware bug 1895811.
Reviewed-by: Charmaine Lee <[email protected]>
(cherry picked from commit c2b92dada076afc303e31e3d029256d234254c27)
Squashed with:
svga: adjust line subpixel position for HWv8
This fixes two regressions on HWv8:
Piglit gl-1.0-ortho-pos
Piglit/glean fbo
This was caused by commit c2b92dada076a "svga: clamp device line width
to at least 1 to fix HWv8 line stippling"
This also fixes two conform tests: Vertex Order and Polygon Face
No Piglit/conform changes with HWv9 or later.
VMware bug 1905053
Reviewed-by: Charmaine Lee <[email protected]>
(cherry picked from commit 5b8d33acefa9adbf1f0c9ff10f1933a0b3a5c66b)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Despite being a member of the etna_screen struct, 'refcnt' is used by
the winsys-specific logic to track the reference count of the object
managed in a hash table. When the count reaches zero, the pipe screen
is removed from the table and destroyed.
Fix the logic by initializing the refcnt to 1 when screen created.
This initialization is done in etna_screen_create(), to follow the
same logic as in freedreno and virgl.
Fixes: c9e8b49b885 ("etnaviv: gallium driver for Vivante GPUs")
Cc: [email protected]
Signed-off-by: Aleksander Morgado <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
Reviewed-by: Lucas Stach <[email protected]>
(cherry picked from commit 5d8514de14bd27170293bb373e06f5ff43c708ad)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cacheline alignment of SWR_STATS to prevent sharing of cachelines
between threads (performance).
Gets rid of gcc-7.1 warning about using c++17's over-aligned new
feature.
Cc: [email protected]
Reviewed-by: Bruce Cherniak <[email protected]>
(cherry picked from commit bab03c06fc79ec5624982777684d0c5f123c127c)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Define these in terms of setzero for ancient gcc versions which don't
have the undefined intrinsics.
Cc: [email protected]
Reviewed-by: Bruce Cherniak <[email protected]>
(cherry picked from commit f0a22956be4802e01f2b4f3244f011212626f12d)
Squashed with:
swr: modifications to allow gcc-4.8 compilation
Code unconditionally used avx2 intrinsics in the avx compilation.
The simd intrinsics library we used has diverged significantly between
branch and master; the non-“undefined intrinsics” portion is specific
to the branch.
This complements:
f0a22956be “swr/rast: _mm*_undefined_* implementations for gcc<4.9”
And makes this branch equivalent with the additional master patch:
d50ef7332c “swr/rast: don't use _mm256_fmsub_ps in AVX code”
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch limits the number of items on the fence work queue (the
deferred deletion list) by submitting a sync fence when the queue size
exceeds a threshold. This initiates deferred deletion of all resources
on the list and decreases the total amount of memory held waiting for
"deferred deletion".
This resolves bug 101467 filed against swr for the piglit
streaming-texture-leak test. For those running on smaller memory
(16GB?) systems, this will prevent oom-killer.
Thus far, we have not seen any real world applications that exhibit
behavior like the streaming-texture-leak test; as any form of pipeline
flush will trigger the defer queue and properly free any retained
allocations. But, this addresses those as well.
Cc: "17.1" <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
(cherry picked from commit 32c1a54bd01465e77a8e26b9cc8d2487b31509c5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The labels array may change its virtual address on a reallocation, so
it is invalid to cache pointers into the array. Rather than using the
pointer directly, remember the array index.
Fixes miscompilation of shaders in glmark2 ideas, leading to GPU hangs.
Fixes: c9e8b49b (etnaviv: gallium driver for Vivante GPUs)
Cc: [email protected]
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit ec43605189907fa327a4a7f457aa3c822cfdea5d)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The header embeds the struct so it needs the header inclusion instead of
the dummy forward declaration.
Cc: Nicolai Hähnle <[email protected]>
Cc: Marek Olšák <[email protected]>
Cc: Tom Stellard <[email protected]>
Fixes: 32206c5e560 ("radeonsi: Add radeon_shader_binary member to struct
si_shader")
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Tested-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit 1f958c1337290b4062a77f79fc101bb9f4bdf515)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the logic would decide that the record is kept, which
translates into keep = false in the caller, which meant that these
passes did not run.
While it's right that keep = false which means that a new record does
not need to be added, we do still have to perform the usual list
maintenance. It's easiest to do this pre-merge rather than post.
The lowering that clip/cull distance passes produce triggers this bug in
TCS (since reading outputs is done differently in other stages), but it
should be possible to achieve it with the right sequence of regular
reads/writes.
Fixes: KHR-GL45.cull_distance.functional
Fixes: generated_tests/spec/arb_tessellation_shader/execution/tes-input/tes-input-gl_ClipDistance.shader_test
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Cc: [email protected]
(cherry picked from commit 4a79f2be337cef920fc8ea5048fabc106bac492e)
|
|
|
|
|
|
|
|
|
|
|
| |
All the BuildUtil helpers just insert the operation into the current BB.
So we have to take care that any fetchSrc() operations happen before the
operation whose setIndirect() it goes into.
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Cc: [email protected]
(cherry picked from commit 8c02ee4a8b0bea5dda3ced341dce81f340457c95)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently a resource flush may trigger a self resolve, even if a scanout buffer
exists, but is up to date. If a scanout buffer exists we only ever want to
flush the resource to the scanout buffer. This fixes a performance regression.
Fixes: dda956340ce9 (etnaviv: resolve tile status when flushing resource)
Cc: [email protected]
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Philipp Zabel <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit 28550c787595f04453d2a39f46f570a891368fcf)
|
|
|
|
|
|
|
|
| |
Fixes: b7d9677d ("nv50/ir: constant fold OP_SPLIT")
Cc: [email protected]
Signed-off-by: Pierre Moreau <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
(cherry picked from commit afb8f2d4a346041adf54d45729963a55a625ac1f)
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the call fails we need to flush the command buffer and retry. In this
case, we were failing to unbind the GS which led to subsequent errors.
This fixes a bug replaying a Cinebench R15 apitrace in a Linux guest.
VMware bug 1894451
cc: [email protected]
Reviewed-by: Charmaine Lee <[email protected]>
(cherry picked from commit 041f8ae9f6bab39361263f6c767ea5294f1aa011)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of directly sending the InvalidateGBSurface command,
this patch uses the invalidate_surface interface.
Fixes Linux VM piglit failures including
ext_texture_array-gen-mipmap, fbo-generatemipmap-array S3TC_DXT1
Reviewed-by: Brian Paul <[email protected]>
(cherry picked from commit 019d5d534682145a3d5921b061ea46f8c872d6a0)
Squashed with commit:
svga: fix pre-mature flushing of the command buffer
When surface_invalidate is called to invalidate a newly created surface
in svga_validate_surface_view(), it is possible that the command
buffer is already full, and in this case, currently, the associated wddm
winsys function will flush the command buffer and resend the invalidate
surface command. However, this can pre-maturely flush the command buffer
if there is still pending image updates to be patched.
To fix the problem, this patch will add a return status to the
surface_invalidate interface and if it returns FALSE, the caller will
call svga_context_flush() to do the proper context flush.
Note, we don't call svga_context_flush() if surface_invalidate()
fails when flushing the screen surface cache though, because it is
already in the process of context flush, all the image updates are already
patched, calling svga_context_flush() can trigger a deadlock.
So in this case, we call the winsys context flush interface directly
to flush the command buffer.
Fixes driver errors and graphics corruption running Tropics. VMware bug 1891975.
Also tested with MTT glretrace, piglit and various OpenGL apps such as
Heaven, CinebenchR15, NobelClinicianViewer, Lightsmark, GoogleEarth.
cc: [email protected]
Reviewed-by: Brian Paul <[email protected]>
(cherry picked from commit 3fbdab8778d3b55ed6053a3781e92aeff85ca174)
|
|
|
|
|
|
|
|
|
|
| |
st/mesa creates a surface that reinterprets the compressed blocks as
RGBA16UI or RGBA32UI. We have to adjust width0 & height0 accordingly to
avoid out-of-bounds memory accesses by CB.
Cc: 17.1 <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 25e5534734b7de2a2359c42eeff5fd0c3c0507da)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The maximum LOD bias supported is the same as the max texture level
supported.
Fixes piglit: ext_texture_lod_bias
Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
Cc: [email protected]
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit 5065549e2a75e2a56cd3bc8b0fbb6c9013e86cb4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we support RB swapped targets by using a shader variant, we
must derive the color mask from both the blend state and the bound
framebuffer.
Fixes piglit: fbo-colormask-formats
Fixes: 7f62ffb68ad ("etnaviv: add support for rb swap")
Cc: [email protected]
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit 8644b59b5d98cf58deaecc583f68edd8be23bfca)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces the open coded etnaviv version of the color pack with the
common util_pack_color.
Fixes piglits:
arb_color_buffer_float-clear
fcc-front-buffer-distraction
fbo-clearmipmap
Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
Cc: [email protected]
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit d6aa2ba2b293f78d9c28922ed3af9077100f3480)
|
|
|
|
|
|
|
|
|
|
|
|
| |
etna_resource_copy_region handles resources with multiple samples
by falling back to the software path. There is no need to kill the
application there.
Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
Cc: [email protected]
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit 6633880e7e0557b3dc4e89e62857bd7b548c93fd)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When copying a resource fully we can just blit the whole level. This allows
to use the RS even for level sizes not aligned to the RS min alignment. This
is especially useful, as etna_copy_resource is part of the software fallback
paths (used in etna_transfer), that are used for doing unaligned copies.
Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
Cc: [email protected]
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit ff490eb8fd3a1edee1b3aec3f8122f7d6f90a80f)
|
|
|
|
|
|
|
|
|
|
|
| |
If the blit region is not aligned to the RS min alignment don't try
to execute the blit, but fall back to the software path.
Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
Cc: [email protected]
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit 2a6183d416395ca4659e4b6fed9d0918c74cb469)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove c++14 generic lambda to keep compiler requirement at c++11.
No regressions on piglit or vtk test suites.
Tested-by: Chuck Atkins <[email protected]>
Reviewed-by: Bruce Cherniak <[email protected]>
CC: [email protected]
(cherry picked from commit 0b80b025021f97d27520390867c20336dc891a16)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(v2)
The workaround causes a massive performance decrease on 1-SE parts.
(Cape Verde, Hainan, Oland)
The performance regression is already part of 17.0 and 17.1.
v2: check tess_uses_prim_id
Cc: 17.0 17.1 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit 391673af7ad1565a5f6ac8fc2f8c9fcdd1fe9908)
[Emil Velikov: s/tcs_tes_uses_prim_id/tess_uses_prim_id/]
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Only harvested Stoney has 2 CUs. Tested on 2-CU Stoney and Fiji forced
to 2 CUs.
Cc: 17.0 17.1 <[email protected]>
Tested-by: Edmondo Tommasina <[email protected]>
Tested-by: Dieter Nützel <[email protected]>
(cherry picked from commit 6c655cfeb49a8142c44782c5164619a5860c7706)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BGRA8 image stores on Fermi don't work, which results in breaking
PBO downloads, such that they always return 0x0. Discovered this
through a glamor bug, and confirmed it does indeed break a good number
of piglit tests such as spec/arb_pixel_buffer_object/pbo-read-argb8888
Fixes: 8e7893eb53213 ("nvc0: add support for BGRA8 images")
Signed-off-by: Lyude <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Cc: [email protected]
(cherry picked from commit 245912b684b862d47cde10052b137d76a55d0bd3)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The cpu_fini() call pushes the buffer back into the GPU domain, which needs
to be done for all buffers, not just the ones with CPU written content. The
etnaviv kernel driver currently doesn't validate this, but may start to do
so at a later point in time. If there is a temporary resource the fini needs
to happen before the RS uses this one as the source for the upload.
Also remove an invalid comment about flushing CPU caches, cpu_fini takes
care of everything involved in this.
Fixes: c9e8b49b885 ("etnaviv: gallium driver for Vivante GPUs")
Cc: [email protected]
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Philipp Zabel <[email protected]>
Reviewed-By: Wladimir J. van der Laan <[email protected]>
(cherry picked from commit cab5996c2637c31a78a0196e42ec6de9eb61f270)
|
|
|
|
|
|
|
|
|
|
|
| |
Android tries to create a FENCE_FD fence without any rendering. And
then falls over when that fails. So just always create an initial
batch.
Fixes: e4ad8695 ("freedreno: fix crash when flush() but no rendering")
Signed-off-by: Rob Clark <[email protected]>
(cherry picked from commit 8fc9702a1b7027d266121713771eafd2aa1a93b6)
Signed-off-by: Juan A. Suarez Romero <[email protected]>
|
|
|
|
|
|
|
|
|
| |
so that LLVM doesn't allocate SGPRs where XNACK is.
Cc: 17.1 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit 2beb31bd7c186641a2bb9abf6d2e13d42e43d944)
Signed-off-by: Juan A. Suarez Romero <[email protected]>
|
|
|
|
|
|
|
|
|
| |
The instruction encodings only allow for immediates. Don't try to
replace a zero (which is dumb to have in that op in any case) with RZ.
Signed-off-by: Ilia Mirkin <[email protected]>
Cc: [email protected]
(cherry picked from commit 82e77d4e4484b5d4f6a7b4751a17c882e6d2ad69)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As gen_builder.hpp file is generated, it contains information that is
specific to the LLVM version it originates from.
As suggested by Tim, the file seems to be forwards compatible. So in
order to produce ship a file which will work everywhere we should be
using earlies supported LLVM - 3.9.
With this we're back on track and can build all of mesa without
python/mako/flex and friends.
In the long term we might want to see if the python generators can be
updated to produce LLVM version agnostic files. At least within the
range supported by SWR.
Cc: <[email protected]>
Cc: Chuck Atkins <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Tim Rowley <[email protected]>
(cherry picked from commit 5233eaf9ee85bb551ea38c1e2bbd8ac167754e50)
|
|
|
|
|
|
|
|
|
|
|
| |
If we haven't created a batch, just bail in pipe->flush(), since there
is nothing to do.
Fixes crash in warsow, which creates a whole bunch of contexts used for
nothing but texture uploads.
Signed-off-by: Rob Clark <[email protected]>
(cherry picked from commit e4ad86952a197549894eb4c9a96af0c76dd95d18)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
No longer required as of commit d90bf4ef3e1 ("radeon: remove unused
radeon_elf_util.{c,h}")
v2: Add the required libelf link in src/amd/Makefile.common.am
Fixes: d90bf4ef3e1 ("radeon: remove unused radeon_elf_util.{c,h}")
Cc: Timothy Arceri <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Marek Olšák <[email protected]> (v1)
(cherry picked from commit 88b8aaea3b172d4a0224bcadf5f12e2ae6119a0c)
|
|
|
|
|
|
|
|
| |
If X11 did a software fallback to the entire screen, we would throw out
the BO the screen is scanning out from and allocate a new one.
Cc: [email protected]
(cherry picked from commit e8ea42d245cb6adc7f16ee4e96fd89d905d2163a)
|