Fix No Borders Bug

If you liked this item, please rate it up on Steam Workshop page.

Author: andy641

Last revision: 17 Apr, 2017 at 12:33 UTC (1)

File size: 2.05 KB

On Steam Workshop

Description:

On Linux with certain older AMD GPUs the empire borders are not visible. This mod contains a fix for the pixel shader that draws the borders.

I have only tested this mod on Arch Linux system with a Radeon HD 6870. I cannot guarantee it will work for any other GPU. Please post your results in the comments below.

I cannot pretend to understand why it works. I got to it by hours of trial and error. If someone has an insight into why it works, please comment below. For some reason the original shader gets rejected by the GPU. I simply rewrote the function AddAreaToID() with a macro to force the compiler to inline it.

#define AddAreaToID(vID, vArea, vTotals, vIDs)
vTotals[0] += vArea * ( 1 – saturate( abs( vIDs[0] – vID ) * 1000 ) );
vTotals[1] += vArea * ( 1 – saturate( abs( vIDs[1] – vID ) * 1000 ) );
vTotals[2] += vArea * ( 1 – saturate( abs( vIDs[2] – vID ) * 1000 ) );
vTotals[3] += vArea * ( 1 – saturate( abs( vIDs[3] – vID ) * 1000 ) );
vTotals[4] += vArea * ( 1 – saturate( abs( vIDs[4] – vID ) * 1000 ) );
vTotals[5] += vArea * ( 1 – saturate( abs( vIDs[5] – vID ) * 1000 ) );
vTotals[6] += vArea * ( 1 – saturate( abs( vIDs[6] – vID ) * 1000 ) );
vTotals[7] += vArea * ( 1 – saturate( abs( vIDs[7] – vID ) * 1000 ) );
vTotals[8] += vArea * ( 1 – saturate( abs( vIDs[8] – vID ) * 1000 ) );

Download
Revisions:

Old revisions of this mod are available below. Click the link to download.