Always zero vectors in start_pipeline().
The lowp start_pipeline() always zeros, and with floats we always zero when compiled as part of Skia, so this just makes the offline float consistent with the others. It's getting confusing to think about which code zeros and which doesn't, and it'd be nicer to be able to rely on zeros. This should change code generation only to the start_pipelines in the .S files. Change-Id: I1178b83c01e609e40dc7912d8d56df8e36eb339d Reviewed-on: https://skia-review.googlesource.com/52001 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
This commit is contained in:
parent
9d5b100d87
commit
abb8bb307c
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -58,32 +58,27 @@ static const size_t N = sizeof(F) / sizeof(float);
|
||||
MAYBE_MSABI
|
||||
extern "C" void WRAP(start_pipeline)(size_t x, size_t y, size_t xlimit, size_t ylimit,
|
||||
void** program) {
|
||||
#if defined(JUMPER_IS_OFFLINE)
|
||||
F v; // Really no need to intialize.
|
||||
#else
|
||||
F v{}; // Compilers tend to whine about this, so it's easiest to just zero.
|
||||
#endif
|
||||
auto start = (Stage*)load_and_inc(program);
|
||||
const size_t x0 = x;
|
||||
for (; y < ylimit; y++) {
|
||||
#if defined(__i386__) || defined(_M_IX86) || defined(__arm__)
|
||||
Params params = { x0,y,0, v,v,v,v };
|
||||
Params params = { x0,y,0, 0,0,0,0 };
|
||||
while (params.x + N <= xlimit) {
|
||||
start(¶ms,program, v,v,v,v);
|
||||
start(¶ms,program, 0,0,0,0);
|
||||
params.x += N;
|
||||
}
|
||||
if (size_t tail = xlimit - params.x) {
|
||||
params.tail = tail;
|
||||
start(¶ms,program, v,v,v,v);
|
||||
start(¶ms,program, 0,0,0,0);
|
||||
}
|
||||
#else
|
||||
x = x0;
|
||||
while (x + N <= xlimit) {
|
||||
start(0,program,x,y, v,v,v,v, v,v,v,v);
|
||||
start(0,program,x,y, 0,0,0,0, 0,0,0,0);
|
||||
x += N;
|
||||
}
|
||||
if (size_t tail = xlimit - x) {
|
||||
start(tail,program,x,y, v,v,v,v, v,v,v,v);
|
||||
start(tail,program,x,y, 0,0,0,0, 0,0,0,0);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user