Browse Source

ref_soft: use correct types for pointer arithmetics

pull/2/head
Alibek Omarov 3 years ago
parent
commit
113f18cfb0
  1. 2
      ref_soft/r_edge.c
  2. 2
      ref_soft/r_glblit.c
  3. 8
      ref_soft/r_main.c
  4. 10
      ref_soft/r_rast.c
  5. 2
      ref_soft/r_scan.c

2
ref_soft/r_edge.c

@ -651,7 +651,7 @@ void R_ScanEdges (void)
surf_t *s; surf_t *s;
basespan_p = (espan_t *) basespan_p = (espan_t *)
((unsigned long long)(basespans + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1)); ((uintptr_t)(basespans + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
max_span_p = &basespan_p[MAXSPANS - RI.vrect.width]; max_span_p = &basespan_p[MAXSPANS - RI.vrect.width];
span_p = basespan_p; span_p = basespan_p;

2
ref_soft/r_glblit.c

@ -353,7 +353,7 @@ static qboolean R_CreateBuffer_GLES3( int width, int height, uint *stride, uint
1, 1, 1, 1,
0, 1, 0, 1,
}; };
int vbo, pbo, fbo, to; GLuint vbo, pbo, fbo, to;
// shitty fbo does not work without texture objects :( // shitty fbo does not work without texture objects :(
pglGenTextures( 1, &to ); pglGenTextures( 1, &to );

8
ref_soft/r_main.c

@ -1258,12 +1258,12 @@ void R_DrawBrushModel(cl_entity_t *pent)
else else
{ {
r_edges = (edge_t *) r_edges = (edge_t *)
(((unsigned long long)&ledges[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1)); (((uintptr_t)&ledges[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
} }
if (r_surfsonstack) if (r_surfsonstack)
{ {
surfaces = (surf_t *)(((unsigned long long)&lsurfs[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1)); surfaces = (surf_t *)(((uintptr_t)&lsurfs[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
surf_max = &surfaces[r_cnumsurfs]; surf_max = &surfaces[r_cnumsurfs];
// surface 0 doesn't really exist; it's just a dummy because index 0 // surface 0 doesn't really exist; it's just a dummy because index 0
// is used to indicate no edge attached to surface // is used to indicate no edge attached to surface
@ -1411,12 +1411,12 @@ void R_EdgeDrawing (void)
else else
{ {
r_edges = (edge_t *) r_edges = (edge_t *)
(((unsigned long long)&ledges[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1)); (((uintptr_t)&ledges[0] + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
} }
if (r_surfsonstack) if (r_surfsonstack)
{ {
surfaces = (surf_t *)(((unsigned long long)&lsurfs + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1)); surfaces = (surf_t *)(((uintptr_t)&lsurfs + CACHE_SIZE - 1) & ~(CACHE_SIZE - 1));
surf_max = &surfaces[r_cnumsurfs]; surf_max = &surfaces[r_cnumsurfs];
// surface 0 doesn't really exist; it's just a dummy because index 0 // surface 0 doesn't really exist; it's just a dummy because index 0

10
ref_soft/r_rast.c

@ -521,7 +521,7 @@ void R_EmitCachedEdge (void)
{ {
edge_t *pedge_t; edge_t *pedge_t;
pedge_t = (edge_t *)((unsigned long long)r_edges + r_pedge->cachededgeoffset); pedge_t = (edge_t *)((uintptr_t)r_edges + r_pedge->cachededgeoffset);
if (!pedge_t->surfs[0]) if (!pedge_t->surfs[0])
pedge_t->surfs[0] = surface_p - surfaces; pedge_t->surfs[0] = surface_p - surfaces;
@ -624,9 +624,9 @@ void R_RenderFace (msurface_t *fa, int clipflags)
} }
else else
{ {
if ((((unsigned long long)edge_p - (unsigned long long)r_edges) > if ((((uintptr_t)edge_p - (uintptr_t)r_edges) >
r_pedge->cachededgeoffset) && r_pedge->cachededgeoffset) &&
(((edge_t *)((unsigned long long)r_edges + (((edge_t *)((uintptr_t)r_edges +
r_pedge->cachededgeoffset))->owner == r_pedge)) r_pedge->cachededgeoffset))->owner == r_pedge))
{ {
R_EmitCachedEdge (); R_EmitCachedEdge ();
@ -670,9 +670,9 @@ void R_RenderFace (msurface_t *fa, int clipflags)
{ {
// it's cached if the cached edge is valid and is owned // it's cached if the cached edge is valid and is owned
// by this medge_t // by this medge_t
if ((((unsigned long long)edge_p - (unsigned long long)r_edges) > if ((((uintptr_t)edge_p - (uintptr_t)r_edges) >
r_pedge->cachededgeoffset) && r_pedge->cachededgeoffset) &&
(((edge_t *)((unsigned long long)r_edges + (((edge_t *)((uintptr_t)r_edges +
r_pedge->cachededgeoffset))->owner == r_pedge)) r_pedge->cachededgeoffset))->owner == r_pedge))
{ {
R_EmitCachedEdge (); R_EmitCachedEdge ();

2
ref_soft/r_scan.c

@ -1390,7 +1390,7 @@ void D_DrawZSpans (espan_t *pspan)
// we count on FP exceptions being turned off to avoid range problems // we count on FP exceptions being turned off to avoid range problems
izi = (int)(zi * 0x8000 * 0x10000); izi = (int)(zi * 0x8000 * 0x10000);
if ((unsigned long long)pdest & 0x02) if ((uintptr_t)pdest & 0x02)
{ {
*pdest++ = (short)(izi >> 16); *pdest++ = (short)(izi >> 16);
izi += izistep; izi += izistep;

Loading…
Cancel
Save