aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_blit.c
Commit message (Collapse)AuthorAgeFilesLines
* tree-wide: replace MAYBE_UNUSED with ASSERTEDEric Engestrom2019-07-311-1/+1
| | | | | | Suggested-by: Jason Ekstrand <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* gallium: switch boolean -> bool at the interface definitionsIlia Mirkin2019-07-221-5/+5
| | | | | | | | | | | | | | | | | | This is a relatively minimal change to adjust all the gallium interfaces to use bool instead of boolean. I tried to avoid making unrelated changes inside of drivers to flip boolean -> bool to reduce the risk of regressions (the compiler will much more easily allow "dirty" values inside a char-based boolean than a C99 _Bool). This has been build-tested on amd64 with: Gallium drivers: nouveau r300 r600 radeonsi freedreno swrast etnaviv v3d vc4 i915 svga virgl swr panfrost iris lima kmsro Gallium st: mesa xa xvmc xvmc vdpau va Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]>
* radeonsi: return success from vi_dcc_clear_level to simplify callersMarek Olšák2019-07-191-10/+2
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Acked-by: Samuel Pitoiset <[email protected]>
* radeonsi: add si_shader_selector into si_computeMarek Olšák2019-07-191-2/+2
| | | | | | | | Now we can assume that shader->selector is always set. This will simplify some code. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Acked-by: Samuel Pitoiset <[email protected]>
* radeonsi/gfx10: add a workaround for stencil HTILE with mipmappingMarek Olšák2019-07-031-2/+3
| | | | Acked-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi/gfx10: implement hardware MSAA resolveNicolai Hähnle2019-07-031-0/+6
| | | | | | | | | | MSAA is only supported for 64KB_{R,Z}_X modes, so the micro tile optimization that we use on gfx9 and earlier does not work. Be very explicit about how the swizzle mode of the temporary surface is selected. Acked-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi: use a fragment shader blit instead of DB->CB copy for ZS CPU mappingsMarek Olšák2019-07-031-27/+2
| | | | | | | | | This mainly removes and simplifies code that is no longer needed. There were some issues with the DB->CB stencil copy on gfx10, so let's just use a fragment shader blit for all ZS mappings. It's more reliable. Tested-by: Dieter Nützel <[email protected]>
* ac: rename SI-CIK-VI to GFX6-GFX7-GFX8Marek Olšák2019-05-151-1/+1
| | | | | | | | | | | | Acked-by: Dave Airlie <[email protected]> We already use GFX9 and I don't want us to have confusing naming in the driver. GFXn naming is better from the driver perspective, because it's the real version of the gfx portion of the hw. Also, CIK means Bonaire-Kaveri-Kabini, it doesn't mean CI. It shouldn't confuse our SDMA, UVD, VCE etc. code much. Those have nothing to do with GFXn and they have their own version numbers.
* radeonsi: remove dirty slot masks from scissor and viewport statesMarek Olšák2019-04-251-1/+1
| | | | | | All registers in the array need to be updated if any of them is changed. Only apps writing gl_ViewportIndex were affected by this bug.
* radeonsi: add support for displayable DCC for multi-RB chipsMarek Olšák2019-04-041-0/+3
| | | | A compute shader is used to reorder DCC data from aligned to unaligned.
* radeonsi/gfx9: add support for PIPE_ALIGNED=0Marek Olšák2019-04-041-3/+4
| | | | | | Needed by displayable DCC. We need to flush L2 after rendering if PIPE_ALIGNED=0 and DCC is enabled.
* radeonsi: always use compute rings for clover on CI and newer (v2)Marek Olšák2019-02-261-4/+10
| | | | | | initialize all non-compute context functions to NULL. v2: fix SI
* radeonsi: use compute for resource_copy_region when possibleSonny Jiang2019-01-221-0/+12
| | | | | | | v2: marek: fix snorm8 blits Signed-off-by: Sonny Jiang <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* gallium/util: add util_format_snorm8_to_sint8 (from radeonsi)Marek Olšák2019-01-221-30/+2
|
* radeonsi: rename SI_RESOURCE_FLAG_FORCE_TILING to clarify its purposeNicolai Hähnle2018-12-191-1/+1
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: split si_copy_bufferMarek Olšák2018-09-101-1/+1
| | | | | | compute and SDMA will be added into it. Tested-by: Dieter Nützel <[email protected]>
* radeonsi: add a thorough clear/copy_buffer benchmarkMarek Olšák2018-08-291-1/+1
|
* radeonsi: implement EXT_window_rectanglesMarek Olšák2018-08-141-0/+4
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* radeonsi: fix memory exhaustion issue with DCC statistics gathering with DRI2Marek Olšák2018-06-281-3/+27
| | | | Cc: 18.1 <[email protected]>
* radeonsi: remove redundant si_texture::cmask_sizeMarek Olšák2018-06-251-4/+4
| | | | | | cmask_buffer and surface.cmask_size can replace its role. Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: inline struct r600_cmask_infoMarek Olšák2018-06-251-4/+4
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: rename r600_surface -> si_surfaceMarek Olšák2018-06-251-2/+2
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: handle non-clearable DCC buffers as MSAA resolve dstMarek Olšák2018-06-211-0/+5
| | | | | | | This is reproducible on Stoney, but other chips may be affected too. Cc 18.1 <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi: rename r600_texture -> si_texture, rxxx -> xxx or sxxxMarek Olšák2018-06-191-76/+76
| | | | Acked-by: Bas Nieuwenhuizen <[email protected]>
* radeonsi: disable primitive binning for all blitter opsMarek Olšák2018-05-241-0/+10
| | | | | | | same as amdvlk. Tested-by: Dieter Nützel <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: remove r600_fmask_infoMarek Olšák2018-05-101-3/+3
| | | | | | radeon_surf contains almost everything. Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: rename r600_texture::resource to bufferMarek Olšák2018-04-271-25/+25
| | | | | | r600_resource could be renamed to si_buffer. Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: inline 2 trivial state structuresMarek Olšák2018-04-271-1/+1
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: don't use an indirect table for state atomsMarek Olšák2018-04-271-6/+6
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: don't do GFX-specific texture decompression for computeMarek Olšák2018-04-131-10/+10
| | | | | Reviewed-by: Samuel Pitoiset <[email protected]> Tested-by: Dieter Nützel <[email protected]>
* radeonsi: Reorder checks in si_check_render_feedbackJan Vesely2018-04-051-3/+3
| | | | | | | | | si_get_total_colormask accesses NULL pointer on compute shaders Fixes crashes on clover Fixes: 0669dca9c00261849cee14d69fdea0a5e323c7f7 ("radeonsi: skip DCC render feedback checking if color writes are disabled") CC: Marek Olšák <[email protected]> Signed-off-by: Jan Vesely <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: remove r600_common_contextMarek Olšák2018-04-051-23/+23
| | | | Acked-by: Timothy Arceri <[email protected]>
* radeonsi: move definitions out of r600_pipe_common.hMarek Olšák2018-04-051-2/+2
| | | | Acked-by: Timothy Arceri <[email protected]>
* radeonsi: use si_context instead of pipe_context in parameters pt3Marek Olšák2018-04-051-30/+26
| | | | Acked-by: Timothy Arceri <[email protected]>
* radeonsi: update copyrightsMarek Olšák2018-04-051-0/+2
| | | | Acked-by: Timothy Arceri <[email protected]>
* radeonsi: use r600_common_context less pt4Marek Olšák2018-04-051-6/+6
| | | | Acked-by: Timothy Arceri <[email protected]>
* radeonsi: remove r600_pipe_common::blit_decompress_depthMarek Olšák2018-04-051-7/+6
| | | | Acked-by: Timothy Arceri <[email protected]>
* radeonsi: remove r600_pipe_common::decompress_dccMarek Olšák2018-04-051-3/+1
| | | | Acked-by: Timothy Arceri <[email protected]>
* radeonsi: skip DCC render feedback checking if color writes are disabledMarek Olšák2018-04-051-0/+5
|
* radeonsi: implement GL_KHR_blend_equation_advancedMarek Olšák2018-04-021-0/+8
| | | | | | | MSAA is supported using sample shading. Layered rendering and all texture targets are also supported. Tested-by: Dieter Nützel <[email protected]>
* radeonsi: don't use struct si_descriptors for vertex buffer descriptorsMarek Olšák2018-02-261-1/+1
| | | | | | VBO descriptor code will change a lot one day. Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: remove r600_common_screenMarek Olšák2017-11-291-2/+2
| | | | | | | | | | Most files in gallium/radeon now include si_pipe.h. chip_class and family are now here: sscreen->info.family sscreen->info.chip_class Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: remove some definitions and helpers from r600_pipe_common.hMarek Olšák2017-11-291-3/+3
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: move si_pipe_clear_buffer into si_cp_dma.cMarek Olšák2017-11-291-61/+0
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: move all clear() code into si_clear.cMarek Olšák2017-11-291-166/+4
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: update hack for HTILE corruption in ARK: Survival EvolvedSamuel Pitoiset2017-10-271-5/+5
| | | | | | | | | | | | It appears that flushing the DB metadata is actually not sufficient since the driver uses the new VS blit shaders. This looks quite strange though, but it seems like we need to flush DB for fixing the corruption. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102955 Fixes: 69ccb9dae7 (radeonsi: use new VS blit shaders (VS inputs in SGPRs) Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: generalize the SI_VS_SHADER_POINTER_MASK macroMarek Olšák2017-10-171-1/+1
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: import r600_streamout from drivers/radeonMarek Olšák2017-10-091-2/+2
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: enumerize DBG flagsMarek Olšák2017-10-091-1/+1
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: don't change viewport for blits, use window-space positionsMarek Olšák2017-10-071-1/+0
| | | | | | The viewport state was an identity anyway. Reviewed-by: Nicolai Hähnle <[email protected]>