History log of /external/mesa3d/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
66fcfa6894ab61a8cb70955f4a4113729e4a8099 03-Oct-2016 Iago Toral Quiroga <itoral@igalia.com> i965/vec4: make offset() work in terms of a simd width and scalar components

So that it has the same semantics as the scalar backend implementation. The
helper will now take a simd width (which is always 8 in vec4 mode) and step
as many scalar components as specified by that width, respecting the size of
the scalar channels.

v2 (Curro):
- Remove the assertion in offset(), byte_offset() has the same checks.
- Use byte_offset() directly instead of add_byte_offset().
- Make things more clear by explicitly including the vertical stride
in the byte offset expression.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp
69fdf13c215c2970feaca76f178a5c2c11ba8fec 03-Sep-2016 Francisco Jerez <currojerez@riseup.net> i965/vec4: Replace vec4_instruction::regs_written with ::size_written field in bytes.

The previous regs_written field can be recovered by rewriting each
rvalue reference of regs_written like 'x = i.regs_written' to 'x =
DIV_ROUND_UP(i.size_written, reg_unit)', and each lvalue reference
like 'i.regs_written = x' to 'i.size_written = x * reg_unit'.

For the same reason as in the previous patches, this doesn't attempt
to be particularly clever about simplifying the result in the interest
of keeping the rather lengthy patch as obvious as possible. I'll come
back later to clean up any ugliness introduced here.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp
0c5c2e2c936a933d4e78acb36d1f5e56d020043c 04-Mar-2016 Alejandro Piñeiro <apinheiro@igalia.com> i965/vec4: pass the correct src_sz to emit_send at emit_untyped_atomic

If the src is invalid, so src size is zero, the src_sz passed to emit
send should be zero too, instead of a default 1 if we are in a simd4x2
case. This can happens if using emit_untyped_atomic for an atomic
dec/inc.

v2: use the proper src_sz when calling emit_send, instead of just
avoid loading src at emit_send if BAD_FILE (Francisco Jerez)

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp
f9a9ba5eac2f1934bd7fecc92cd309f22411164b 02-Nov-2015 Matt Turner <mattst88@gmail.com> i965/vec4: Replace src_reg(imm) constructors with brw_imm_*().

Cuts 1.5k of .text.

Reviewed-by: Emil Velikov <emil.velikov@collabora.co.uk>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp
f17c6b90660f4e156e76f4fa333af86cda2a0125 01-Aug-2015 Francisco Jerez <currojerez@riseup.net> i965/vec4: Import surface message builder functions.

Implement helper functions that can be used to construct and send
untyped and typed surface read, write and atomic messages to the
shared dataport unit.

v2: Split from the FS implementation.
v3: Rewrite to avoid evil array_reg, emit_collect and emit_zip.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp
d5503ce39ffb056de8d3c9c78870aa7f1b3432d2 29-Apr-2015 Francisco Jerez <currojerez@riseup.net> i965/vec4: Import helpers to convert vectors into arrays and back.

These functions handle the conversion of a vec4 into the form expected
by the dataport unit in message and message return payloads. The
conversion is not always trivial because some messages don't support
SIMD4x2 for some generations, in which case a strided copy may be
necessary.

v2: Split from the FS implementation.
v3: Rewrite to avoid evil array_reg, emit_collect and emit_zip.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
/external/mesa3d/src/mesa/drivers/dri/i965/brw_vec4_surface_builder.cpp