Caio Marcelo de Oliveira Filho
7fb1e58651
intel/compiler: Make visitors take debug_enabled as a parameter
...
The callers already have this value, and we would like to make it
follow different rules other than stage that might not be visible to
the helper function, so just pass explicitly.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779 >
2021-03-24 23:18:46 +00:00
Caio Marcelo de Oliveira Filho
758eb18c6f
intel/compiler: Make vec4 generator take debug_enabled as a parameter
...
The callers already have this value, and we would like to make it
follow different rules other than stage that might not be visible to
the helper function, so just pass explicitly.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779 >
2021-03-24 23:18:46 +00:00
Caio Marcelo de Oliveira Filho
244d2daa00
intel/compiler: Make brw_postprocess_nir take debug_enabled as a parameter
...
The callers already have this value, and we would like to make it
follow different rules other than stage that might not be visible to
the helper function, so just pass explicitly.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779 >
2021-03-24 23:18:46 +00:00
Caio Marcelo de Oliveira Filho
82d77f0ea8
intel/compiler: Refactor the shader INTEL_DEBUG checks
...
Make the check once in a variable, that can be reused for other parts.
Also add `unlikely` to the various conditionals depending on it
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779 >
2021-03-24 23:18:46 +00:00
Caio Marcelo de Oliveira Filho
57d664245e
intel/compiler: Use a struct for brw_compile_vs parameters
...
Makes calling code more explicit about what is being set, and allows
take advantage of zero initialization for the ones the callsite don't
care.
Besides moving to the struct, two extra "ergonomic" changes were done:
- Add a new shader_time boolean, so shader_time_index is ignored when
unused -- this allow taking advantage of the zero initialization of
unset fields.
- Since we have a struct, provide space for the error_str pointer.
Both iris and i965 were using it, and the extra rstrdup in case of
failure shouldn't be a burden for the others.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779 >
2021-03-24 23:18:46 +00:00
Caio Marcelo de Oliveira Filho
f5e1765f98
intel/compiler: Use a struct for brw_compile_fs parameters
...
Makes calling code more explicit about what is being set, and allows
take advantage of zero initialization for the ones the callsite don't
care.
Besides moving to the struct, two extra "ergonomic" changes were done:
- Add a new shader_time boolean, so shader_time_index is ignored when
unused -- this allow taking advantage of the zero initialization of
unset fields.
- Since we have a struct, provide space for the error_str pointer.
Both iris and i965 were using it, and the extra rstrdup in case of
failure shouldn't be a burden for the others.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779 >
2021-03-24 23:18:46 +00:00
Caio Marcelo de Oliveira Filho
84c3d68344
intel/compiler: Make vue_map parameter const for brw_compile_fs
...
Just a documentation hint that the VUE map is not modified.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9779 >
2021-03-24 23:18:46 +00:00
Tony Wasserka
893aab57a8
aco/ra: Avoid unnecessary copying of std::vectors
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9801 >
2021-03-24 22:20:25 +00:00
Eric Anholt
9be24c89c8
freedreno: Clamp TF prims written to buffer size pre-a6xx.
...
I thought based on some previous debug this was going to fix a pile of
dEQPs, but no luck. Still, one less TODO in the driver.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687 >
2021-03-24 21:22:01 +00:00
Eric Anholt
538e5059d0
freedreno: Don't count SW TF queries on a6xx.
...
On a6xx, since we have GS and tess, we do this counting in hardware. The
next fix is going to use some functions that don't work with GS prims.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687 >
2021-03-24 21:22:01 +00:00
Eric Anholt
2e002675db
freedreno: Move the primitives generated/written updates after the draw.
...
If we're going to clamp the written value, we need the max vtx update from
the draw's state emit.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687 >
2021-03-24 21:22:01 +00:00
Eric Anholt
b02d52459f
freedreno: Move max-tf-vtx calculation to just the HW that needs it.
...
a3xx-a4xx use it in in-shader TF code, and all of a3xx-a5xx will need it
shortly for fixing the SW TF queries.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687 >
2021-03-24 21:22:01 +00:00
Eric Anholt
4af6fbb965
freedreno/ir3: Move max-tf-vtx calculation to a .c file
...
This much code should probably be a function.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687 >
2021-03-24 21:22:01 +00:00
Eric Anholt
c29c7f5042
freedreno: Assert that TF prims generated can ignore active_queries.
...
We won't ever be in a meta path with transform feedback enabled, so we
don't need to pay attention to the flag here.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9687 >
2021-03-24 21:22:01 +00:00
Erik Faye-Lund
a95912e9af
zink: check for mirror-clamp extension
...
This cap depends on a device extension.
Fixes: b59d98ae5f
("zink: enable PIPE_CAP_TEXTURE_MIRROR_CLAMP_TO_EDGE")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803 >
2021-03-24 21:12:00 +00:00
Erik Faye-Lund
2644835f03
zink: add missing required feature
...
We check for this feature in zink_is_format_supported, so VK drivers
need to expose it to get BC textures working. Let's document the
reality.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803 >
2021-03-24 21:12:00 +00:00
Erik Faye-Lund
a466c2a783
zink: check for stores and atomics features
...
These limits depens on feature-bits.
Fixes: 322a3d4fb0
("zink: partially enable SSBO pipe cap")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803 >
2021-03-24 21:12:00 +00:00
Erik Faye-Lund
215ff8246f
zink: check for depth-bias-clamp feature
...
This cap depends on a feature-bit.
Fixes: 3d7d55c2cf
("zink: enable PIPE_CAP_POLYGON_OFFSET_CLAMP")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803 >
2021-03-24 21:12:00 +00:00
Erik Faye-Lund
f6f2cbeb44
zink: check for pipeline statistics feature
...
This cap depends on a feature-bit.
Fixes: cb5957e13d
("zink: enable pipeline statistics cap")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9803 >
2021-03-24 21:12:00 +00:00
Tomeu Vizoso
f64ef064de
ci/fdo: Use trimmed traces for Valve games
...
Now that we have trimmed versions of them, we can run them in a more
reasonable amount of time.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9771 >
2021-03-24 20:54:58 +00:00
Eric Anholt
57e00aed8e
iris: Flag for resolves when stencil enable changes, too.
...
The watcher of this dirty flag looks at this state, so it sure seems like
it needs it.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9768 >
2021-03-24 20:38:38 +00:00
Mike Blumenkrantz
bbe5eb43c7
zink: don't generate sampled image type for non-sampled images
...
this creates validation errors
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9802 >
2021-03-24 19:54:20 +00:00
Mike Blumenkrantz
674132dee8
compiler/spirv: use undefs when extending image coords
...
we need 4 components for the nir ops, but swizzling one value to multiple
channels like this gets confusing when trying to debug image ops that don't
require 4 channels
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9723 >
2021-03-24 19:07:19 +00:00
Eric Anholt
52e7297f9c
ci/android: Build the v3dv driver.
...
We want to make sure that this keeps working on Android.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9764 >
2021-03-24 17:25:07 +00:00
Eric Anholt
6d43955941
ci/android: Make sure we don't detect system libexpat.
...
There may be some more elegant way to do things, but the important thing
is that android builds don't have any .pc files we should be using, other
than what our CI generated for zlib.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9764 >
2021-03-24 17:25:07 +00:00
Eric Anholt
3cc390bf7d
broadcom: Disbale CLIF dumping when libexpat isn't available.
...
Given what a niche developer tool CLIF dumps are, no sense requiring
libexpat just for that.
Acked-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9764 >
2021-03-24 17:25:07 +00:00
Eric Anholt
6eee6769e9
turnip: Fix KGSL build since common dispatch rework.
...
Fixes: 59d70c47c7
("turnip: Use the common dispatch framework")
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9764 >
2021-03-24 17:25:07 +00:00
Mike Blumenkrantz
de9f04ca66
zink: add more rp cache asserts
...
ensure that any discrepencies are immediately detected
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9784 >
2021-03-24 17:14:59 +00:00
Mike Blumenkrantz
7892b18acf
zink: remove unnecessary flush during image maps
...
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9786 >
2021-03-24 16:45:41 +00:00
Mike Blumenkrantz
6c35b4c771
zink: remove handling for resource flushing between compute/gfx batches
...
this is no longer a thing
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9786 >
2021-03-24 16:45:41 +00:00
Mike Blumenkrantz
9871c883cc
zink: avoid unnecessary resource refs during descriptor update
...
this was necessary if resources could be on both gfx and compute batches,
but now there's only one type of batch
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9786 >
2021-03-24 16:45:41 +00:00
Tapani Pälli
87de6c3c7d
mesa: check cube completeness for cube fbo attachments
...
When checking framebuffer completeness, we must verify that each cube
attachment is cube complete, e.g. format and size needs to match.
This fixes upcoming CTS framebuffer completeness tests for cubemaps.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9748 >
2021-03-24 16:20:20 +00:00
Mike Blumenkrantz
3d94144d38
zink: add buffer_subdata hook
...
this just sets some flags to help optimize mapping
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9790 >
2021-03-24 16:11:30 +00:00
Mike Blumenkrantz
8dd8754238
zink: explicitly use stream uploader for staging buffers
...
this requires adding an offset member to the transfer struct
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9789 >
2021-03-24 16:00:28 +00:00
Mike Blumenkrantz
a3c65ffa3f
zink: create separate upload mgr for constants
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9789 >
2021-03-24 16:00:28 +00:00
Rhys Perry
a6b367a5af
aco/tests: add tests for denormal-aware propagation
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9079 >
2021-03-24 14:02:41 +00:00
Rhys Perry
e3c283e0bc
aco: use -1.0*x and 1.0*|x| for fneg/fabs
...
Besides -1.0*x being 1 dword smaller than x^0x80000000, this commit also
improves generated code when the application requires that denormals are
flushed.
Future versions of DXVK will require that 32-bit denormals are flushed.
fossil-db (GFX8):
Totals from 21021 (14.22% of 147787) affected shaders:
SGPRs: 1288960 -> 1288944 (-0.00%); split: -0.01%, +0.01%
VGPRs: 792672 -> 792848 (+0.02%); split: -0.01%, +0.03%
CodeSize: 62439228 -> 62403552 (-0.06%); split: -0.11%, +0.05%
MaxWaves: 136182 -> 136181 (-0.00%); split: +0.00%, -0.00%
Instrs: 12230882 -> 12239927 (+0.07%); split: -0.01%, +0.08%
fossil-db (GFX10.3):
Totals from 20191 (13.80% of 146267) affected shaders:
VGPRs: 799992 -> 800032 (+0.01%)
CodeSize: 59763656 -> 59715484 (-0.08%); split: -0.12%, +0.03%
MaxWaves: 525378 -> 525376 (-0.00%)
Instrs: 11511082 -> 11517419 (+0.06%); split: -0.00%, +0.06%
fossil-db (GFX8, d3d float controls):
Totals from 87160 (58.98% of 147787) affected shaders:
SGPRs: 5395072 -> 5408480 (+0.25%); split: -0.06%, +0.31%
VGPRs: 3596716 -> 3581592 (-0.42%); split: -0.55%, +0.13%
CodeSize: 271347396 -> 266814460 (-1.67%); split: -1.67%, +0.00%
MaxWaves: 539669 -> 540400 (+0.14%); split: +0.15%, -0.02%
Instrs: 53395194 -> 52257505 (-2.13%); split: -2.13%, +0.00%
fossil-db (GFX10.3, d3d float controls):
Totals from 82306 (56.27% of 146267) affected shaders:
VGPRs: 3572312 -> 3558848 (-0.38%); split: -0.44%, +0.06%
CodeSize: 273494748 -> 269648968 (-1.41%); split: -1.41%, +0.00%
MaxWaves: 2007156 -> 2009950 (+0.14%); split: +0.15%, -0.01%
Instrs: 52251568 -> 51356424 (-1.71%); split: -1.71%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9079 >
2021-03-24 14:02:41 +00:00
Rhys Perry
561fcfb50f
aco: don't optimize min(a*1.0, ...) to min(a, ...) on GFX8
...
fossil-db (GFX8):
Totals from 2 (0.00% of 147787) affected shaders:
VMEM: 662 -> 642 (-3.02%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9079 >
2021-03-24 14:02:41 +00:00
Mike Blumenkrantz
5313ad8e45
zink: handle gallium multi draws more effectively
...
there's no need to actually call through the whole function, only the
draw calls need to be looped
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9785 >
2021-03-24 12:46:32 +00:00
Mike Blumenkrantz
0daacd1347
zink: ci updates
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783 >
2021-03-24 12:35:18 +00:00
Mike Blumenkrantz
40cc265888
zink: toggle conditional render when beginning/ending a renderpass
...
this resumes the same conditional render which was previously active
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783 >
2021-03-24 12:35:18 +00:00
Mike Blumenkrantz
4e23816243
zink: only update conditional render buffer when it needs to be updated
...
avoid re-fetching data
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783 >
2021-03-24 12:35:18 +00:00
Mike Blumenkrantz
cc90a0c3da
zink: store conditional render predicate to query and split out start/stop
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9783 >
2021-03-24 12:35:18 +00:00
Mike Blumenkrantz
cce1f22ef3
zink: isolate gfx stage bits when updating shader modules
...
ensure that we don't overflow the array here
Fixes: b2247a3724
("zink: add compute programs and pipelines")
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9798 >
2021-03-24 12:22:56 +00:00
Samuel Pitoiset
50b5a9a4a0
anv: use common entrypoints for VK_KHR_create_renderpass2
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601 >
2021-03-24 11:21:53 +00:00
Samuel Pitoiset
d7c5b7398b
lavapipe: use common entrypoints for VK_KHR_create_renderpass2
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601 >
2021-03-24 11:21:53 +00:00
Samuel Pitoiset
2c2ea54020
turnip: use common entrypoints for VK_KHR_create_renderpass2
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Hyunjun Ko <zzoon@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601 >
2021-03-24 11:21:53 +00:00
Samuel Pitoiset
5cb6999bc3
radv: use common entrypoints for VK_KHR_create_renderpass2
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601 >
2021-03-24 11:21:53 +00:00
Samuel Pitoiset
0ce6b625a2
vulkan: add common entrypoints for VK_KHR_create_renderpass2
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9601 >
2021-03-24 11:21:53 +00:00
Rhys Perry
453a97b2cf
ci: add expected fail for RADV
...
This fails for me. It looks like it was missed in d8fa93a707
.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9778 >
2021-03-24 10:58:25 +00:00