aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
...
* winsys/radeon: implement and enable 32-bit VM allocationsMarek Olšák2018-02-173-8/+64
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* winsys/radeon: add struct radeon_vm_heapMarek Olšák2018-02-173-36/+47
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* winsys/amdgpu: enable 32-bit VM allocationsMarek Olšák2018-02-171-1/+2
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* gallium/radeon: add 32-bit address space heapsMarek Olšák2018-02-171-3/+44
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* gallium: use PIPE_CAP_CONSTBUF0_FLAGSMarek Olšák2018-02-174-5/+27
|
* gallium: allow drivers to impose BO flags restrictions on constant buffer 0Marek Olšák2018-02-1718-0/+21
| | | | Required by radeonsi for optimal behavior.
* meson: Add Haiku platform support v4Alexander von Gluck IV2018-02-164-0/+119
| | | | Reviewed-by: Dylan Baker <[email protected]>
* meson: freedreno depends on nirDylan Baker2018-02-161-0/+1
| | | | | | | | | This fixes a race condition in building targets that link in freedreno. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105120 Fixes: 0bbecc5a8548883f76a7 ("meson: define driver dependencies") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Mark Janes <[email protected]>
* swr/rast: blend_epi32() should return Integer, not FloatGeorge Kyriazis2018-02-161-1/+1
| | | | | | | fix gcc8 compiler error for KNL. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105029 Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Normalize path for debug metadataGeorge Kyriazis2018-02-161-1/+2
| | | | | | in template gen_llvm.hpp Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Consolidate archrast Draw eventsGeorge Kyriazis2018-02-164-26/+79
| | | | | | | | | | | | | | | | Consolidate archrst draw events into single draw event with an attribute that represents the type of draw - Add handlers for new private proto versions of DrawInstancedEvent, DrawIndexedInstancedEvent, DrawInstancedSplitEvent, and DrawIndexedInstancedSplitEvent - Convert the draw events to generic DrawInfoEvents - parse_proto_event_fields() replaces 'AR_DRAW_TYPE' as a field type with 'uint32_t'. This draw type is actually an enum, but can be represented as an unsigned integer. - is_draw_or_dispatch() recognizes DrawInfoEvent as a draw event Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Add semantics for translating addressGeorge Kyriazis2018-02-162-0/+5
| | | | | | Added support for another full translation path in fetch jitter. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Convert C Sampler intrinsicsGeorge Kyriazis2018-02-162-0/+19
| | | | | | | | | | Convert portions of the C sampler to the rasty SIMD lib. Also fix SRL call with a non-immediate. Don't count on the compiler automagically converting an srli call to srl if the shift count isn't an immediate. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Make SIMDLib templated types easier to useGeorge Kyriazis2018-02-165-298/+307
| | | | | | "typename SIMD_T::TypeName" --> "TypeName<SIMD_T>" Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Be more explicit when fetching next componentGeorge Kyriazis2018-02-162-4/+11
| | | | | | | Use a new function to denote that we want to get offset to next component and hide the fact that GEP is used underneath. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Fix bug related to passing AR handleGeorge Kyriazis2018-02-161-1/+1
| | | | | | We were passing a garbage handle. Let's not do that. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Fix primitive replication issue in tesselation PA.George Kyriazis2018-02-162-2/+3
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Use llvm intrinsic masked gatherGeorge Kyriazis2018-02-162-0/+14
| | | | | | | | | Use llvm intrinsic masked.gather instead of manual unroll for the cases where we have vector of pointers. Improves llvm IR debug experience by reducing a ton of IR to a single intrinsic call. Also seems to reduce overall stack use considerably. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Misc cleanupGeorge Kyriazis2018-02-163-49/+60
| | | | | | Together with correct detection of clipDistance NaNs when no cullDistance is set Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Renamed variable in vertexbufferstateGeorge Kyriazis2018-02-163-6/+8
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Fix GATHERPS to avoid assertions.George Kyriazis2018-02-161-2/+3
| | | | | | | With the pBase type change, LLVM was asserting because of wrong types. Cast appropriately. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: More precise user clip distance interpolationGeorge Kyriazis2018-02-162-17/+4
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Cull prims when all verts have negative clip distancesGeorge Kyriazis2018-02-161-0/+4
| | | | | | Performance optimization, and fixes some clipping issues. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: whitespace and comment cleanupGeorge Kyriazis2018-02-162-20/+21
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Fix invalid number of attributesGeorge Kyriazis2018-02-161-1/+1
| | | | | | | | Fix invalid number of attributes passed into tesselation PA. Needs to take into account any offsets from the shader. Innocuous issue, but removes an assert firing in debug. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Add clipper stats.George Kyriazis2018-02-164-17/+31
| | | | | | | | | | | | | | Clipper event is now: event ClipperEvent { uint32_t drawId; uint32_t trivialRejectCount; uint32_t trivialAcceptCount; uint32_t mustClipCount; }; Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Separate event types to public and privateGeorge Kyriazis2018-02-167-119/+155
| | | | | | | | | | | | Split into two proto files and modify appropriate build rules for configure / scons / meson builds. There are private internal events (proxy) that communicate information from rasterizer to ArchRast. ArchRast can use these events to calculate a final answer and then emit other public events which will be saved to file. Users will use the public proto file and not the private one. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Clean up event types and remove BE eventsGeorge Kyriazis2018-02-162-80/+0
| | | | | | Begin/End events not needed anymore. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Removed unused variableGeorge Kyriazis2018-02-1611-34/+2
| | | | | | Gets rid of zillions of unused variable warnings, made worse by templates. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Separate RDTSC code from archrastGeorge Kyriazis2018-02-1615-186/+181
| | | | | | Renamed rdstc defines more appropriately Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Cleanup of mpPrivateContext in BuilderGeorge Kyriazis2018-02-163-3/+15
| | | | | | Provide access functions for mpPrivateContext in Builder. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Remove some JIT debug codeGeorge Kyriazis2018-02-161-45/+0
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Don't include private context in gather argsGeorge Kyriazis2018-02-164-14/+17
| | | | | | Move mpPrivateContext to compensate Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Cleanup knob definitionsGeorge Kyriazis2018-02-161-50/+40
| | | | | | Rename some of the categories and move some options around. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Add missing parameter to a few gather functionsGeorge Kyriazis2018-02-162-12/+12
| | | | | | We now pass pDrawContext as a default parameter Reviewed-by: Bruce Cherniak <[email protected]>
* etnaviv: add useful information to BO import errorsPhilipp Zabel2018-02-161-2/+6
| | | | | Signed-off-by: Philipp Zabel <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* radeonsi/nir: set TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL correctlyTimothy Arceri2018-02-161-1/+2
| | | | | | We set this for post_depth_coverage in addition to early_fragment_tests. Reviewed-by: Marek Olšák <[email protected]>
* virgl: remap query types to hw support.Dave Airlie2018-02-161-2/+35
| | | | | | | | | | | | | | | | | | | | | | | | The gallium query types changed, so we need to remap from the gallium ones to the virgl ones. Fixes: dEQP-GLES3.functional.transform_feedback.basic_types* "This also fixes: dEQP-GLES3.functional.transform_feedback.array.separate* dEQP-GLES3.functional.transform_feedback.array_element* dEQP-GLES3.functional.transform_feedback.interpolation.* Gallium's p_defines.h and virglrenderer's p_defines.h have diverged quite a bit, so not including PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE there makes sense for now." - Gurchetan Singh Fixes: 3f6b3d9db (gallium: add PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE) Reviewed-by: Gurchetan Singh <[email protected]> Tested-by: Gurchetan Singh <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* clover: Fix build after llvm r325155 and r325160Jan Vesely2018-02-153-2/+30
| | | | | | | | | | | | | r325155 ("Pass a reference to a module to the bitcode writer.") and r325160 ("Pass module reference to CloneModule") change function interface from pointer to reference. v2: Fix indentation (tab instead of spaces) Signed-off-by: Jan Vesely <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* meson: fix xvmc target linkageDylan Baker2018-02-151-3/+4
| | | | | | | | | | | | This needs to link the state tracker with --whole-archive to expose the right symbols. v4: - Always add libswdri and libswkmsdri to the link_with list Fixes: 22a817af8a89eb3c7 ("meson: build gallium xvmc state tracker") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: Fix xa target linkageDylan Baker2018-02-151-3/+5
| | | | | | | | | | | | This needs to use --whole-archive (link_whole in meson) to properly expose symbols. v4: - Always add libswdri and libswkmsdri to link_with list Fixes: 0ba909f0f111824 ("meson: build gallium xa state tracker") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: Fix omx-bellagio target linkageDylan Baker2018-02-151-3/+4
| | | | | | | | | | | | This needs to use --whole-archive (link_whole in meson) to properly expose symbols. v4: - Always add libswdri and libswkmsdri to link_with Fixes: 1d36dc674d528b93b ("meson: build gallium omx state tracker") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: fix va target linkageDylan Baker2018-02-151-3/+4
| | | | | | | | | | | | | The state tracker needs to be linked with whole-archive (like autotools). As a result there are symbols from libswdri and libswkmsdri that are needed, so link those as well. v4: - Always add libswdri and libswkmsdri to link_with list Fixes: 5a785d51a6d6 ("meson: build gallium va state tracker") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: fix vdpau target linkageDylan Baker2018-02-151-3/+5
| | | | | | | | | | | | | The VDPAU state tracker needs to be linked with whole-archive (autotools does this). Because we are linking the whole archive we alos need to link with libswdri and libswkmsdri if those have been enabled. v4: - Always add libswdri and libswkmsdri to link_with list Fixes: 68076b87474e7959 ("meson: build gallium vdpau state tracker") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: link dri3 xcb libs into vlwinsys instead of into each targetDylan Baker2018-02-156-18/+11
| | | | | | | | | | This makes the dependencies easier to manage, since each media target doesn't need to worry about linking to half a dozen libraries. Fixes: b1b65397d0c4978e3 ("meson: Build gallium auxiliary") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: use va-api version reported by pkg-configDylan Baker2018-02-151-3/+3
| | | | | | | Fixes: 5a785d51a6d6 ("meson: build gallium va state tracker") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: add libswdri and libswkmsdri to dri link_withDylan Baker2018-02-151-9/+2
| | | | | | | Fixes: b154b44ae342 ("meson: build radeonsi gallium driver") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: add libswdri and libswkmsdri to d3dadaptor link_withDylan Baker2018-02-151-10/+3
| | | | | | | | | v5: - Fix libswdi -> libswdri typo Fixes: 6b4c7047d571 ("meson: build gallium nine state_tracker") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meson: define empty variables for libswdri and libswkmsdriDylan Baker2018-02-153-5/+12
| | | | | | | | | | | | | | | This allows these variables to unconditionally included in `link_with` lists, even if they're not used. This allows deleting duplicated logic in nearly every gallium target implemented in meson today. This also removes the now useless `build_by_default` flag from swdri and swkmsdri. v4: - add this patch Fixes: 66c94b9313a697ce8f2b222f4ba353035e4b8726 ("meson: build gallium winsys for dri, null, and wrapper") Signed-off-by: Dylan Baker <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* svga: replace gotos with else clausesBrian Paul2018-02-153-23/+20
| | | | | | Simple clean-up. Reviewed-by: Charmaine Lee <[email protected]>