Marek Olšák
14c933b900
mesa: split _NEW_LIGHT into 3 flags: _NEW_LIGHT_(FF_PROGRAM|CONSTANTS|STATE)
...
_NEW_LIGHT_CONSTANTS: state parameters
_NEW_LIGHT_FF_PROGRAM: keys for fixed-func programs
_NEW_LIGHT_STATE: gallium rasterizer state
This reduces:
- the number of no-op fixed-func program key recomputations
in _mesa_update_state
- the number of no-op rasterizer state updates in st/mesa
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8850 >
2021-02-26 23:38:01 +00:00
Marek Olšák
e4868cd1c4
mesa: move fixed-func-related _mesa_update_state code closer together
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8850 >
2021-02-26 23:38:01 +00:00
Marek Olšák
a9299a9b5e
mesa: remove unnecessary NewState flagging for glPopAttrib(GL_ENABLE_BIT)
...
pop_enable_group calls _mesa_set_enable for every state it changes,
so we don't need do anything else.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8850 >
2021-02-26 23:38:01 +00:00
Bas Nieuwenhuizen
5acc115bd8
ac/rgp: Only report double the prims per clock on GFX10.
...
Misinterpreted review comment.
Fixes: 4ded99f99d
("ac/rgp: report the number of primitives per clock")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9312 >
2021-02-27 00:21:00 +01:00
Rhys Perry
f66a7240f9
nir: fix build at -O1
...
At -O1 with GCC 10.2.1, _nir_visit_dest_indirect (declared ALWAYS_INLINE)
will fail to inline if it's caller (nir_foreach_dest) is not inlined,
because _nir_visit_dest_indirect is passed as a function pointer. This
results in a compilation error.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Reviewed-by: Witold Baryluk <witold.baryluk@gmail.com >
Fixes: 336bcbacd0
("nir: inline nir_foreach_{src,dest}")
Tested-by: Witold Baryluk <witold.baryluk@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4353
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9301 >
2021-02-26 21:54:53 +00:00
Christian Gmeiner
512d281853
gallium: call util_cpu_detect()
...
Fix undefined behavior from using util_cpu_caps.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9311 >
2021-02-26 21:29:44 +00:00
Danylo Piliaiev
d06c1e4554
turnip/ir3: check for bindless IBOs in atomic dests fixup
...
Otherwise destinations may remain unfixed because ir3_shader_nibo
doesn't count bindless IBOs.
Fixes tests:
dEQP-VK.image.atomic_operations.*intermediate_values
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9309 >
2021-02-26 21:13:04 +00:00
Tamara Schmitz
b0fb1c29d1
util: add mesa_glthread for Valheim in OpenGL mode.
...
Drastically reduces hitching when traversing the landscape.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9296 >
2021-02-26 21:25:52 +01:00
Christian Gmeiner
cfd835b45a
etnaviv: extend lower ubo tests
...
Test a full transformation path (load_uniform -> load_ubo -> load_uniform)
and validate the load_uniform offset.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9305 >
2021-02-26 19:52:53 +00:00
Christian Gmeiner
5705ecb6f4
etnaviv: fix etna_nir_lower_ubo_to_uniform pass
...
The restoring of the acutal uniform offset was wrong.
Fixes: 1837135f7c
("etnaviv: nir: add ubo lowering pass")
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Acked-by: Lucas Stach <l.stach@pengutronix.de >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9305 >
2021-02-26 19:52:53 +00:00
Adam Jackson
8248af3070
docs: Document GL_EXT_depth_bounds_test
...
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9287 >
2021-02-26 19:05:34 +00:00
Adam Jackson
5afb3b7f25
softpipe: Implement GL_EXT_depth_bounds_test
...
This is a little bit contorted because the Z storage for the tile is
either float or int depending on the Z format, so we have to be careful
about types when comparing.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9287 >
2021-02-26 19:05:34 +00:00
Adam Jackson
0c55a98330
softpipe: Fix depth comparison with float Z formats
...
We just stuff the Z bits into [bq]zzzz literally for floats, but
comparing those like they're integers only works for == and !=.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9287 >
2021-02-26 19:05:34 +00:00
Adam Jackson
cac0191baa
mesa: Store depth bounds test bounds as GLclampd
...
... instead of truncating to GLfloat. This seems somewhat silly since
the "clamp" part means only values [0.0, 1.0] are defined, but if the
depth buffer is Z32_UNORM then storing as GLfloat means you lose 8 bits
of depth bounds precision. This happens not to matter, yet, since swrast
classic doesn't support Z32_UNORM for depth, and the software gallium
drivers don't support EXT_depth_bounds_test. But the latter part is
about to change.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9287 >
2021-02-26 19:05:34 +00:00
Rob Clark
a9618e7c42
util: Add accessor for util_cpu_caps
...
In release builds, there should be no change, but in debug builds the
assert will help us catch undefined behavior resulting from using
util_cpu_caps before it is initialized.
With fix for u_half_test for MSVC from Jesse Natalie squashed in.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9266 >
2021-02-26 18:31:19 +00:00
Rob Clark
9fb9019beb
util/u_queue: Ensure num_cpu_mask_bits is valid
...
I noticed that we were hitting this before st_create_context() called
util_cpu_detect() and so num_cpu_mask_bits was zero. But there is no
harm in calling util_cpu_detect(), so lets just call it here to be safe.
Fixes: d877451b48
("util/u_queue: add UTIL_QUEUE_INIT_SET_FULL_THREAD_AFFINITY")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9266 >
2021-02-26 18:31:19 +00:00
Samuel Pitoiset
4ded99f99d
ac/rgp: report the number of primitives per clock
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9303 >
2021-02-26 18:05:47 +01:00
Samuel Pitoiset
435bff34e3
ac/rgp: report the number of memory operations per clock
...
So that RGP reports the memory type and the memory throughput.
Based on AMDVLK.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9303 >
2021-02-26 18:05:45 +01:00
Samuel Pitoiset
c2271f66ea
ac/rgp: report LDS size in CU mode on GFX10+
...
RGP expects that.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9303 >
2021-02-26 18:05:43 +01:00
Samuel Pitoiset
ceded1d0a2
ac/rgp: recognize more memory types
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9303 >
2021-02-26 18:05:42 +01:00
Samuel Pitoiset
597f89f20a
include/drm-uapi: bump AMDGPU headers
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9303 >
2021-02-26 18:05:36 +01:00
Gert Wollny
23b87b56b6
r600/sfn: remove old cube texturing code
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9302 >
2021-02-26 15:00:44 +00:00
Gert Wollny
488c93ac11
r600/sfn: use lowering pass for cube textures
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9302 >
2021-02-26 15:00:44 +00:00
Gert Wollny
dc51b75714
r600/sfn: use lower bool to int32 and lower int_tg4 only on shader clone
...
These changes should not be visible to shader variants that may go through
the optimization another time.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9302 >
2021-02-26 15:00:44 +00:00
Gert Wollny
387222c09a
r600/sfn: fix gather with cube lowering
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9302 >
2021-02-26 15:00:44 +00:00
Gert Wollny
510dac76ab
r600/sfn: add lowering pass for cube textures
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9302 >
2021-02-26 15:00:44 +00:00
Gert Wollny
66b67f43c0
r600/sfn: Add support for cube_r600 instruction
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9302 >
2021-02-26 15:00:44 +00:00
Rhys Perry
c3af0c2079
aco: use p_as_uniform for get_sampler_desc and convert_pointer_to_64_bit
...
Since value-numbering no longer works across loops, we no longer need to
use v_readfirstlane_b32.
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/9288 >
2021-02-26 13:33:56 +00:00
Rhys Perry
5f1b354472
aco: calculate all p_as_uniform and v_readfirstlane_b32 sources in WQM
...
We should avoid a situation where a v_readfirstlane_b32 is in WQM but it's
source is calculated in Exact.
Fixes hang when running Assassin's Creed: Valhalla benchmark.
fossil-db (GFX10.3):
Totals from 1021 (0.70% of 146267) affected shaders:
CodeSize: 7835228 -> 7842992 (+0.10%); split: -0.00%, +0.10%
Instrs: 1519208 -> 1521149 (+0.13%); split: -0.00%, +0.13%
SClause: 78921 -> 78920 (-0.00%)
Copies: 44456 -> 45421 (+2.17%); split: -0.05%, +2.22%
Branches: 12987 -> 13933 (+7.28%)
PreSGPRs: 47599 -> 47813 (+0.45%)
Cycles: 10037540 -> 10045304 (+0.08%); split: -0.00%, +0.08%
VMEM: 538381 -> 538777 (+0.07%); split: +0.11%, -0.03%
SMEM: 84553 -> 84554 (+0.00%); split: +0.01%, -0.01%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9288 >
2021-02-26 13:33:56 +00:00
Juan A. Suarez Romero
bb0c659980
ci/piglit: fix parallel piglit results
...
Commit bcea453d4a
removed the summary from the expected piglit
results, but handling of results when using parallel jobs was also doing
the same, which ends up on removing too many lines from results.
Fixes: bcea453d4a
("ci/piglit: Stop including the test counts at the
end of expectations.")
Acked-by: Eric Anholt <eric@anholt.net >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9286 >
2021-02-26 09:12:12 +00:00
Gert Wollny
e5db9c3dd4
nir: Add r600 specific CUBE opcode to evaluate cube texture coords and
...
face
The opcode evaluates tha unnormalized coordinates, the length of the
major axis, and the cube face.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9200 >
2021-02-26 09:51:37 +01:00
Gert Wollny
4f4e1e5ed9
nir: Add flag to tex instruction to indicate lowering cube to array
...
E.g. r600 a cube texture lookup uses a specific cube instruction
to evaluate the sample coordinates and the face ID, so that the cube
texture lookup can be lowered to a array texture lookup, thereby sharing
the code with the 2D array texture lopkup.
However, for TXD the given gradients still need to be three-component
vectors, so add a flag that the NIR validation knows that we deal with
cube texture that was lowered to an array and can validate accordingly.
v2: Handle new flag in serialization (Marek)
v3: Rebase so that the change does not require the patch to deduct the
number of offset and grad components from sampler type
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com > (v2)
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9200 >
2021-02-26 09:51:37 +01:00
Mike Blumenkrantz
b44c48fd21
zink: use pre-fetched format properties everywhere
...
this is a noticeable perf improvement
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9293 >
2021-02-25 17:58:38 -05:00
Mike Blumenkrantz
ee4b844b12
zink: pre-fetch all format properties during screen init
...
this ends up being a tradeoff where we waste a little startup time and
an extra ~4k memory for the overall screen object in exchange for never having
to fetch format properties again, which is a surprisingly expensive call
to be making as much as we have to make it
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9293 >
2021-02-25 17:58:38 -05:00
Kenneth Graunke
5005cbc7ed
i965: Eliminate all tabs except in brw_defines.h
...
For a while we were doing 3-space indent with 8-space tabs, largely
due to the emacs settings of a couple of contributors. We stopped
using tabs a long time ago, and they're just a nuisance at this point.
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:49 +00:00
Kenneth Graunke
95bd5fc463
i965: Rename DRI extension structs to be "brw" instead of "intel"
...
Matching the rest of the driver, and avoiding confusion with i915.
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:49 +00:00
Kenneth Graunke
9591acb7b1
i965: Rename more camel-case functions to brw and underscore style
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:49 +00:00
Kenneth Graunke
7ce41b80cb
i965: Rename some camel-case local variables
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:49 +00:00
Kenneth Graunke
24a5fb7b84
i965: Rename intelInit and brwInit camel-case functions to brw_*
...
The driver style has been to use underscores for internal functions.
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:49 +00:00
Kenneth Graunke
5876d74216
i965: Rename the rest of intel_* functions to brw_*
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:49 +00:00
Kenneth Graunke
d994090e7c
i965: Rename intel_image_format and intel_buffer to brw_*
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:49 +00:00
Kenneth Graunke
d2e38c2648
i965: Rename intel_buffer_object to brw_buffer_object
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:49 +00:00
Kenneth Graunke
b45971e473
i965: Use __func__ in blorp perf_debug macros
...
These had the function name baked into the perf_debug message, which
after a bunch of refactoring, was out of sync with the actual code.
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:49 +00:00
Kenneth Graunke
f28f6175e5
i965: Rename intel_mip* to brw_mip*.
...
With lots of indentation fixes.
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:48 +00:00
Kenneth Graunke
7f1a408407
i965: Rename intel_renderbuffer to brw_renderbuffer
...
For now, keeping the 'irb' name on local variables.
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:48 +00:00
Kenneth Graunke
703084756f
i965: Rename intel_texture_{object,image} to brw_texture_{object,image}
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:48 +00:00
Kenneth Graunke
3733bbe842
i965: Rename intel_screen to brw_screen
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:48 +00:00
Kenneth Graunke
462c9e173c
i965: Rename intel_batchbuffer_* to brw_batch_*.
...
Shorter, matching the convention in iris, and drops use of "intel_"
on i965-specific code that isn't shared.
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:48 +00:00
Kenneth Graunke
a56f4f2b4a
i965: Rename use_intel_mipree_map_blit to use_blitter_to_map
...
Mip...ree? Use a more descriptive name instead of just fixing the typo.
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9207 >
2021-02-25 21:03:48 +00:00
Rob Clark
2ed9dfbe6f
freedreno: Add macro for duration based warns
...
Add a macro to do a perf_debug() if a block of code takes longer than a
specified amount of time.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9264 >
2021-02-25 20:09:44 +00:00