GBA Video: Fix rounding issues on Nvidia

This commit is contained in:
Vicki Pfau 2019-05-21 14:26:30 -07:00
parent 84c010783c
commit 57a7a0a291
1 changed files with 3 additions and 3 deletions

View File

@ -404,13 +404,13 @@ static const char* const _renderObj =
"void main() {\n"
" vec2 incoord = texCoord;\n"
" if (mosaic.x > 1) {\n"
" incoord.x = int(clamp(incoord.x - mod(mosaic.z + incoord.x, mosaic.x), 0, dims.z - 1));\n"
" incoord.x = clamp(incoord.x - int(mod(mosaic.z + incoord.x, mosaic.x)), 0, dims.z - 1);\n"
" } else if (mosaic.x < -1) {\n"
" incoord.x = dims.z - incoord.x - 1;"
" incoord.x = clamp(dims.z - int(incoord.x - mod(mosaic.z + incoord.x, -mosaic.x)) - 1, 0, dims.z - 1);\n"
" incoord.x = clamp(dims.z - incoord.x + int(mod(mosaic.z + incoord.x, -mosaic.x)) - 1, 0, dims.z - 1);\n"
" }\n"
" if (mosaic.y > 1) {\n"
" incoord.y = int(clamp(incoord.y - mod(mosaic.w + incoord.y, mosaic.y), 0, dims.w - 1));\n"
" incoord.y = clamp(incoord.y - int(mod(mosaic.w + incoord.y, mosaic.y)), 0, dims.w - 1);\n"
" }\n"
" ivec2 coord = ivec2(transform * (incoord - dims.zw / 2) + dims.xy / 2);\n"
" if ((coord & ~(dims.xy - 1)) != ivec2(0, 0)) {\n"