summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* freedreno/a6xx: Turn on geometry shadersKristian H. Kristensen2019-10-172-3/+15
| | | | Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/a6xx: Implement PIPE_QUERY_PRIMITIVES_GENERATED for GSKristian H. Kristensen2019-10-171-0/+34
| | | | | | | When we don't have streamout enabled, we have to read this register to get the number of primitives emitted. Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/blitter: Save GS stateKristian H. Kristensen2019-10-171-0/+1
| | | | | | We have GS state now. Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/a6xx: Support layered render targetsKristian H. Kristensen2019-10-174-4/+32
| | | | Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/a6xx: Emit program state for GSKristian H. Kristensen2019-10-173-26/+148
| | | | Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/ir3: Implement primitive layout intrinsicsKristian H. Kristensen2019-10-175-4/+82
| | | | | | | | This implements the load_vs_primitive_stride_ir3, load_vs_vertex_stride_ir3 and load_primitive_location_ir3 intrinsics, used for getting the primitive layout strides and locations. Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/ir3: Add has_gs flag to shader keyKristian H. Kristensen2019-10-171-5/+7
| | | | | | | Since the presence of GS changes how the VS operates we need to track that in the shader key. Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/a6xx: Add missing adjacency primitives to tableKristian H. Kristensen2019-10-171-8/+12
| | | | Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/a6xx: Trim a few regs from fd6_emit_restore()Kristian H. Kristensen2019-10-171-20/+0
| | | | | | | We know what these do an either write them in the program stateobj or don't need to write them. Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/registers: Update with GS, HS and DS registersKristian H. Kristensen2019-10-172-3/+3
| | | | Signed-off-by: Kristian H. Kristensen <[email protected]>
* gallium/u_blitter: remove an unused variableMarek Olšák2019-10-171-2/+0
| | | | trivial
* radeonsi: recreate aux_context after a GPU resetMarek Olšák2019-10-171-3/+25
| | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi: call the reset callback if get_device_reset_status returns a failureMarek Olšák2019-10-173-20/+7
| | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* gallivm: Fix saturated signed psub/padd intrinsics on llvm 8Roland Scheidegger2019-10-171-18/+10
| | | | | | | | | | | LLVM 8 did remove both the signed and unsigned sse2/avx intrinsics in the end, and provide arch-independent llvm intrinsics instead. Fixes a crash when using snorm framebuffers (tested with piglit arb_color_buffer_float-render GL_RGBA8_SNORM -auto). Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Dave Airlie <[email protected]> CC: <[email protected]>
* panfrost: Keep track of active BOsTomeu Vizoso2019-10-173-21/+87
| | | | | | | | | | | | | | | If two jobs use the same GEM object at the same time, the job that finishes first will (previous to this commit) close the GEM object, even if there's a job still referencing it. To prevent this, have all jobs use the same panfrost_bo for a given GEM object, so it's only closed once the last job is done with it. Signed-off-by: Tomeu Vizoso <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* nv50/ir: remove DUMMY edge typeKarol Herbst2019-10-174-13/+1
| | | | | | | it was never used Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* gallium: do not increase ref count of the new throttle fenceJames Xiong2019-10-171-2/+4
| | | | | | | | | | | | | | A new throttle fence was initialized to 1, and increased by 1 again when it's put in drawable->throttle_fence; the ref was decreased by 1 when it's removed from drawable->throttle_fence, and never reached to 0, caused leak. Fixes: ff77bf5cbf7 ("gallium: simplify throttle implementation") Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1949 Signed-off-by: James Xiong <[email protected]> Reported-by: Florian Wesch <[email protected]> Reviewed-by: Jose Maria Casanova Crespo <[email protected]>
* v3d: do not report alpha-test as supportedErik Faye-Lund2019-10-171-0/+3
| | | | | | | This triggers lowering in the state-tracker, which makes things a bit simpler. Reviewed-by: Marek Olšák <[email protected]>
* vc4: do not report alpha-test as supportedErik Faye-Lund2019-10-172-14/+4
| | | | | | | This triggers lowering in the state-tracker, which makes things a bit simpler. Reviewed-by: Marek Olšák <[email protected]>
* panfrost: do not report alpha-test as supportedErik Faye-Lund2019-10-172-9/+3
| | | | | | | This triggers lowering in the state-tracker, which makes things a bit simpler. Reviewed-by: Marek Olšák <[email protected]>
* mesa/st: support lowering user-clip-planes automaticallyErik Faye-Lund2019-10-173-0/+3
| | | | Reviewed-by: Marek Olšák <[email protected]>
* nir: support feeding state to nir_lower_clip_[vg]sErik Faye-Lund2019-10-172-4/+5
| | | | Reviewed-by: Marek Olšák <[email protected]>
* nir: support lowering clipdist to arraysErik Faye-Lund2019-10-172-5/+8
| | | | | | | | This allows us to make sure clipdist is emitted as a scalar array rather than two vec4s. This matches SPIR-V semantics, and will be useful for Zink. Reviewed-by: Marek Olšák <[email protected]>
* mesa/gallium: automatically lower two-sided lightingErik Faye-Lund2019-10-173-0/+3
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa/gallium: automatically lower point-sizeErik Faye-Lund2019-10-173-0/+4
| | | | Reviewed-by: Marek Olšák <[email protected]>
* mesa/gallium: automatically lower alpha-testingErik Faye-Lund2019-10-173-0/+3
| | | | Reviewed-by: Marek Olšák <[email protected]>
* nir: allow passing alpha-ref state to lowering-codeErik Faye-Lund2019-10-172-2/+4
| | | | Reviewed-by: Marek Olšák <[email protected]>
* gallium: add flatshade lowering capabilityDave Airlie2019-10-173-0/+5
| | | | | | | This allows the driver to request flatshade lowering. (NIR drivers only so far). Reviewed-by: Marek Olšák <[email protected]>
* gallium/u_blitter: set a more sane viewport-stateErik Faye-Lund2019-10-171-6/+5
| | | | | | | This actually corresponds to legal GL depth-ranges, because depth-clear values are always in the 0..1 range in OpenGL. Reviewed-by: Marek Olšák <[email protected]>
* lima: Fix crash when there are no vertex shader attributesAndreas Baierl2019-10-161-3/+3
| | | | | Signed-off-by: Andreas Baierl <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]>
* lima: Fix compiler warning in standalone compilerAndreas Baierl2019-10-161-1/+1
| | | | | | | 'struct lima_context' has to be declared before usage in lima_program.h Signed-off-by: Andreas Baierl <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]>
* pan/midgard: Allow COMPUTE jobs in panfrost_bo_access_for_stageAlyssa Rosenzweig2019-10-161-1/+7
| | | | | Fixes: ada752afe40 ("panfrost: Extend the panfrost_batch_add_bo() API to pass access flags") Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Disable frame throttlingAlyssa Rosenzweig2019-10-161-0/+3
| | | | | | | | | | | | | | The new frame throttling implemention interacts unfortunately with pipelining, leading to fence fds leaking like crazy and ultimately apps crashing quickly. With this patch, apps still crash but not as quickly. We need to either figure out the real cause or revert the core changes. Nevertheless, we don't want frame throttling in the first place, so. Fixes: a65e29ccb26 ("gallium: simplify throttle implementation") Signed-off-by: Alyssa Rosenzweig <[email protected]>
* radeonsi/nir: simplify si_lower_nir signatureMarek Olšák2019-10-154-17/+17
| | | | just a cleanup
* iris: finish aux import on get_paramJames Xiong2019-10-151-1/+5
| | | | | | | | | | | | A buffer and its aux are imported separately, if the aux import is not completed yet when resource_get_param is called, merge the separate aux a.k.a the 2nd image into the main image. Fixes: 246eebba4a8 ("iris: Export and import surfaces with modifiers that have aux data") Signed-off-by: James Xiong <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* etnaviv: remove variable from global namespaceLionel Landwerlin2019-10-151-1/+1
| | | | | | | | | Found out by accident this was clashing with another driver. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Cc: <[email protected]>
* gallium/xlib: Fix xmesa drawable creationAdam Jackson2019-10-151-6/+2
| | | | | | | | | | | | | | The first time you call glXMakeCurrent, current != ctx. As a result we would never look up whether the drawable already had an XMesaDrawable, and would instead always create one. Then XMesaBufferList would have two different buffers for the same XID, and you'd be reading and drawing to different places, and that's not what you want at all. Instead just always look up the drawable. Fixes: db8be355 (gallium/xlib: Remove drawable caching from the MakeCurrent path) Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1196 Reviewed-by: Michel Dänzer <[email protected]>
* v3d: drop unused shader_rec_count member from contextIago Toral2019-10-152-3/+0
| | | | | | | Looks like this was copied from the vc4 driver where it is actually included in the submit CL ioctl. Reviewed-by: Eric Anholt <[email protected]>
* freedreno/ir3: remove input ncomp fieldJonathan Marek2019-10-142-2/+2
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* etnaviv: fix vertex buffer state emission for single stream GPUsLucas Stach2019-10-141-1/+1
| | | | | | | | | GPUs with a single supported vertex stream must use the single state address to program the stream. Fixes: 3d09bb390a39 (etnaviv: GC7000: State changes for HALTI3..5) Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Jonathan Marek <[email protected]>
* gallivm/draw/swr: make the gs_iface not depend on tgsi.Dave Airlie2019-10-154-80/+83
| | | | | | | | | | | | | This gs_iface doesn't seem to require a dependence on the tgsi context, except for the swr end prim code. This refactors the API to include all the info that the swr code needs in the interface rather than having to dig it out of the struct inheritance. This is a precursor to adding NIR support to llvmpipe. Reviewed-by: Jan Zielinski <[email protected]>
* iris: Implement the Gen < 9 tessellation quads workaroundKenneth Graunke2019-10-141-0/+3
| | | | | | | | Fixes several CTS tests: - KHR-GL46.tessellation_shader.vertex.vertex_spacing - KHR-GL46.tessellation_shader.tessellation_shader_point_mode.points_verification Fixes: 823609b1a39 ("iris/WIP: add broadwell support")
* gallium: rename PIPE_CAP_MAX_FRAMES_IN_FLIGHT to PIPE_CAP_THROTTLEJames Xiong2019-10-147-9/+7
| | | | | | | | | v2: [ Michel Dänzer ] * Update src/gallium/docs/source/screen.rst accordingly Signed-off-by: James Xiong <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> # v1 Reviewed-by: Marek Olšák <[email protected]> # v1
* gallium: simplify throttle implementationJames Xiong2019-10-144-110/+13
| | | | | | | | | | | All gallium drivers currently set MAX_FRAME_IN_FLIGHT to either 1 or 0, which means that the drivers either throttle on the previous render or don't throttle, the current implementation is more complicated than necessary and can be simplified. Signed-off-by: James Xiong <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* panfrost: Fix support for packed 24-bit formatsBoris Brezillon2019-10-131-1/+1
| | | | | | | | | pan_pack_color() color was missing the 24-bit packed format case. Looks like putting the clear color in a 32-bit slot does the trick. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* etnaviv: rework etna_resource_create tiling choiceJonathan Marek2019-10-111-40/+26
| | | | | | | | | | Now that the base resource is allowed to be incompatible with PE, we can make a smarter choice of tiling mode to avoid allocating a PE compatible base that is never used for regular textures. This affects GPUs like GC2000 where there is no tiling compatible with both PE and TE. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: rework compatible render baseJonathan Marek2019-10-117-58/+64
| | | | | | | | For PE-incompatible layouts, use a mechanism similar to what texture does to create a compatible base resource. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: get addressing mode from tiling layoutJonathan Marek2019-10-115-24/+8
| | | | | | | | Remove the "addressing_mode" state, which is currently set incorrectly, and instead deduce the addressing mode from the tiling layout. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: clear texture cache and flush ts when texture is modifiedJonathan Marek2019-10-113-29/+53
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
* etnaviv: output the same shader-db format as freedreno, v3d and intelChristian Gmeiner2019-10-111-6/+3
| | | | | | | This lets us reuse their report.py. Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Jonathan Marek <[email protected]>