Marek Olšák
d28e208213
radeonsi: don't emit redundant PKT3_NUM_INSTANCES packets
...
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2019-01-02 15:01:50 -05:00
Nicolai Hähnle
e2b9329f17
radeonsi: move remaining perfcounter code into si_perfcounter.c
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2018-12-19 12:01:57 +01:00
Nicolai Hähnle
5c841a1b1e
radeonsi: rename SI_RESOURCE_FLAG_FORCE_TILING to clarify its purpose
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2018-12-19 12:01:39 +01:00
Marek Olšák
075fd5d8f2
radeonsi: add memory management stress tests for GDS
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2018-11-28 20:20:27 -05:00
Marek Olšák
d7a4fa91f0
radeonsi: allow si_cp_dma_clear_buffer to clear GDS from any IB
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2018-11-28 20:20:27 -05:00
Marek Olšák
9dc776f3f2
radeonsi: don't set the CB clear color registers for 0/1 clear colors on Raven2
...
and add has_dcc_constant_encode.
2018-11-09 14:55:04 -05:00
Marek Olšák
99835fff08
radeonsi/gfx9: set optimal OVERWRITE_COMBINER_WATERMARK
2018-10-30 16:03:02 -04:00
Marek Olšák
77bcbe712e
radeonsi: clamp point size to the limit
...
This fixes dEQP-GLES2.functional.rasterization.limits.points.
Broken by: ea039f789d
Tested-by: Jakob Bornecrantz <jakob@collabora.com>
2018-10-18 16:08:56 -04:00
Marek Olšák
fcc70e4855
radeonsi: track context rolls better for the Vega scissor bug workaround
...
We should get fewer context rolls with the SET_CONTEXT_REG optimization,
but it would have been for nothing if the scissor state rolled the context
anyway. Don't emit the scissor state if there is no context roll.
2018-10-16 17:23:25 -04:00
Marek Olšák
9b331e462e
radeonsi: use compute shaders for clear_buffer & copy_buffer
...
Fast color clears should be much faster. Also, fast color clears on
evicted buffers should be 200x faster on GFX8 and older.
2018-10-16 17:23:25 -04:00
Marek Olšák
ea039f789d
radeonsi: use higher subpixel precision (QUANT_MODE) for smaller viewports
2018-10-16 15:28:22 -04:00
Marek Olšák
41a6c3de1f
radeonsi: don't re-upload the sample position constant buffer repeatedly
2018-10-16 15:28:22 -04:00
Marek Olšák
fedc1fda30
radeonsi: save raster config in screen, add se_tile_repeat
2018-10-16 15:28:22 -04:00
Marek Olšák
67f02cf810
radeonsi: add GDS support to CP DMA
2018-10-16 15:28:22 -04:00
Marek Olšák
0d05581578
radeonsi: rename si_gfx_* functions to si_cp_*
...
and write_event_eop -> release_mem
2018-10-16 15:28:22 -04:00
Marek Olšák
6e1cf6532d
radeonsi: make si_gfx_write_event_eop more configurable
2018-10-16 15:28:22 -04:00
Marek Olšák
203ef19f48
radeonsi: split si_copy_buffer
...
compute and SDMA will be added into it.
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-09-10 15:19:56 -04:00
Marek Olšák
1119fe5c25
radeonsi: merge SI and CI dma_clear_buffer and remove the callback
...
also use assertions for the requirements that offset and size are a multiple
of 4.
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-09-10 15:19:56 -04:00
Marek Olšák
93b8b987d0
radeonsi: add a thorough clear/copy_buffer benchmark
2018-08-29 15:31:42 -04:00
Marek Olšák
5914f5bd4a
radeonsi: let internal compute dispatches tune WAVES_PER_SH
2018-08-29 15:31:42 -04:00
Marek Olšák
c5442c1165
radeonsi: add TGSI_SEMANTIC_CS_USER_DATA for reading up to 4 SGPRs with TGSI
2018-08-29 15:31:42 -04:00
Marek Olšák
c359880d8b
radeonsi: add SI_QUERY_TIME_ELAPSED_SDMA for measuring SDMA performance
2018-08-29 15:31:42 -04:00
Marek Olšák
0c5429cc73
radeonsi: add flag L2_STREAM for minimal cache usage
2018-08-29 15:31:41 -04:00
Marek Olšák
df50099834
radeonsi: use radeon_info::name
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-08-14 21:20:31 -04:00
Marek Olšák
de8d5edbc4
radeonsi: split si_clear_buffer to remove enum si_method
...
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2018-08-14 21:21:12 -04:00
Marek Olšák
4de92f2abb
radeonsi: replace CP_DMA_USE_L2 with enum si_cache_policy
...
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2018-08-14 21:21:10 -04:00
Marek Olšák
ac72a6bd0b
radeonsi: move internal TGSI shaders into si_shaderlib_tgsi.c
...
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2018-08-14 21:20:31 -04:00
Marek Olšák
0ca8294ece
radeonsi: implement EXT_window_rectangles
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2018-08-14 21:19:02 -04:00
Marek Olšák
4bad50ded9
radeonsi: cosmetic changes
2018-08-04 03:10:30 -04:00
Darren Powell
726a48c94f
radeonsi: add new R600_DEBUG test "testclearbufperf"
...
Signed-off-by: Darren Powell <darren.powell@amd.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
2018-08-02 16:09:22 -04:00
Marek Olšák
20dd75a926
radeonsi: use storage_samples instead of color_samples in most places
...
and use pipe_resource::nr_storage_samples instead of
r600_texture::num_color_samples.
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-07-31 18:28:41 -04:00
Tom Stellard
0866edede0
radeonsi: Add debug option to enable LLVM GlobalISel (v2)
...
R600_DEBUG=gisel will tell LLVM to use GlobalISel rather than
SelectionDAG for instruction selection.
v2: mareko: move the helper to src/amd/common
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Tom Stellard <tstellar@redhat.com>
2018-07-23 20:23:48 -04:00
Dave Airlie
0eb65b4944
radeonsi: rename si_compiler -> ac_llvm_compiler
...
As precursor to moving init to common code, just rename the struct
and move it.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2018-07-04 05:31:32 +10:00
Marek Olšák
bd963f8430
radeonsi: rename r600_transfer -> si_transfer
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-06-25 18:33:58 -04:00
Marek Olšák
d4755ef389
radeonsi: remove redundant si_texture::cmask_size
...
cmask_buffer and surface.cmask_size can replace its role.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-06-25 18:33:58 -04:00
Marek Olšák
2a8d1039b6
radeonsi: inline struct r600_cmask_info
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-06-25 18:33:58 -04:00
Marek Olšák
166250f4e5
radeonsi: move CMASK size computation into ac_surface
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-06-25 18:33:58 -04:00
Marek Olšák
2d64a68c6f
radeonsi: rename r600_surface -> si_surface
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-06-25 18:33:58 -04:00
Marek Olšák
218e133695
radeonsi: rename r600_memory_object -> si_memory_object
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-06-25 18:33:58 -04:00
Marek Olšák
e5df04f13d
radeonsi: remove unused r600_memory_object::offset
...
The real offset is passed through resource_from_memobj.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-06-25 18:33:58 -04:00
Marek Olšák
7bd40dc2f2
radeonsi: clean up some #includes
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
2018-06-25 18:33:58 -04:00
Grazvydas Ignotas
f966929805
radeonsi: add a debug flag to zero vram allocations
...
This allows to avoid having to see garbage in Dying Light loading screen
at least, which probably expects Windows/NV behavior of all allocations
being zeroed by default.
Analogous to radv flag with the same name.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2018-06-21 12:18:50 +03:00
Marek Olšák
1ba87f4438
radeonsi: rename r600_texture -> si_texture, rxxx -> xxx or sxxx
...
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2018-06-19 13:08:50 -04:00
Marek Olšák
6703fec58c
amd,radeonsi: rename radeon_winsys_cs -> radeon_cmdbuf
...
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2018-06-19 13:08:50 -04:00
Marek Olšák
dfeb61c5cf
radeonsi: ignore PIPE_RESOURCE_FLAG_MAP_COHERENT
...
We treat coherent and non-coherent buffers the same.
And move external_usage for better packing.
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-06-19 12:52:28 -04:00
Marek Olšák
f3b3ee6974
radeonsi: micro-optimize prim checking and fix guardband with lines+adjacency
...
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-06-13 22:00:34 -04:00
Marek Olšák
73b0d10152
radeonsi: don't set VGT_LS_HS_CONFIG if it doesn't change
...
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-06-13 22:00:25 -04:00
Marek Olšák
28ee825e19
radeonsi: move VGT_GS_OUT_PRIM_TYPE into si_shader_gs
...
same as amdvlk.
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-06-13 22:00:23 -04:00
Sonny Jiang
43b0269ce3
radeonsi: emit_db_render_state packets optimization
...
Remembering latest states of registers to eliminate redunant SET_CONTEXT_REG packets
Signed-off-by: Sonny Jiang <sonny.jiang@amd.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
2018-06-07 23:26:25 -04:00
Timothy Arceri
03c370d2f1
radeonsi: fix possible truncation on renderer string
...
Fixes truncation warning in gcc 8.1
Fixes: 8539c9bf31
("gallium/radeon: add the kernel version into the renderer string")
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2018-06-08 10:07:55 +10:00