summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr
Commit message (Collapse)AuthorAgeFilesLines
* gallium: Use enum pipe_shader_type in bind_sampler_states() (v2)Kai Wasserbäch2016-08-291-1/+1
| | | | | | | | | | | v1 → v2: - Fixed indentation (noted by Brian Paul) - Removed second assert from nouveau's switch statements (suggested by Brian Paul) Signed-off-by: Kai Wasserbäch <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium: add a cap to expose whether driver supports mixed color/zs bitsIlia Mirkin2016-08-231-0/+1
| | | | | | | | | | Some hardware can't render to color/depth buffers of mixed bitness. When that happens a fallback has to happen, but this allows the driver to express that this isn't an optimal scenario. The purpose of this is to remove such fbconfigs from the GLX/EGL config list. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* swr: [rasterizer core] only use Viewport/Scissors during SwrDraw* operationsTim Rowley2016-08-1712-415/+400
| | | | | | | | | | | Add explicit rects for: - SwrClearRenderTarget - SwrDiscardRect - SwrInvalidateTiles - SwrStoreTiles Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer common] reorder SWR_FORMAT_INFOTim Rowley2016-08-172-825/+1433
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] make dirtytile list point directly to macrotilequeuesTim Rowley2016-08-173-14/+15
| | | | | | Speeds up high geometry HPC workloads. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] portability - remove use of INT64Tim Rowley2016-08-171-2/+2
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] viewport transform disabled fixTim Rowley2016-08-171-4/+11
| | | | | | | When viewport transform is disabled (ie. screen space coords are passed in directly), the W component should be interpreted as RHW. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] clamp scissor rects to current tile rectTim Rowley2016-08-171-0/+18
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] align stats structuresTim Rowley2016-08-171-2/+2
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] use AVX2 permute to simplify PaTriListTim Rowley2016-08-171-1/+35
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] move some global variables to SWR_CONTEXTTim Rowley2016-08-172-9/+9
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] change scale on VP matrix element gathersTim Rowley2016-08-171-6/+6
| | | | | | | Was 1, which led to pulling denorms for non-zero indices. Changed to sizeof(float). Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer] implementing native AVX-512 simd16 intrinsicsTim Rowley2016-08-172-84/+265
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] unused variable warning fixesTim Rowley2016-08-103-12/+0
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer jitter] add core string to JitManagerTim Rowley2016-08-104-6/+10
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] fix OOB check of viewport indicesTim Rowley2016-08-101-2/+2
| | | | | | Use correct comparison intrinsic for OOB check of viewport indices. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer common] add linux definition for InterlockedAdd64Tim Rowley2016-08-101-0/+2
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer jitter] add VMASKSTOREPS intrinsicTim Rowley2016-08-101-0/+1
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer jitter] add mask support for odd format fetchTim Rowley2016-08-101-15/+26
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] routing of viewport indexes through frontendTim Rowley2016-08-106-27/+91
| | | | | | Viewport transform performed based on per-prim viewport index if available. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] split FE and BE statsTim Rowley2016-08-1011-59/+95
| | | | | | | | | | | Separated FE stats out into its own structure. There are 17 FE vs 3 BE stat fields. Since there is only one FE thread per DC then we don't have to loop over all threads and sum up FE stats over all the worker threads. This also reduces size of DC since we only need to store one copy of the FE stats and not one per worker. Finally, we can use the new FE callback mechanism to update these. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] remove all old stats codeTim Rowley2016-08-107-92/+0
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] viewport array supportTim Rowley2016-08-108-34/+49
| | | | | | Change viewport matrix storage from AOS to SOA to support viewport arrays. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer jitter] fetch support for offsetting VertexIDTim Rowley2016-08-102-4/+16
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] fundamentally change how stats workTim Rowley2016-08-107-19/+94
| | | | | | Add a per draw stats callback to update driver stats. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] add rasterizerSampleCount to PS contextTim Rowley2016-08-102-0/+6
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] remove cygwin threads.cpp stubsTim Rowley2016-08-101-14/+0
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] allow override of KNOB thread settingsTim Rowley2016-08-106-70/+53
| | | | | | | | - Remove HYPERTHREADED_FE support - Add threading info as optional data passed to SwrCreateContext. If supplied this data will override any KNOB thread settings. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] add SwrWaitForIdleFETim Rowley2016-08-104-14/+51
| | | | | | | This is a blocking call that waits until all FE work is complete. This is useful for waiting for FE work to complete such as for streamout. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] change threadsDone to be a 32-bit value.Tim Rowley2016-08-103-5/+5
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] update trivial accept test conditionsTim Rowley2016-08-101-3/+6
| | | | | | | enable/disable raster tile trivial accept test based on scissor enable trait. Can be optimized further. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] improve implementation for SoWriteOffsetTim Rowley2016-08-108-31/+63
| | | | | | | 1. SoWriteOffset is no longer treated as a stat 2. Added callback from core to update streamout write offset Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer common] make disabled asserts always print (but not break)Tim Rowley2016-08-101-5/+3
| | | | Signed-off-by: Tim Rowley <[email protected]>
* gallium: add a pipe_context parameter to fence_finishMarek Olšák2016-08-107-9/+11
| | | | | | | | required by glClientWaitSync (GL 4.5 Core spec) that can optionally flush the context Reviewed-by: Rob Clark <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* gallium: add render_condition_enable param to clear_render_target/depth_stencilMarek Olšák2016-08-101-2/+4
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* swr: [rasterizer core] static analysis fixes for conservative rastTim Rowley2016-08-042-5/+10
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] implement InnerConservative input coverageTim Rowley2016-08-046-182/+357
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] remove CanEarlyZ functionTim Rowley2016-08-041-6/+0
| | | | | | Test is now in SetupPipeline. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] use 32x32 macrotile for openswrTim Rowley2016-08-041-4/+4
| | | | | | Significant performance increase (up to 2x) on high geometry workloads. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer fetch] add support for 24bit format fetchTim Rowley2016-08-041-0/+1
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer fetch] additional fetch format supportTim Rowley2016-08-041-3/+15
| | | | | | | | Add support for 0 pitch in fetch. Add support for USCALE/SSCALE for 32bit integer fetches. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer jitter] fix potential jit exit crashTim Rowley2016-08-041-1/+6
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] update sync handlingTim Rowley2016-08-045-15/+15
| | | | | | | | Sync now uses a callback to ensure that it's called by the last thread moving past a DC. This will help with the new counter handling. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] rename variableTim Rowley2016-08-041-7/+7
| | | | | | Avoid nested declarations of the same name within a single function. Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer jitter] adjust extern "C" block scopeTim Rowley2016-08-041-3/+5
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] conservative rast degenerate handlingTim Rowley2016-08-045-144/+332
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: [rasterizer core] allow hexadecimal for integer knobsTim Rowley2016-08-041-3/+6
| | | | Signed-off-by: Tim Rowley <[email protected]>
* swr: build swr with -fno-strict-aliasingTim Rowley2016-08-021-0/+1
| | | | | | | swr rasterizer contains numerous data transfers between vectors and ordinary C types. Fixing for strict aliasing will take time. Reviewed-by: Matt Turner <[email protected]>
* gallium: split transfer_inline_write into buffer and texture callbacksMarek Olšák2016-07-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | to reduce the call indirections with u_resource_vtbl. The worst call tree you could get was: - u_transfer_inline_write_vtbl - u_default_transfer_inline_write - u_transfer_map_vtbl - driver_transfer_map - u_transfer_unmap_vtbl - driver_transfer_unmap That's 6 indirect calls. Some drivers only had 5. The goal is to have 1 indirect call for drivers that care. The resource type can be determined statically at most call sites. The new interface is: pipe_context::buffer_subdata(ctx, resource, usage, offset, size, data) pipe_context::texture_subdata(ctx, resource, level, usage, box, data, stride, layer_stride) v2: fix whitespace, correct ilo's behavior Reviewed-by: Nicolai Hähnle <[email protected]> Acked-by: Roland Scheidegger <[email protected]>
* swr: [rasterizer core] introduce simd16intrin.hTim Rowley2016-07-204-6/+751
| | | | | | | | | Refactoring to leave existing simd_* intrinsics in "simdintrin.h" unchanged, adding corresponding simd16_* intrinsics in "simd16intrin.h" on the side, with emulation, that we can use piecemeal, rather than the all-or-nothing approach to bring up avx512. Signed-off-by: Tim Rowley <[email protected]>