Christian Gmeiner
9ec5e9a34e
etnaviv: blt: Don't sRGB-roundtrip same-encoding copies
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
etna_try_blt_blit(..) derived the BLT sRGB decode (on read) and encode
(on write) flags independently from the source and destination formats.
A copy between two sRGB formats - such as the glReadPixels resolve of an
SRGB8_ALPHA8 framebuffer - therefore decoded to linear and re-encoded.
That roundtrip through the hardware is not bit-preserving and loses up
to 2/255 at low values, corrupting the readback of the conversions
r32f, rg32f and rgba32f to srgb8_alpha8.
Apply the sRGB conversion only when the copy crosses the sRGB/linear
boundary. Same-encoding copies stay a plain bit copy.
Fixes dEQP-GLES3.functional.fbo.blit.conversion.{r32f,rg32f,rgba32f}_to_srgb8_alpha8
Fixes: 99400f272d ("etnaviv: blt: Add BLT format conversion support")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41892 >
2026-06-07 21:52:43 +00:00
Gert Wollny
08f801d6db
r600/sfn: Pin alu sources as well when registers are pinned
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:58 +00:00
Gert Wollny
2643e12396
r600/sfn: rename pin_dest_to_chan to pin_registers
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:58 +00:00
Gert Wollny
d49e0074c2
r600/sfn: Add pin_to_chan method to Register and use it
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:58 +00:00
Gert Wollny
3a8a224a74
r600/sfn: Drop unused AssemblerVisitor members
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:58 +00:00
Gert Wollny
a1ba561c6b
r600/sfn: Move ds_opcode_map ownership to fill_bytecode
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:58 +00:00
Gert Wollny
1d7068df22
r600/sfn: Move opcode_map to fill_bytecode, pass EAluOp to emit_bytecode_alu
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:58 +00:00
Gert Wollny
3c0dc36453
r600/sfn: Make emit_alu_op return success status
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:58 +00:00
Gert Wollny
072ddf18d8
r600/sfn: Move LDS ALU emission to fill_bytecode
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
3f61b19b01
r600/sfn: Extract ALU dst state update into AssemblerVisitor
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
800d4d0934
r600/sfn: Handle dst write checks before mova setup split
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
b6c1e1319a
r600/sfn: Extract ALU bytecode emission helper
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
3c2e75573e
r600/sfn: Validate ALU dst writes in emit_alu_op
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
021cbaba7d
r600/sfn: Simplify m_last_addr tracking in emit_alu_op
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
e55dbc7882
r600/sfn: Move last_addr handling out of fill_alu_dst
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
685c01b112
r600/sfn: minor reordering of operations in assembler
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
c11c704f8a
r600/sfn: drop unused literals tracking in assembler
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
0a209a9723
r600/sfn: Move prepare_alu_dst/copy_dst to sfn_fill_bytecode.cpp, rename to fill_alu_dst
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
f3cfcdae45
r600/sfn: Move prepare_alu_src to sfn_fill_bytecode.cpp, rename to fill_alu_src_operands
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
dfc387eb4e
r600/sfn: Move copy_src to sfn_fill_bytecode.cpp, rename to fill_alu_src
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
b03343c7ec
r600/sfn: Move lds_queue_read decrement out of prepare_alu_src to caller
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
4f38659f9e
r600/sfn: use local opcode consistently in emit_alu_op
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
d0fe966735
r600/sfn: use opcode switch in ALU post-emit update
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
f2b8ebdc11
r600/sfn: return LDS opcode properties as tuple
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
7861687c1f
r600/sfn: extract and decouple ALU post-emit state update
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
e6c6319e44
r600/sfn: extract emitting the bytecode of Rat Instr too
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
71533bd54f
r600/sfn: simplify fill bytecode
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
f44ed15a9d
r600/sfn: Drop index register handler in assembler
...
It is no longer used.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
563833962f
r600/sfn: extract some byte code emission from assembler
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
79820b61e2
r600/sfn: use c++ pattern for zero-init of structs
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
dbad0340f3
r600/sfn: de-duplicate emit_wait_ack
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
e802668037
r600/sfn: Refactor AssemblerVisitor emit_alu_op
...
Move some parts out to helper methods and reorder some
instructions.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
68bab95e6a
r600/sfn: Make some member variables references
...
They should never be nullptr.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
7bab7c95f3
r600/sfn: Fix typo with AssemberVisitor
...
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
8496727a74
r600/sfn: refactor CopyPropBackVisitor::visit(AluInstr*)
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
dc726457e2
r600/sfn: extract logging from CopyPropFwdVisitor::visit(AluInstr*)
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
5bef7e168a
r600/sfn: refactor CopyPropFwdVisitor::visit(AluInsr*)
...
v2: drop now unused local variable
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
8dbf11c501
r600/sfn: refactor CopyPropFwdVisitor::propagate_to
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
00801796ae
r600/sfn: deduplicate fixpoint loop for optimizers
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
0f97e4aa79
r600/sfn: deduplicate optimizer logging code
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
1b6526da17
r600/sfn: deduplicate some code in DCE
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
4c21894460
r600/sfn: extract check and report for unscheduled instructions
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
6d681cdb98
r600/sfn: Move exports emission to helper
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
bdcc1afd80
r600/sfn: refactor BlockScheduler::schedule_block
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
8de22efe5c
r600/sfn: extract kcache check out of schedule_alu_to_group_vec
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
3fcd2f106a
r600/sfn: Move tracking of kcache reservation to AluScheduleContext
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
39d7251568
r600/sfn: move tracking of kcache reservation failure to scheduler
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
dfb0e209e9
r600/sfn: make try_kcache_reservation const
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
141e06caca
r600/sfn: split kcache evaluation into try and commit
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00
Gert Wollny
81d359de55
r600/sfn: simplify ALU scheduling failure handling
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945 >
2026-06-07 21:36:57 +00:00