summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* swr/rast: constify swr rasterizerTim Rowley2017-08-0218-323/+339
| | | | | | Add "const" as appropriate in method/function signatures. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: SIMD16 shaders - widen fetch and vertex shadersTim Rowley2017-08-026-5/+238
| | | | | | Work in progress, disabled by default. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: vmask() implementations for KNLTim Rowley2017-08-021-0/+14
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: rename frontend pVertexStoreTim Rowley2017-08-021-6/+9
| | | | | | Rename to reflect global nature. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: fix movemask_ps / movemask_pd on AVX512Tim Rowley2017-08-021-2/+7
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: stop using MSFT types in platform independent codeTim Rowley2017-08-0214-31/+35
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: enable USE_SIMD16_FRONTEND by defaultTim Rowley2017-08-021-1/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: disable AVX512 optimization of SSE / AVX codeTim Rowley2017-08-021-0/+4
| | | | | | | | | | Disable an optimization which implemented sse/avx operations on avx512 using avx512 intrinsics (to avoid switching between lane widths). Compile with SIMD_OPT_128_AVX512 / SIMD_OPT_256_AVX512 defined to enable these optimizations. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: fix USE_SIMD16_FRONTEND issuesTim Rowley2017-08-0214-74/+49
| | | | | | | Fix problems found when enabling USE_SIMD16_FRONTEND, mostly related to vMask / movemask_ps(pd). Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: simdlib better separation of core vs knights avx512Tim Rowley2017-08-0215-245/+911
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: threadID via portable std::this_thread::get_id()Tim Rowley2017-08-021-9/+11
| | | | | | | Replace use of Win32 GetCurrentThreadId() with portable std::this_thread::get_id(). Reviewed-by: Bruce Cherniak <[email protected]>
* pipe-loader: fix driinfo for software and non-radeonsi driversNicolai Hähnle2017-08-022-4/+6
| | | | | Fixes: 678dadf1237 ("gallium: move driinfo XML to pipe_loader") Reviewed-by: Thomas Hellström <[email protected]>
* Fix gallium SCons buildNicolai Hähnle2017-08-021-0/+1
|
* radeonsi: add enable_sisched driconf optionNicolai Hähnle2017-08-022-0/+7
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: prepare for driver-specific driconf optionsNicolai Hähnle2017-08-029-1/+58
| | | | Reviewed-by: Marek Olšák <[email protected]>
* pipe-loader: move configuration_query into drm_helperNicolai Hähnle2017-08-023-37/+43
| | | | | | | Having it inline is pointless anyway, since it's only called via a function pointer. Reviewed-by: Marek Olšák <[email protected]>
* st/dri: implement v2 of DRI_ConfigOptionsNicolai Hähnle2017-08-024-2/+55
| | | | Reviewed-by: Marek Olšák <[email protected]>
* pipe-loader: extract a standalone get_driver_descriptor helper functionNicolai Hähnle2017-08-021-19/+30
| | | | Reviewed-by: Marek Olšák <[email protected]>
* pipe-loader: pass only the driver_name to pipe_loader_find_moduleNicolai Hähnle2017-08-022-5/+5
| | | | Reviewed-by: Marek Olšák <[email protected]>
* gallium: add driconf options to pipe_screen_configNicolai Hähnle2017-08-022-0/+5
| | | | Reviewed-by: Marek Olšák <[email protected]>
* gallium: move loading of drirc to pipe-loaderNicolai Hähnle2017-08-0210-59/+77
| | | | | | v2: rebase compile fix: addition of mesa_no_error Reviewed-by: Marek Olšák <[email protected]> (v1)
* gallium: move driinfo XML to pipe_loaderNicolai Hähnle2017-08-026-40/+46
| | | | | | | | | | | We will switch to the pipe_loader loading the configuration options, so that they can be passed to the driver independently of the state tracker. Put the description into its own file so that it can be merged easily with driver-specific options in future commits. Reviewed-by: Marek Olšák <[email protected]>
* gallium: add pipe_screen_config to screen_create functionsNicolai Hähnle2017-08-0237-88/+118
| | | | | | | This allows a more generic mechanism for passing user configurations into drivers by accessing the dri options directly. Reviewed-by: Marek Olšák <[email protected]>
* st/drm: add DRM_CONF_XML_OPTIONSNicolai Hähnle2017-08-021-0/+2
| | | | | | | Allow drivers to return the XML that describes the available config options. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: enable ARB_transform_feedback_overflow_queryNicolai Hähnle2017-08-021-1/+1
| | | | | | v2: update for new cap name Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: avoid redundant SET_PREDICATION packet with QBO workaroundNicolai Hähnle2017-08-021-4/+9
| | | | | | | | The QBO workaround compute grid launch emits the render condition atom when dirty, so install the render condition in the context only after launching the compute grid. This avoids a redundant SET_PREDICATION. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: fix streamout overflow predication on VI+Nicolai Hähnle2017-08-022-18/+74
| | | | | | | | | | There is a firmware regression that causes failures. Work around it by using the compute shader for query_buffer_objects to summarize the query results. v2: rename to PREDICATION_OP_BOOL64 (consistent with sid.h) Reviewed-by: Marek Olšák <[email protected]>
* gallium/radeon: implement qbo for SO_OVERFLOW_PREDICATENicolai Hähnle2017-08-021-7/+37
| | | | | | v2: use R600_MAX_STREAMS instead of 4 (Marek) Reviewed-by: Marek Olšák <[email protected]>
* gallium/radeon: implement basic parts of PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATENicolai Hähnle2017-08-021-25/+73
| | | | | | v2: use R600_MAX_STREAMS instead of 4 (Marek) Reviewed-by: Marek Olšák <[email protected]>
* gallium/radeon: fix render predication by SO overflow predicateNicolai Hähnle2017-08-021-7/+6
| | | | | | | | | | The predication bits are "visible or no overflow" and "not visible or overflow", so we need to invert the check relative to the GL and Gallium interface semantics. Also, predication by the other streamout-related queries is not allowed. Reviewed-by: Marek Olšák <[email protected]>
* gallium/radeon: fix ARB_query_buffer_object conversion to booleanNicolai Hähnle2017-08-021-1/+2
| | | | | | | | | 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]>
* ddebug: handle get_query_result_resource as a GPU callNicolai Hähnle2017-08-023-32/+92
| | | | Reviewed-by: Marek Olšák <[email protected]>
* gallium/util: add util_{str,dump}_query_value_typeNicolai Hähnle2017-08-022-0/+31
| | | | Reviewed-by: Marek Olšák <[email protected]>
* gallium: add util_dump_query_type and use it in ddebugNicolai Hähnle2017-08-023-11/+13
| | | | Reviewed-by: Marek Olšák <[email protected]>
* gallium: rename util_dump_* to util_str_* for enum-to-string conversionNicolai Hähnle2017-08-027-103/+99
| | | | | | | This is mostly mechanical search-and-replace, plus touching up the macros in u_dump_defines.c manually a bit. Reviewed-by: Marek Olšák <[email protected]>
* gallium: add PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATE and corresponding capNicolai Hähnle2017-08-0221-2/+36
| | | | | | | | v2: rename cap to PIPE_CAP_QUERY_SO_OVERFLOW and be a bit more explicit in the documentation Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* virgl: add BPTC support.Dave Airlie2017-08-021-0/+3
| | | | | | | This just adds the guest checks for BPTC, the host renderer also needs code to support these. Signed-off-by: Dave Airlie <[email protected]>
* radeon/ac: use ds_swizzle for derivs on si/cik.Dave Airlie2017-08-021-15/+1
| | | | | | | | | | | | This looks like it's supported since llvm 3.9 at least, so switch over radeonsi and radv to using it, -pro also uses this. We can now drop creating lds for these operations as the ds_swizzle operation doesn't actually write to lds at all. Acked-by: Marek Olšák <[email protected]> (stable requested due to fixing radv CIK conformance tests) Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
* st/dri: don't set PIPE_BIND_SHARED for privately-allocated renderbuffersMarek Olšák2017-08-011-2/+3
| | | | | | which are MSAA and depth/stencil buffers. Reviewed-by: Eric Anholt <[email protected]>
* radeonsi: don't print AMD twice in the renderer string with the marketing nameMarek Olšák2017-08-011-1/+2
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: print CE IBs into ddebug reportsMarek Olšák2017-08-017-10/+41
| | | | | Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: fix printing vertex buffer descriptors into ddebug reportsMarek Olšák2017-08-012-0/+8
| | | | | Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: don't flush sL1 conditionally in WAIT_ON_CE_COUNTERMarek Olšák2017-08-011-3/+3
| | | | | | | | I don't know the condition for the flush, but we better turn this off. The sL1 flush is used when CE dumps stuff into a ring buffer and the ring buffer wraps. Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: set up HTILE in descriptors only when level 0 is accessibleMarek Olšák2017-08-011-1/+1
| | | | | | Compression isn't enabled with non-zero levels. Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: fix various CLEAR_STATE issuesMarek Olšák2017-08-011-0/+22
| | | | | | | | | Fixes: 064550238ef0 ("radeonsi: use CLEAR_STATE to initialize some registers") Bugzilla: https://bugs.freedesktop.org/101969 Tested-by: Michel Dänzer <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* gallium/targets: Fix d3dadapter9 build after xmlconfig move.Bas Nieuwenhuizen2017-07-311-0/+1
| | | | | | Signed-off-by: Bas Nieuwenhuizen <[email protected]> Fixes: 601093f95dd "xmlconfig: move into src/util" Reviewed-by: Emil Velikov <[email protected]>
* xmlconfig: move into src/utilNicolai Hähnle2017-07-315-6/+5
| | | | | | | | v2: attempt to fix Android build (Emil) v3: add missing include path Reviewed-by: Marek Olšák <[email protected]> (v1)
* radeonsi: ensure that temp array allocas are in the entry blockNicolai Hähnle2017-07-311-1/+1
| | | | | | | | | Otherwise, code generation fails. This has become necessary since some shaders are wrapped in control flow. Fixes: 081ac6e5c6d2 ("radeonsi/gfx9: always wrap GS and TCS in an if-block (v2)") Cc: [email protected] Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: enable R600_DEBUG=nir for vertex and fragment shadersNicolai Hähnle2017-07-313-1/+8
| | | | | | | | | Also, disable geometry and tessellation shaders. Mixing and matching NIR and TGSI shaders should work (and I've tested it for the VS/PS interface), but geometry and tessellation requires VS-as-ES/LS, which isn't implemented yet for NIR. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: VS as ES/LS are not yet supported with R600_DEBUG=nirNicolai Hähnle2017-07-311-0/+2
| | | | Reviewed-by: Marek Olšák <[email protected]>