Icecream95
c417172751
panfrost: Enable framebuffer fetch
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Alyssa Rosenzweig
b9869e0e5e
panfrost: Generate shader variants on framebuffer bind
...
If we keyed the shader for the framebuffer.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
d16d136734
panfrost: Stop keying on rt format when using native loads
...
Native loads are the same for any format, so we can use the same
shader variant for all framebuffer formats with a native load.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
391ad72812
panfrost: Implement texture_barrier
...
This is needed for KHR_blend_equation_advanced with a blend
barrier.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:11 +00:00
Icecream95
1e1eee992e
pan/mdg: Do the pan_lower_framebuffer pass later
...
The pass is useful for EXT_shader_framebuffer_fetch, not just blend
shaders, so we should do it with the other lowering passes in
midgard_compile_shader_nir.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
e603248e07
panfrost: Add a bitset of render targets read by shaders
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
75018f6495
panfrost: Add rt formats to shader state
...
load_output lowering will depend on the framebuffer formats.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Alyssa Rosenzweig
b29027f9dc
panfrost: Clamp pure int pixels
...
We need saturate, not wrap semantic. Could optimize to a .isat/.usat
modifier but that's for future.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Icecream95
4141d26ee1
panfrost: Fix MALI_READS_TILEBUFFER
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5755 >
2020-07-13 13:35:10 +00:00
Dave Airlie
59b4c623c9
nouveau: avoid LTO ODR warning (v2)
...
../src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp:69:8: warning: type ‘struct opProperties’ violates the C++ One Definition Rule [-Wodr]
69 | struct opProperties
| ^
../src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp:88:8: note: a different type is defined in another translation unit
88 | struct opProperties
| ^
../src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp:77:17: note: the first difference of corresponding definitions is field ‘fShared’
77 | unsigned int fShared : 3;
| ^
../src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp:96:17: note: a field with different name is defined in another translation unit
96 | unsigned int fImmd : 4; // last bit indicates if full immediate is suppoted
nvc0 code also has the same thing.
v2: rename both paths (Karol)
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5873 >
2020-07-13 12:17:21 +10:00
Karol Herbst
ac002b15d3
nvc0: set sampler index mode to independently on gv100 compute
...
We don't use linked texture/samplers. Fixes a bunch of CTS issues which
also seem to fail a bit randomly depending on what tests ran before and
such, so the list is incomplete.
Fixes:
KHR-GL46.texture_gather.*
KHR-GL46.compute_shader.resource-texture
KHR-GL46.multi_bind.dispatch_bind_samplers
KHR-GL46.multi_bind.dispatch_bind_textures
KHR-GL46.shading_language_420pack.binding_sampler_array
KHR-GL46.shading_language_420pack.binding_sampler_single
KHR-GL46.shading_language_420pack.binding_samplers
KHR-GL46.stencil_texturing.functional
KHR-GL46.texture_gather.incomplete-texture-last-comp
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5874 >
2020-07-13 03:26:46 +02:00
Karol Herbst
e086f64d39
nvc0: set local mem size for compute on gv100
...
This is required when the shader uses local memory for arrays or spills.
I really dislike how it's done right now, but oh well, it's the same for
other gens.
Fixes CTS tests:
KHR-GL46.shading_language_420pack.binding_image_array
KHR-GL46.shading_language_420pack.length_of_compute_result
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5840 >
2020-07-11 19:57:18 +00:00
Jonathan Marek
248fbe1567
freedreno: fix layout pitchalign field not being set for imported buffers
...
The pitchalign value was being left to 0 and then wrapping around when
the base offset was subtracted in texture state.
Fixes: 979e7e3680 ("freedreno/layout: layout simplifications and pitch from level 0 pitch")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5864 >
2020-07-11 13:53:13 -04:00
Dave Airlie
05e23cb23d
llvmpipe/cs: fix image/sampler binding for compute
...
The compute shader dirtying is a bit wrong here, since we don't
have a second stage like for fragment shaders, so dirty the compute
shader whenever a sampler or image changes, (ssbo/contexts don't
needs this).
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5835 >
2020-07-10 22:04:27 +00:00
Dave Airlie
54232bee06
llvmpipe: flush resources on sampler view binding
...
The resource may have been written to as images previously.
KHR-GL45.shader_image_load_store.advanced-sync-imageAccess2
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5835 >
2020-07-10 22:04:27 +00:00
Dave Airlie
7582f4a49c
llvmpipe: denote NEW fs when images change.
...
The fragment shader needs to be regenerated here,
so flag the same as for sampler views.
This causes correct flushing:
KHR-GL46.shader_image_load_store.non-layered_binding
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5835 >
2020-07-10 22:04:27 +00:00
Karol Herbst
033e933348
nv50/ir/tgsi: move call to tgsi_scan_shader inside Source constructor
...
We actually need it there already, we just missed to move it.
Fixes: 66ed9792ed ("nv50: Clear nv50_ir_prog_info of dead and codegen specific variables")
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5849 >
2020-07-10 21:52:40 +00:00
Lionel Landwerlin
e3ddba7324
iris: fix fallback to swrast driver
...
The helper we use to query the kernel returns -1 if the getparam is
not supported.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: f402b7c576 ("iris: fail screen creation when kernel support is not there")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3188
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5838 >
2020-07-10 17:40:21 +00:00
mmenzyns
66ed9792ed
nv50: Clear nv50_ir_prog_info of dead and codegen specific variables
...
These variables are either not used in the code, only assigned but
never accessed, or only used inside codegen. Another reason is that this
patch will be preceding shader cache, and these variables are useless to
cache. Removing/moving them should make it clearer by removing the case something
from the structure is not cached.
Shader cache patch: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4264
Signed-off-by: Mark Menzynski <mmenzyns@redhat.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5697 >
2020-07-10 10:17:59 +00:00
Timothy Arceri
81317e2c14
lima: add missing break
...
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5799 >
2020-07-10 00:32:51 +00:00
Timothy Arceri
38218ab7e2
lima: add missing fallthrough comments
...
Reviewed-by: Erico Nunes <nunes.erico@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5799 >
2020-07-10 00:32:51 +00:00
Timothy Arceri
745aeba623
etnaviv: add missing fallthrough comments
...
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5799 >
2020-07-10 00:32:51 +00:00
Jordan Justen
44b1f9c6ff
iris: Add missing break in switch in modifier_is_supported
...
The current fall-through doesn't cause a difference in code flow, but
I think we want a break here.
Fixes: 2305ab6938 ("iris: Refactor modifier_is_supported for gen12")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5618 >
2020-07-09 17:20:14 -07:00
Alyssa Rosenzweig
b3fdd77385
panfrost: Report blend shader work count
...
This was going uninitialized, whoops!
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:49:13 -04:00
Alyssa Rosenzweig
5247d67302
panfrost: Move panfrost_translate_texture_type
...
We need it in pan_job.c
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:49:13 -04:00
Alyssa Rosenzweig
1fdeef5e4a
panfrost: Move scoreboarding routines to common
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:03:08 -04:00
Alyssa Rosenzweig
7ec6ee4057
panfrost: Drop batch from scoreboard routines
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:03:08 -04:00
Alyssa Rosenzweig
fa722887da
panfrost: Pass polygon_list to tiler init function
...
So it doesn't need to allocate it by itself.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:03:08 -04:00
Alyssa Rosenzweig
31197c2c1b
panfrost: Factor out scoreboarding state
...
This is not Gallium-specific, so take it out of the batch.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5827 >
2020-07-09 12:03:08 -04:00
Alyssa Rosenzweig
c8d848b278
panfrost: Move pool routines to common code
...
We finally have it decoupled from Galliumisms (and OpenGLisms, indeed)
so we can share the file.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
1d88f07820
panfrost: Drop Gallium-local pan_bo_create wrapper
...
We can handle pandecode in shared code now, which will matter for
tracing non-Gallium drivers.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
ed1910dc68
panfrost: Move debug flags into the device
...
Removes random global state flying about which doesn't really work for
common code. We cleanup some debug messages while we're at it because
the mostly-unused DBG macro relies on magic state.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
8958fbd29e
panfrost: Expose pool-based allocation API
...
Pass pools instead of batches, and rename in terms of pools instead of
transient memory for consistency while we're find-and-replacing.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
34e0954f1d
panfrost: Track the device through the pool
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
6ef7c05746
panfrost: Allocate pool BOs against the pool
...
Instead of against the owning batch, to decouple.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Alyssa Rosenzweig
8882d6aad6
panfrost: Introduce pan_pool struct
...
As a first step towards separating pools from batches, let's collect
pool-related state together.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5794 >
2020-07-09 14:54:38 +00:00
Karol Herbst
02a57896f6
nv50/ir: fix memset on non trivial types warning
...
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Rhys Kidd <rhyskidd@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819 >
2020-07-09 12:11:02 +10:00
Timothy Arceri
8f6d66d509
zink: fix missing fallthrough comment
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819 >
2020-07-09 12:08:47 +10:00
Timothy Arceri
20dff7dc6b
v3d: remove redefine of VG(x)
...
Instead just depend on the one in v3d_packet_helpers.h
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819 >
2020-07-09 12:08:19 +10:00
Timothy Arceri
03a5b3f6d5
freedreno: fix missing fallthrough comments
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5819 >
2020-07-09 12:07:37 +10:00
Jonathan Marek
979e7e3680
freedreno/layout: layout simplifications and pitch from level 0 pitch
...
This updates a3xx/a4xx/a5xx to fix the fetchsize to "PITCHALIGN" (called
"MINLINEOFFSET" by the a3xx docs), and some simplifications to make things
more like a6xx. Also similar simplifications for a2xx layout code.
The pitch can always be determined using a simple calculation from the base
level pitch, so don't pre-calculate a pitch for each mipmap level.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796 >
2020-07-08 20:46:08 +00:00
Jonathan Marek
4b290b759a
freedreno: add a fd_resource_pitch helper
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796 >
2020-07-08 20:46:08 +00:00
Jonathan Marek
344e764b01
freedreno/a2xx: fix compressed textures
...
Two problems:
* Multiply has higher priority than shift
* rsc->layout.format isn't initialized for a2xx
Fixes: 5a8718f01b ("freedreno: Make the slice pitch be bytes, not pixels.")
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5796 >
2020-07-08 20:46:08 +00:00
Mike Blumenkrantz
0ca7bd73c6
zink: translate gl_FragColor to gl_FragData before ntv to fix multi-rt output
...
according to EXT_multiview_draw_buffers, gl_FragColor outputs to all available
render targets when used, so we need to translate this to gl_FragData[PIPE_MAX_COLOR_BUFS]
in order to correctly handle more than one color buffer attachment
this fixes the rest of spec@arb_framebuffer_object tests in piglit
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5687 >
2020-07-08 14:51:34 +00:00
Erik Faye-Lund
44da0f067c
zink: expose depth-clip if supported
...
We already set up the state as needed, so it should only be a matter of
exposing it.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5495 >
2020-07-08 14:43:02 +00:00
Timothy Arceri
7ccf258063
nouveau/nvc0: silence maybe-uninitialized warning
...
gcc is not smart enough to see that
enum pipe_format dst_fmt;
...
switch (data_size) {
case 16:
dst_fmt = PIPE_FORMAT_R32G32B32A32_UINT;
...
break;
case 12:
/* RGB32 is not a valid RT format. This will be handled by the pushbuf
* uploader.
*/
break;
case 8:
dst_fmt = PIPE_FORMAT_R32G32_UINT;
...
break;
case 4:
dst_fmt = PIPE_FORMAT_R32_UINT;
...
break;
case 2:
dst_fmt = PIPE_FORMAT_R16_UINT;
...
break;
case 1:
dst_fmt = PIPE_FORMAT_R8_UINT;
break;
default:
assert(!"Unsupported element size");
return;
}
...
if (data_size == 12) {
...
return;
}
Does not result in dst_fmt being uninitialized when it is used so
lets just initialise it to silence the warning.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
6bec54dd3e
iris: silence maybe-uninitialized for stc_dst_aux_usage variable
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
01c04a42a6
iris: fix maybe-uninitialized warning for initial_state variable
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
bba766d85d
radeonsi: fix SI_NUM_ATOMS
...
This is not used anywhere so maybe we should just drop it instead.
Fixes: 639b673fc3 ("radeonsi: don't use an indirect table for state atoms")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00
Timothy Arceri
4686a95621
r600/radeonsi: silence zero-length-bounds gcc warnings
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766 >
2020-07-08 03:04:03 +00:00