| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Still not perfect, but a step in the right direction.
Signed-off-by: Christian König <[email protected]>
|
|
|
|
| |
We do not need our own prim_count() anymore.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
R600_CONTEXT_FLUSH_AND_INV
We are already emitting a EVENT_TYPE_CACHE_FLUSH_AND_INV_EVENT packet
when this flush flag is set, so flushing the dest caches with a
SURFACE_SYNC should not be necessary.
The motivation for this change is that emitting a SURFACE_SYNC packet with
the CB bits set was causing compute shaders to hang on Cayman.
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Reviewed-by: Tom Stellard <[email protected]>
|
|
|
|
|
|
| |
Just like radeon/uvd, r600/sb fails to find the libdrm includes.
Signed-off-by: Lauri Kasanen <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Without this patch, radeon_uvd failed to find the libdrm includes:
In file included from radeon_uvd.c:48:
../../winsys/radeon/drm/radeon_winsys.h:44:35: error:
libdrm/radeon_surface.h: No such file or directory
Signed-off-by: Lauri Kasanen <[email protected]>
|
|
|
|
| |
Signed-off-by: Christian König <[email protected]>
|
|
|
|
| |
Signed-off-by: Christian König <[email protected]>
|
|
|
|
| |
On GEN7+, is->dev.has_gen7_sol_reset is required.
|
| |
|
|
|
|
|
| |
When the SO targets are changed and no appending is requested, we need to send
SOL_RESET on GEN7+.
|
|
|
|
| |
With the commands supported by GPE, we can finally program the states.
|
|
|
|
| |
They were just stubs before.
|
|
|
|
|
| |
Move max_svbi calculation to a helper function and make it available for other
GENs.
|
|
|
|
|
| |
pipe_stream_output_info tells us which of OUT[i] needs to be written out.
We need the info to map OUT[i] to VUE offset.
|
|
|
|
| |
It will be used for SOL_RESET on GEN7.
|
|
|
|
| |
We do not allocate such resources yet though.
|
|
|
|
|
| |
As we do not advertise MSAA support, this change should not make any
difference yet.
|
|
|
|
|
| |
There is no reason to waste the memory when the HW can support compact array
spacing (ARYSPC_LOD0).
|
|
|
|
| |
It seems a bit weird to have device limits in a context.
|
|
|
|
|
| |
We need only dev->gen, but it makes sense to expose other information to the
compiler.
|
|
|
|
|
| |
We need only dev->gen and dev->gt, but it makes sense to expose other
information to the pipeline.
|
|
|
|
|
| |
The struct is used to describe the device information, such as PCI ID, GEN,
GT, and etc.
|
| |
|
|
|
|
| |
Signed-off-by: Vadim Girlin <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Collects various statistical information for each shader
and total stats for contexts.
Printed with R600_DEBUG=sb,sbstat
Signed-off-by: Vadim Girlin <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In some cases we use value::gvn_source field to link values that
are known to be equal before gvn pass (e.g. results of DOT4 in different
slots of the same alu group), but then source value may become dead later
and this confuses further passes.
This patch resets value::gvn_source to NULL in the dce_cleanup pass
if it points to dead value.
Fixes segfault during shader optimization with ETQW.
Signed-off-by: Vadim Girlin <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's not a complete register pressure tracking, yet it helps to prevent
register allocation problems in some cases where they were observed.
The problems are uncovered by false dependencies between fetch instructions
introduced by some recent changes in TGSI and/or default backend.
Sometimes we have code like this:
...
SAMPLE R5.xyzw, R5.xyzw
... store R5.xyzw somewhere
MOV R5.x, <next x coord>
MOV R5.y, <next y coord>
SAMPLE R5.xyzw, R5.xyzw
... <may be repeated a lot of times>
With 2D resources, z and w in SAMPLE src reg aren't used and can be simply
masked, but shader backend doesn't have this information, so it's
considered as data dependency by optimization algorithms.
|
| |
|
| |
|
|
|
|
|
|
| |
Optimization is enabled with "R600_DEBUG=sb".
Signed-off-by: Vadim Girlin <[email protected]>
|
| |
|
|
|
|
| |
This prevents the problems when the header is included in C++ code.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This results in more clean shader code and may improve the quality of
optimized code produced by r600-sb due to eliminated false dependencies
in some cases.
Signed-off-by: Vadim Girlin <[email protected]>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
That is, when llvmpipe is run in single-threaded mode.
Trivial.
Tested with
LP_NUM_THREADS=0 glean --run results --overwrite --quick --tests occluQry
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seems that in some case allowing half cache usage confuse the gpu
and trigger lockup. Force full cache use.
Should fix :
https://bugs.freedesktop.org/show_bug.cgi?id=59592
https://bugs.freedesktop.org/show_bug.cgi?id=60848
https://bugs.freedesktop.org/show_bug.cgi?id=60969
https://bugs.freedesktop.org/show_bug.cgi?id=61747
https://bugs.freedesktop.org/show_bug.cgi?id=62466
https://bugs.freedesktop.org/show_bug.cgi?id=62669
https://bugs.freedesktop.org/show_bug.cgi?id=62721
https://bugs.freedesktop.org/show_bug.cgi?id=63124
Signed-off-by: Jerome Glisse <[email protected]>
|
|
|
|
|
|
| |
Add back 2nd arg to emit_vertexbufs() which got lost in rebase.
Signed-off-by: Rob Clark <[email protected]>
|
|
|
|
|
|
|
| |
Fixes a crash when one of the so targets is null.
Signed-off-by: Zack Rusin <[email protected]>
Reviewed-by: José Fonseca <[email protected]>
|
|
|
|
|
|
| |
Signed-off-by: Zack Rusin <[email protected]>
Reviewed-by: José Fonseca <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
|
|
|
|
| |
Reviewed-by: Roland Scheidegger <[email protected]>
|
|
|
|
|
|
|
| |
On the mesa-users list, Burlen Loring reported a speed-up with 16 cores
and his test/app.
Reviewed-by: Roland Scheidegger <[email protected]>
|
|
|
|
|
|
|
|
|
| |
That is just not supported by the hardware.
v2: fix compare
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Signed-off-by: Christian König <[email protected]>
|
|
|
|
|
| |
Add ilo to targets/egl-static and add a new target dri-ilo. Update autoconf
and automake rules.
|
| |
|