History log of /external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f2947807c8c7eae4b98eb37263b8a1d9ebbcafb5 07-Apr-2015 Glenn Kennard <glenn.kennard@gmail.com> r600g/sb: Enable SB for geometry shaders

Add SV_GEOMETRY_EMIT special variable type to track the
implicit dependencies between CUT/EMIT_VERTEX/MEM_RING
instructions so GCM/scheduler doesn't reorder them.

Mark emit instructions as unkillable so DCE doesn't eat them.

Enable only for evergreen/cayman as there are a few
unexplained GS piglit regressions on R6xx/R7xx with SB
enabled otherwise.

Signed-off-by: Glenn Kennard <glenn.kennard@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
237dcb4aa7c39c59bfd225ae3d73caf709be216d 05-Mar-2015 Mark Janes <mark.a.janes@intel.com> Fix invalid extern "C" around header inclusion.

System headers may contain C++ declarations, which cannot be given C
linkage. For this reason, include statements should never occur
inside extern "C".

This patch moves the C linkage statements to enclose only the
declarations within a single header.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
62c8149472903a2f3fc4d319c3799b9e729419d5 14-Oct-2013 Vadim Girlin <vadimgirlin@gmail.com> r600g/sb: fix issue with DCE between GVN and GCM (v2)

We can't perform DCE using the liveness pass between GVN and GCM
because it relies on the correct schedule, but GVN doesn't care about
preserving correctness - it's rescheduled later by GCM.

This patch makes dce_cleanup pass perform simple DCE
between GVN and GCM instead of relying on liveness pass.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=70088

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
ba650ccf91a103d90d45b5927a8a9220e222cfc5 22-Sep-2013 Marek Olšák <marek.olsak@amd.com> r600g: move some debug options to drivers/radeon
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
d5b23dfc1c07f98afe749053b9cb4b69829fe3d4 13-Aug-2013 Marek Olšák <marek.olsak@amd.com> r600g: move streamout state to drivers/radeon

This streamout state code will be used by radeonsi.

There are new structures r600_common_context and r600_common_screen.
What is inherited by what is shown here:

pipe_context -> r600_common_context -> r600_context
pipe_screen -> r600_common_screen -> r600_screen

The common structures reside in drivers/radeon. Currently they only contain
enough functionality to be able to handle streamout. Eventually I'd like
the whole pipe_screen implementation to be shared and some of the context
stuff too.

This is quite big, but most changes are because of the new structures and
the fact r600_write_value is replaced by radeon_emit.

Thanks to Tom Stellard for fixing the build for r600g/compute.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Tested-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
758ac6f91894c105c83a193e8f4f6ead06962949 05-Jun-2013 Vadim Girlin <vadimgirlin@gmail.com> r600g/sb: improve math optimizations v2

This patch adds support for some math optimizations that are generally
considered unsafe, that's why they are currently disabled for compute
shaders.

GL requirements are less strict, so they are enabled for
for GL shaders by default. In case of any issues with
applications that rely on higher precision than guaranteed by GL,
'sbsafemath' option in R600_DEBUG allows to disable them.

v2 - always set proper src vector size for transformed instructions
- check for clamp modifier in the expr_handler::fold_assoc

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
725671a83a67cc8cf16c0913f6e1835fb272c2fb 27-May-2013 Vadim Girlin <vadimgirlin@gmail.com> r600g/sb: improve optimization of conditional instructions

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
560ddad261b863461664311f10dab99c7efc8a3a 14-May-2013 Vadim Girlin <vadimgirlin@gmail.com> r600g/sb: add missing cases for ARUBA chips

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
ecde4b07e2208934a17a09d26c43baf314c10a60 14-May-2013 Vadim Girlin <vadimgirlin@gmail.com> r600g/sb: get rid of standard c++ streams

Static initialization of internal libstdc++ data related to iostream
causes segfaults with some apps.

This patch replaces all uses of std::ostream and std::ostringstream in sb
with custom lightweight classes.

Prevents segfaults with ut2004demo and probably some other old apps.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
57d1be0d2d195dac0e08585b6cd098779f7a7bd7 11-May-2013 Vadim Girlin <vadimgirlin@gmail.com> r600g/sb: separate bytecode decoding and parsing

Parsing and ir construction is required for optimization only,
it's unnecessary if we only need to print shader dump.
This should make new disassembler more tolerant to any new
features in the bytecode.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
3c201a22ca5f3dfec4794d7959b9c3fd8c3a2607 02-May-2013 Vadim Girlin <vadimgirlin@gmail.com> r600g/sb: don't run unnecessary passes

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
3f18dd818f7ce0adab0afe1a4b4db2e242513086 30-Apr-2013 Vadim Girlin <vadimgirlin@gmail.com> r600g/sb: collect shader statistics

Collects various statistical information for each shader
and total stats for contexts.

Printed with R600_DEBUG=sb,sbstat

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
188c893e65facb8826c58a6f0226b7508f2870fa 23-Apr-2013 Vadim Girlin <vadimgirlin@gmail.com> r600g/sb: use source bytecode in case of optimization errors
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp
2cd769179345799d383f92dd615991755ec24be1 30-Apr-2013 Vadim Girlin <vadimgirlin@gmail.com> r600g/sb: initial commit of the optimizing shader backend
/external/mesa3d/src/gallium/drivers/r600/sb/sb_core.cpp