Kenneth Graunke
b6fe25c7f5
intel/compiler: Handle bits 15:12 in brw_send_indirect_split_message()
...
Annoyingly, these bits exist in some extended message descriptors
(in particular render target writes), but they don't have any
corresponding bits in the ISA encoding. So we can't use an immediate
and have to fall back to an indirect extended descriptor.
Thanks to Jason Ekstrand for reminding me that you can still set these
bits via an indirect descriptor, even if they don't exist in the ISA.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
2019-08-27 14:20:07 -07:00
Kenneth Graunke
c8c9c48684
intel/compiler: Fix src0/desc setter ordering
...
src0 vstride and type overlap with bits of the extended descriptor.
brw_set_desc() also sets the extended descriptor to 0. So by setting
the descriptor, then setting src0, we were accidentally setting a bunch
of extended descriptor bits unintentionally.
When using this infrastructure for framebuffer writes (in a future
patch), this ended up setting the extended descriptor bit 20, which is
"Null Render Target" on Icelake, causing nothing to be written to the
framebuffer.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
2019-08-27 14:20:07 -07:00
Marek Olšák
360cf3c4b0
radeonsi: fix scratch buffer WAVESIZE setting leading to corruption
...
Cc: 19.2 19.1 <mesa-stable@lists.freedesktop.org >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:52:32 -04:00
Marek Olšák
f95a28d361
radeonsi: unbind blend/DSA/rasterizer state correctly in delete functions
...
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111414
Fixes: b758eed9c3 ("radeonsi: make sure that blend state != NULL and remove all NULL checking")
Cc: 19.2 <mesa-stable@lists.freedesktop.org >
Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:52:30 -04:00
Marek Olšák
40e5ac45ae
radeonsi: align scratch and ring buffer allocations for faster memory access
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:52:28 -04:00
Marek Olšák
d8f27552f4
radeonsi: consolidate determining VGPR_COMP_CNT for API VS
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
4dde40908f
radeonsi/gfx10: set PA_CL_VS_OUT_CNTL with CONTEXT_REG_RMW to fix edge flags
...
We need two different values of the register, one for NGG and one for
legacy, in order to fix edge flags for the legacy pipeline.
Passing the ngg flag to emit_clip_regs would be too complicated,
so CONTEXT_REG_RMW is used for partial register updates.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
1426acf9e7
radeonsi/gfx10: remove incorrect ngg/pos_writes_edgeflag variables
...
It varies depending on si_shader_key::as_ngg.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
2e94cb6693
radeonsi: add PKT3_CONTEXT_REG_RMW
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
d9a453c747
winsys/amdgpu+radeon: process AMD_DEBUG in addition to R600_DEBUG
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
467df4b90a
radeonsi/gfx10: add AMD_DEBUG=nongg
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
6229b5a058
radeonsi/gfx10: finish up Navi14, add PCI ID
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
73bde2b029
radeonsi/gfx10: always use the legacy pipeline for streamout
...
The best way to prevent GDS hangs is not to use GDS.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
f251fd7bf5
radeonsi/gfx10: don't initialize VGT_INSTANCE_STEP_RATE_0
...
Only gfx9 and older use it to get InstanceID in VGPR1.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
28f44ee533
radeonsi/gfx10: fix InstanceID for legacy VS+GS
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
e121d75de9
radeonsi/gfx10: add as_ngg variant for VS as ES to select Wave32/64
...
Legacy GS only works with Wave64.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
f34d023f1a
radeonsi/gfx10: create the GS copy shader if using legacy streamout
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
776f05a307
radeonsi/gfx10: fix the PRIMITIVES_GENERATED query if using legacy streamout
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
cab5b3861d
radeonsi/gfx10: fix tessellation for the legacy pipeline
...
ported from PAL
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
a9bb566955
radeonsi: move some global shader cache flags to per-binary flags
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Marek Olšák
810846e157
radeonsi/gfx10: fix the legacy pipeline by storing as_ngg in the shader cache
...
It could load an NGG shader when we want a legacy shader and vice versa.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2019-08-27 16:16:08 -04:00
Kenneth Graunke
6342d43ae9
iris: Delete dead prototype
2019-08-27 13:15:02 -07:00
Boris Brezillon
2734a4951e
Revert "panfrost: Free all block/instruction objects before leaving midgard_compile_shader_nir()"
...
This reverts commit 5882e0def9 .
This commit causes a segfault.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
2019-08-27 20:07:28 +02:00
Boris Brezillon
0142dcb990
panfrost: Make sure bundle.instructions[] contains valid instructions
...
Add an assert() in schedule_bundle() to make sure all instruction
pointers in bundle.instructions[] are valid.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
2019-08-27 16:50:52 +02:00
Boris Brezillon
5882e0def9
panfrost: Free all block/instruction objects before leaving midgard_compile_shader_nir()
...
Right now we're leaking all block and instruction objects allocated by
the compiler. Let's clean things up before leaving
midgard_compile_shader_nir().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
2019-08-27 16:50:52 +02:00
Boris Brezillon
3ac49f135a
panfrost: Free the instruction object in mir_remove_instruction()
...
To avoid memory leaks.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
2019-08-27 16:50:52 +02:00
Eric Engestrom
239f7f1c0a
scons: add support for MAJOR_IN_{MKDEV,SYSMACROS}
...
src/gallium/winsys/svga/drm/vmw_screen.c: In function ‘vmw_dev_compare’:
src/gallium/winsys/svga/drm/vmw_screen.c:48:12: warning: implicit declaration of function ‘major’ [-Wimplicit-function-declaration]
48 | return (major(*(dev_t *)key1) == major(*(dev_t *)key2) &&
| ^~~~~
src/gallium/winsys/svga/drm/vmw_screen.c:49:12: warning: implicit declaration of function ‘minor’ [-Wimplicit-function-declaration]
49 | minor(*(dev_t *)key1) == minor(*(dev_t *)key2)) ? 0 : 1;
| ^~~~~
That file (and many others) already has the proper #include with their
respective guards, but scons wasn't defining them, resulting in implicit
functions being used instead (and an always-true check that's probably
breaking something down the line).
Note that I'm cheating a bit here because Scons doesn't seem to have
a clean way to detect the existence of major() et al. as functions or
macros, so I'm taking the shortcut of just detecting the presence of the
header and assuming its contents is what we expect.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-By: Jose Fonseca <jfonseca@vmware.com >
2019-08-27 14:03:46 +01:00
Samuel Pitoiset
49f5ddd3ae
radv: make use of has_ls_vgpr_init_bug
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
2019-08-27 08:04:51 +02:00
Samuel Pitoiset
fd54fc85aa
ac: add has_ls_vgpr_init_bug to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:47 +02:00
Samuel Pitoiset
1bf2572dff
ac: add has_msaa_sample_loc_bug to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:44 +02:00
Samuel Pitoiset
021feb1bf6
ac: add rbplus_allowed to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:41 +02:00
Samuel Pitoiset
20c5db02b5
ac: add has_tc_compat_zrange_bug to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:36 +02:00
Samuel Pitoiset
b55919cf2a
ac: add has_gfx9_scissor_bug to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:32 +02:00
Samuel Pitoiset
2b9c371575
ac: add cpdma_prefetch_writes_memory to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:29 +02:00
Samuel Pitoiset
b027ad66d7
ac: add has_out_of_order_rast to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:26 +02:00
Samuel Pitoiset
ed720af46d
ac: add has_load_ctx_reg_pkt to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:22 +02:00
Samuel Pitoiset
63c0b89b8f
ac: add has_rbplus to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:19 +02:00
Samuel Pitoiset
44a46c09de
ac: add has_dcc_constant_encode to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:16 +02:00
Samuel Pitoiset
c08401f035
ac: add has_distributed_tess to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:11 +02:00
Samuel Pitoiset
d62d2840c4
ac: add has_clear_state to ac_gpu_info
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:05 +02:00
Samuel Pitoiset
af65f9431e
ac: drop llvm8 from some load/store helpers
...
Cleanup.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
2019-08-27 08:04:00 +02:00
Dave Airlie
e6eb444554
gallivm: fix appveyor build after images changes
2019-08-27 13:36:03 +10:00
Dave Airlie
c501c2cef6
docs: add shader image extensions for llvmpipe
...
v1.1: fix typo in llvmpipe name (ajax)
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
2019-08-27 12:30:25 +10:00
Dave Airlie
b7468f7831
llvmpipe: enable ARB_shader_image_load_store
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
2019-08-27 12:30:22 +10:00
Dave Airlie
6c2fa01b9c
llvmpipe: flush on api memorybarrier.
...
Until we have somewhere we can do better, just hit it with a hammer.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
2019-08-27 12:30:16 +10:00
Dave Airlie
b9bf236c71
gallivm: add memory barrier support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
2019-08-27 12:30:13 +10:00
Dave Airlie
abfb633968
gallivm: add support for fences api on older llvm
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
2019-08-27 12:30:10 +10:00
Dave Airlie
8b7295f281
llvmpipe: bind vertex/geometry shader images
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
2019-08-27 12:30:06 +10:00
Dave Airlie
2909c654b0
llvmpipe: add fragment shader image support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
2019-08-27 12:30:04 +10:00
Dave Airlie
dc2357070c
draw: add vs/gs images support
...
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
2019-08-27 12:30:01 +10:00