summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* svga: Fix a leftover debug hackThomas Hellstrom2018-02-201-2/+2
| | | | | | | | | | | | | | | Fix what appears to be a leftover debug hack. The hack would force the driver to take a different blit path; possibly, although unverified, reverting to software blits. Tested using piglit tests/quick. No related regressions. Cc: "17.2 17.3 18.0" <[email protected]> Fixes: 9d81ab7376 (svga: Relax the format checks for copy_region_vgpu10 somewhat) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104625 Reported-by: Grazvydas Ignotas <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* nv50,nvc0: mark ABGR format as displayable instead of ARGB formatIlia Mirkin2018-02-191-2/+2
| | | | | | This matches the hardware's capabilities. Signed-off-by: Ilia Mirkin <[email protected]>
* radeonsi: add nir shader cache supportTimothy Arceri2018-02-201-11/+30
| | | | | | | In future we might want to try avoid calling nir_serialize() but this works for now. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: rename variables tgsi_binary -> ir_binaryTimothy Arceri2018-02-201-21/+21
| | | | | | This better represents that the ir could be either tgsi or nir. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: fix regression from 32-bit pointers on CIMarek Olšák2018-02-191-1/+1
| | | | Tested-by: Michel Dänzer <[email protected]>
* radeonsi/nir: fix gl_FragCoord for pixel_center_integerTimothy Arceri2018-02-191-0/+5
| | | | | | Fixes piglit test glsl-arb-fragment-coord-conventions Reviewed-by: Kenneth Graunke <[email protected]>
* gm107/ir: avoid using kepler instruction capabilitiesIlia Mirkin2018-02-172-21/+45
| | | | | | | | Split up the op properties table into generation-specific bits, and only use the kepler ones on kepler. Fixes some CTS images tests. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Karol Herbst <[email protected]>
* nvc0: add support for bindless on maxwell+Ilia Mirkin2018-02-173-14/+116
| | | | Signed-off-by: Ilia Mirkin <[email protected]>
* gm107/ir: change how SUQ works in preparation for bindlessIlia Mirkin2018-02-173-1/+61
| | | | | | | All this information can be retrieved from the TIC directly. Avoid having to dip into the constbuf information about the image. Signed-off-by: Ilia Mirkin <[email protected]>
* nvc0: Use GP100_COMPUTE_CLASS on GP10BMikko Perttunen2018-02-171-1/+2
| | | | | | | | GP10B requires the use of GP100_COMPUTE_CLASS instead of GP104_COMPUTE_CLASS as is used for other non-GP100 chips. Signed-off-by: Mikko Perttunen <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* radeonsi: implement 32-bit pointers in user data SGPRs (v2)Marek Olšák2018-02-175-59/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | User SGPRs changes: VS: 14 -> 9 TCS: 14 -> 10 TES: 10 -> 6 GS: 8 -> 4 GSCOPY: 2 -> 1 PS: 9 -> 5 Merged VS-TCS: 24 -> 16 Merged VS-GS: 18 -> 11 Merged TES-GS: 18 -> 11 SGPRS: 2170102 -> 2158430 (-0.54 %) VGPRS: 1645656 -> 1641516 (-0.25 %) Spilled SGPRs: 9078 -> 8810 (-2.95 %) Spilled VGPRs: 130 -> 114 (-12.31 %) Scratch size: 1508 -> 1492 (-1.06 %) dwords per thread Code Size: 52094872 -> 52692540 (1.15 %) bytes Max Waves: 371848 -> 372723 (0.24 %) v2: - the shader cache needs to take address32_hi into account - set amdgpu-32bit-address-high-bits Reviewed-by: Samuel Pitoiset <[email protected]> (v1)
* radeonsi: disallow constant buffers with a 64-bit address in slot 0Marek Olšák2018-02-172-1/+9
| | | | | | | State trackers must use a user buffer or const_uploader, or set pipe_resource::flags same as const_uploader->flags. Reviewed-by: Samuel Pitoiset <[email protected]>
* radeonsi: move const_uploader allocations to 32-bit address spaceMarek Olšák2018-02-173-2/+7
| | | | 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-171-1/+1
|
* gallium: allow drivers to impose BO flags restrictions on constant buffer 0Marek Olšák2018-02-1716-0/+16
| | | | Required by radeonsi for optimal behavior.
* 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]>
* svga: replace gotos with else clausesBrian Paul2018-02-153-23/+20
| | | | | | Simple clean-up. Reviewed-by: Charmaine Lee <[email protected]>
* svga: s/unsigned/enum pipe_shader_type/Brian Paul2018-02-153-4/+6
| | | | Reviewed-by: Neha Bhende <[email protected]>
* svga: move duplicated code for setting fillmode/flatshade stateBrian Paul2018-02-151-20/+10
| | | | | | | Move the calls to svga_hwtnl_set_fillmode() and svga_hwtnl_set_flatshade() out of the two retry_draw_*() functions to the svga_draw_vbo() function. Reviewed-by: Charmaine Lee <[email protected]>