mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-23 14:50:24 +01:00
swr: [rasterizer] Fix run-time check asserts
One innocuous (uninitialized variable), and one not so innocuous (stack corruption).
This commit is contained in:
parent
257db3610a
commit
9111d63228
2 changed files with 7 additions and 8 deletions
|
|
@ -243,8 +243,8 @@ void ProcessDiscardInvalidateTiles(
|
|||
macroTileEndY = (rect.bottom + macroHeight - 1) / macroHeight;
|
||||
}
|
||||
|
||||
SWR_ASSERT(macroTileEndX < KNOB_NUM_HOT_TILES_X);
|
||||
SWR_ASSERT(macroTileEndY < KNOB_NUM_HOT_TILES_Y);
|
||||
SWR_ASSERT(macroTileEndX <= KNOB_NUM_HOT_TILES_X);
|
||||
SWR_ASSERT(macroTileEndY <= KNOB_NUM_HOT_TILES_Y);
|
||||
|
||||
macroTileEndX = std::min<uint32_t>(macroTileEndX, KNOB_NUM_HOT_TILES_X);
|
||||
macroTileEndY = std::min<uint32_t>(macroTileEndY, KNOB_NUM_HOT_TILES_Y);
|
||||
|
|
|
|||
|
|
@ -146,14 +146,13 @@ float calcDeterminantInt(const __m128i vA, const __m128i vB)
|
|||
//vMul = [A1*B2 - B1*A2]
|
||||
vMul = _mm_sub_epi64(vMul, vMul2);
|
||||
|
||||
// According to emmintrin.h __mm_store1_pd(), address must be 16-byte aligned
|
||||
OSALIGN(int64_t, 16) result;
|
||||
_mm_store1_pd((double*)&result, _mm_castsi128_pd(vMul));
|
||||
int64_t result;
|
||||
_mm_store_sd((double*)&result, _mm_castsi128_pd(vMul));
|
||||
|
||||
double fResult = (double)result;
|
||||
fResult = fResult * (1.0 / FIXED_POINT16_SCALE);
|
||||
double dResult = (double)result;
|
||||
dResult = dResult * (1.0 / FIXED_POINT16_SCALE);
|
||||
|
||||
return (float)fResult;
|
||||
return (float)dResult;
|
||||
}
|
||||
|
||||
INLINE
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue