summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/swr
AgeCommit message (Collapse)AuthorFilesLines
2017-06-14swr: relax c++ requirement from c++14 to c++11Tim Rowley3-16/+17
Remove c++14 generic lambda to keep compiler requirement at c++11. No regressions on piglit or vtk test suites. Tested-by: Chuck Atkins <chuck.atkins@kitware.com> Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com> CC: mesa-stable@lists.freedesktop.org (cherry picked from commit 0b80b025021f97d27520390867c20336dc891a16)
2017-05-22automake: add SWR LLVM gen_builder.hpp workaroundEmil Velikov1-30/+11
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: <mesa-stable@lists.freedesktop.org> Cc: Chuck Atkins <chuck.atkins@kitware.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com> (cherry picked from commit 5233eaf9ee85bb551ea38c1e2bbd8ac167754e50)
2017-05-18swr: move msaa resolve to generalized StoreTileBruce Cherniak3-80/+82
v3: list piglit tests fixed by this patch. Fixed typo Tim pointed out. v2: Reword commit message to more closely adhere to community guidelines. This patch moves msaa resolve down into core/StoreTiles where the surface format conversion routines are available. The previous "experimental" resolve was limited to 8-bit unsigned render targets. This fixes a number of piglit msaa tests by adding resolve support for all the render target formats we support. Specifically: layered-rendering/gl-layer-render: fail->pass layered-rendering/gl-layer-render-storage: fail->pass multisample-formats *[2,4,8,16] gl_arb_texture_rg: crash->pass multisample-formats *[2,4,8,16] gl_ext_texture_snorm: crash->pass multisample-formats *[2,4,8,16] gl_arb_texture_float: fail->pass multisample-formats *[2,4,8,16] gl_arb_texture_rg-float: fail->pass MSAA is still disabled by default, but can be enabled with "export SWR_MSAA_MAX_COUNT=4" (1,2,4,8,16 are options) The default is 0, which is disabled. This patch improves the number of multisample-formats supported by swr, and fixes several crashes currently in the 17.1 branch. Therefore, it should be considered for inclusion in the 17.1 stable release. Being disabled by default, it poses no risk to most users of swr. Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com> cc: mesa-stable@lists.freedesktop.org (cherry picked from commit f52e63069a3fad23e03d42306a42bd20f0159da3)
2017-04-14swr: Add polygon stipple supportGeorge Kyriazis5-9/+84
Add polygon stipple functionality to the fragment shader. Explicitly turn off polygon stipple for lines and points, since we do them using tris. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-14gallium: add PIPE_CAP_TGSI_TES_LAYER_VIEWPORTNicolai Hähnle1-0/+1
Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
2017-04-14swr: Enable MSAA in OpenSWR software rendererBruce Cherniak6-25/+313
This patch enables multisample antialiasing in the OpenSWR software renderer. MSAA is a proof-of-concept/work-in-progress with bug fixes and performance on the way. We wanted to get the changes out now to allow several customers to begin experimenting with MSAA in a software renderer. So as not to impact current customers, MSAA is turned off by default - previous functionality and performance remain intact. It is easily enabled via environment variables, as described below. It has only been tested with the glx-lib winsys. The intention is to enable other state-trackers, both Windows and Linux and more fully support FBOs. There are 2 environment variables that affect behavior: * SWR_MSAA_FORCE_ENABLE - force MSAA on, for apps that are not designed for MSAA... Beware, results will vary. This is mainly for testing. * SWR_MSAA_MAX_SAMPLE_COUNT - sets maximum supported number of samples (1,2,4,8,16), or 0 to disable MSAA altogether. (The default is currently 0.) Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
2017-04-14swr: Removed unnecessary PIPE_BIND flags from swr_is_format_supportedBruce Cherniak1-2/+1
Removed unnecessary and probably wrong PIPE_BIND_SCANOUT and PIPE_BIND_SHARED flags in favor of check on single PIPE_BIND_DISPLAY_TARGET flag. Reference llvmpipe change <bee4c7718a3bd57e3d99f0913d9081cd13fe5fd> Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
2017-04-14swr: Align swr_context allocation to SIMD alignment.Bruce Cherniak1-2/+5
The context now contains SIMD vectors which must be aligned (specifically samplePositions in the rastState in the derived state). Failure to align can result in segv crash on unaligned memory access in vector instructions. Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
2017-04-14swr: add linux to scons buildGeorge Kyriazis1-6/+1
Make swr compile for both linux and windows. Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
2017-04-11swr: [rasterizer core] Disable 8x2 tile backendTim Rowley1-1/+1
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer common] Add _simd_testz_si aliasTim Rowley1-0/+1
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer archrast] Fix archrast for MSVC 2017 compilerTim Rowley5-6/+6
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer jitter] Remove unused functionTim Rowley2-35/+0
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer jitter] Remove HAVE_LLVM tests supporting llvm < 3.8Tim Rowley4-52/+0
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer common/core] Fix 32-bit windows buildTim Rowley6-117/+123
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer core] Fix unused variable warningsTim Rowley3-10/+1
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer core] Code formating changeTim Rowley1-10/+10
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer core] SIMD16 Frontend WIP - PATim Rowley1-22/+22
Fix PA NextPrim for SIMD8 on SIMD16. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer core] SIMD16 Frontend WIP - ClipperTim Rowley5-124/+941
Implement widened clipper for SIMD16. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer core] Multisample sample position setup changeTim Rowley3-75/+92
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: [rasterizer core] Reduce templates to speed compileTim Rowley3-10/+71
Quick patch to remove some unused template params to cut down rasterizer compile time. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-11swr: return true for PIPE_CAP_DOUBLESTim Rowley1-0/+1
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-04-07swr: fix unused variable warningsTim Rowley2-2/+0
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-05swr: [rasterizer core] SIMD16 Frontend WIPTim Rowley4-75/+1299
Implement widened binner for SIMD16 Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-05swr: [rasterizer core] Enable 8x2 backendTim Rowley1-1/+1
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-05swr: [rasterizer codegen] remove copy of makoTim Rowley18-7201/+0
mako is already a mesa build requirement, extra copy not needed. Tested building against mesa build baseline (mako-0.8.0). Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-05swr: [rasterizer core/memory] Move intrinics to _simd functionsTim Rowley5-117/+112
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-05swr: [rasterizer core] Programmable sample position supportTim Rowley12-596/+267
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-05swr: [configure.ac/scons] require c++14Tim Rowley2-3/+3
New C++ features used by upcoming swr changes. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-05swr: [rasterizer core] Fix center sample patternTim Rowley3-26/+26
Fix long hidden bug in rasterizer handling of center sample pattern. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-05swr: [rasterizer core/memory] Fix missing avx512 storetileTim Rowley3-23/+14
Fix pre-processor macro handing to eliminate silently missing implementation for AVX512. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-05swr: [rasterizer core] SIMD16 Frontend WIPTim Rowley2-37/+14
Implement widened VS output for SIMD16 Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-04-05gallium: add PIPE_CAP_TGSI_BALLOTNicolai Hähnle1-0/+1
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-04-05swr: automake: add gen_common.py to the tarballEmil Velikov1-0/+1
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2017-04-05gallium: add sparse buffer interface and capabilityNicolai Hähnle1-0/+1
v2: - explain the resource_commit interface in more detail Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-03-31gallium: Add a cap to check if the driver supports fill_rectangleLyude1-0/+1
Changes since v1: - Add pipe caps for etnaviv, freedreno, swr and virgl Signed-off-by: Lyude <lyude@redhat.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31gallium: add PIPE_CAP_TGSI CLOCKNicolai Hähnle1-0/+1
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-03-29swr: [scons] Fix windows buildGeorge Kyriazis1-7/+31
Fix codegen build break that was introduced earlier v2: update rules for gen_knobs.cpp and gen_knobs.h v3: Introduce bldroot and revert generator file changes, making patch simpler. Reviewed-by: Tim Rowley <timothy.o.rowley@intel.com>
2017-03-28swr: fix llvm-5.0.0 build bustageTim Rowley1-9/+15
Handle rename of llvm AttributeSet to AttributeList in the same fashion as ac_llvm_helper.cpp. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-03-28swr: [rasterizer jitter] fix llvm-5.0.0 build bustageTim Rowley1-4/+3
Add CreateAlignmentAssumptionHelper to gen_llvm_ir_macros.py ignore list. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-03-28swr: [rasterizer core] Disable inline function expansionTim Rowley1-0/+12
Disable expansion in windows Debug builds. Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
2017-03-28swr: [rasterizer common] Use C++ thread_local keywordTim Rowley1-2/+2
Allows use of thread_local objects with constructors. Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
2017-03-28swr: [rasterizer core] SIMD16 Frontend WIPTim Rowley8-81/+371
Implement widened clipper and binner interfaces for SIMD16. Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
2017-03-28swr: [rasterizer core] Don't bind single-threaded contextsTim Rowley1-1/+1
Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
2017-03-28swr: [rasterizer core] Enable SIMD16Tim Rowley3-8/+20
Make the AVX512 insert/extract intrinsics KNL-compatible Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
2017-03-28swr: [rasterizer jitter] Clean up EngineBuilder constructionTim Rowley1-7/+5
Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
2017-03-28swr: [rasterizer codegen] add cmdline to archrast gen filesTim Rowley5-2/+18
Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
2017-03-28swr: [rasterizer core] SIMD16 Frontend WIPTim Rowley2-22/+136
Fix GS and streamout. Reviewed-by: George Kyriazis <george.kyriazis@intel.com>
2017-03-28swr: [rasterizer codegen] Refactor codegenTim Rowley7-158/+215
Move common codegen functions into gen_common.py. v2: change gen_knobs.py to find the template file internally, like the rest of the gen scripts. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
2017-03-22swr: [rasterizer jitter] fix llvm >= 5.0 build breakTim Rowley3-3/+3
Function::getArgumentList() doesn't exist anymore, switch to using arg_begin() (existed back to at least llvm-3.6.0). Reviewed-by: Vedran Miletić <vedran@miletic.net> CC: <mesa-stable@lists.freedesktop.org>